summaryrefslogtreecommitdiff
path: root/doc/html/boost_asio
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:08:07 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-09-13 11:09:00 +0900
commitb5c87084afaef42b2d058f68091be31988a6a874 (patch)
treeadef9a65870a41181687e11d57fdf98e7629de3c /doc/html/boost_asio
parent34bd32e225e2a8a94104489b31c42e5801cc1f4a (diff)
downloadboost-b5c87084afaef42b2d058f68091be31988a6a874.tar.gz
boost-b5c87084afaef42b2d058f68091be31988a6a874.tar.bz2
boost-b5c87084afaef42b2d058f68091be31988a6a874.zip
Imported Upstream version 1.64.0upstream/1.64.0
Change-Id: Id9212edd016dd55f21172c427aa7894d1d24148b Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/boost_asio')
-rw-r--r--doc/html/boost_asio/async_op1.pngbin0 -> 24084 bytes
-rw-r--r--doc/html/boost_asio/async_op2.pngbin0 -> 25260 bytes
-rw-r--r--doc/html/boost_asio/example/cpp03/allocation/server.cpp238
-rw-r--r--doc/html/boost_asio/example/cpp03/buffers/reference_counted.cpp131
-rw-r--r--doc/html/boost_asio/example/cpp03/chat/chat_client.cpp177
-rw-r--r--doc/html/boost_asio/example/cpp03/chat/chat_message.hpp93
-rw-r--r--doc/html/boost_asio/example/cpp03/chat/chat_server.cpp247
-rw-r--r--doc/html/boost_asio/example/cpp03/chat/posix_chat_client.cpp205
-rw-r--r--doc/html/boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp137
-rw-r--r--doc/html/boost_asio/example/cpp03/echo/async_udp_echo_server.cpp92
-rw-r--r--doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp59
-rw-r--r--doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp80
-rw-r--r--doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp59
-rw-r--r--doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp53
-rw-r--r--doc/html/boost_asio/example/cpp03/fork/daemon.cpp189
-rw-r--r--doc/html/boost_asio/example/cpp03/fork/process_per_connection.cpp160
-rw-r--r--doc/html/boost_asio/example/cpp03/http/client/async_client.cpp205
-rw-r--r--doc/html/boost_asio/example/cpp03/http/client/sync_client.cpp107
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/connection.cpp99
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/connection.hpp83
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/connection_manager.cpp38
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/connection_manager.hpp44
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/header.hpp28
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/main.cpp44
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/mime_types.cpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/mime_types.hpp27
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/reply.cpp256
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/reply.hpp64
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/request.hpp34
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/request_handler.cpp122
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/request_handler.hpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/request_parser.cpp315
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/request_parser.hpp95
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/server.cpp94
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server/server.hpp69
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/connection.cpp93
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/connection.hpp75
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/header.hpp28
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.cpp71
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.hpp56
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/main.cpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/mime_types.cpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/mime_types.hpp27
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/reply.cpp256
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/reply.hpp64
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/request.hpp34
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/request_handler.cpp122
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/request_handler.hpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/request_parser.cpp315
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/request_parser.hpp95
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/server.cpp77
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server2/server.hpp68
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/connection.cpp98
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/connection.hpp78
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/header.hpp28
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/main.cpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/mime_types.cpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/mime_types.hpp27
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/reply.cpp256
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/reply.hpp64
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/request.hpp34
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/request_handler.cpp122
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/request_handler.hpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/request_parser.cpp315
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/request_parser.hpp95
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/server.cpp90
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server3/server.hpp70
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/file_handler.cpp122
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/file_handler.hpp44
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/header.hpp28
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/main.cpp58
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/mime_types.cpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/mime_types.hpp27
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/reply.cpp256
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/reply.hpp64
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/request.hpp46
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/request_parser.cpp226
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/request_parser.hpp78
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/server.cpp121
-rw-r--r--doc/html/boost_asio/example/cpp03/http/server4/server.hpp73
-rw-r--r--doc/html/boost_asio/example/cpp03/icmp/icmp_header.hpp94
-rw-r--r--doc/html/boost_asio/example/cpp03/icmp/ipv4_header.hpp102
-rw-r--r--doc/html/boost_asio/example/cpp03/icmp/ping.cpp162
-rw-r--r--doc/html/boost_asio/example/cpp03/invocation/prioritised_handlers.cpp162
-rw-r--r--doc/html/boost_asio/example/cpp03/iostreams/daytime_client.cpp44
-rw-r--r--doc/html/boost_asio/example/cpp03/iostreams/daytime_server.cpp51
-rw-r--r--doc/html/boost_asio/example/cpp03/iostreams/http_client.cpp91
-rw-r--r--doc/html/boost_asio/example/cpp03/local/connect_pair.cpp142
-rw-r--r--doc/html/boost_asio/example/cpp03/local/iostream_client.cpp62
-rw-r--r--doc/html/boost_asio/example/cpp03/local/stream_client.cpp61
-rw-r--r--doc/html/boost_asio/example/cpp03/local/stream_server.cpp141
-rw-r--r--doc/html/boost_asio/example/cpp03/multicast/receiver.cpp93
-rw-r--r--doc/html/boost_asio/example/cpp03/multicast/sender.cpp99
-rw-r--r--doc/html/boost_asio/example/cpp03/nonblocking/third_party_lib.cpp242
-rw-r--r--doc/html/boost_asio/example/cpp03/porthopper/client.cpp193
-rw-r--r--doc/html/boost_asio/example/cpp03/porthopper/protocol.hpp156
-rw-r--r--doc/html/boost_asio/example/cpp03/porthopper/server.cpp187
-rw-r--r--doc/html/boost_asio/example/cpp03/serialization/client.cpp125
-rw-r--r--doc/html/boost_asio/example/cpp03/serialization/connection.hpp188
-rw-r--r--doc/html/boost_asio/example/cpp03/serialization/server.cpp123
-rw-r--r--doc/html/boost_asio/example/cpp03/serialization/stock.hpp50
-rw-r--r--doc/html/boost_asio/example/cpp03/services/basic_logger.hpp83
-rw-r--r--doc/html/boost_asio/example/cpp03/services/daytime_client.cpp85
-rw-r--r--doc/html/boost_asio/example/cpp03/services/logger.hpp24
-rw-r--r--doc/html/boost_asio/example/cpp03/services/logger_service.cpp17
-rw-r--r--doc/html/boost_asio/example/cpp03/services/logger_service.hpp145
-rw-r--r--doc/html/boost_asio/example/cpp03/services/stream_socket_service.hpp351
-rw-r--r--doc/html/boost_asio/example/cpp03/socks4/socks4.hpp144
-rw-r--r--doc/html/boost_asio/example/cpp03/socks4/sync_client.cpp95
-rw-r--r--doc/html/boost_asio/example/cpp03/spawn/echo_server.cpp122
-rw-r--r--doc/html/boost_asio/example/cpp03/ssl/client.cpp156
-rw-r--r--doc/html/boost_asio/example/cpp03/ssl/server.cpp170
-rw-r--r--doc/html/boost_asio/example/cpp03/timeouts/async_tcp_client.cpp306
-rw-r--r--doc/html/boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp241
-rw-r--r--doc/html/boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp182
-rw-r--r--doc/html/boost_asio/example/cpp03/timeouts/server.cpp427
-rw-r--r--doc/html/boost_asio/example/cpp03/timers/tick_count_timer.cpp123
-rw-r--r--doc/html/boost_asio/example/cpp03/timers/time_t_timer.cpp93
-rw-r--r--doc/html/boost_asio/example/cpp03/windows/transmit_file.cpp171
-rw-r--r--doc/html/boost_asio/example/cpp11/allocation/server.cpp215
-rw-r--r--doc/html/boost_asio/example/cpp11/buffers/reference_counted.cpp123
-rw-r--r--doc/html/boost_asio/example/cpp11/chat/chat_client.cpp167
-rw-r--r--doc/html/boost_asio/example/cpp11/chat/chat_message.hpp91
-rw-r--r--doc/html/boost_asio/example/cpp11/chat/chat_server.cpp229
-rw-r--r--doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp116
-rw-r--r--doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp82
-rw-r--r--doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp55
-rw-r--r--doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp76
-rw-r--r--doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp57
-rw-r--r--doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp52
-rw-r--r--doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp94
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/connection.cpp94
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/connection.hpp79
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/connection_manager.cpp40
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/connection_manager.hpp48
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/header.hpp28
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/main.cpp43
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/mime_types.cpp45
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/mime_types.hpp27
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/reply.cpp255
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/reply.hpp64
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/request.hpp34
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/request_handler.cpp121
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/request_handler.hpp47
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/request_parser.cpp315
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/request_parser.hpp96
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/server.cpp94
-rw-r--r--doc/html/boost_asio/example/cpp11/http/server/server.hpp67
-rw-r--r--doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp108
-rw-r--r--doc/html/boost_asio/examples.html787
-rw-r--r--doc/html/boost_asio/examples/cpp03_examples.html641
-rw-r--r--doc/html/boost_asio/examples/cpp11_examples.html198
-rw-r--r--doc/html/boost_asio/history.html131
-rw-r--r--doc/html/boost_asio/index.html4941
-rw-r--r--doc/html/boost_asio/overview.html194
-rw-r--r--doc/html/boost_asio/overview/core.html84
-rw-r--r--doc/html/boost_asio/overview/core/allocation.html107
-rw-r--r--doc/html/boost_asio/overview/core/async.html288
-rw-r--r--doc/html/boost_asio/overview/core/basics.html173
-rw-r--r--doc/html/boost_asio/overview/core/buffers.html246
-rw-r--r--doc/html/boost_asio/overview/core/coroutine.html91
-rw-r--r--doc/html/boost_asio/overview/core/handler_tracking.html151
-rw-r--r--doc/html/boost_asio/overview/core/line_based.html164
-rw-r--r--doc/html/boost_asio/overview/core/reactor.html85
-rw-r--r--doc/html/boost_asio/overview/core/spawn.html154
-rw-r--r--doc/html/boost_asio/overview/core/strands.html112
-rw-r--r--doc/html/boost_asio/overview/core/streams.html127
-rw-r--r--doc/html/boost_asio/overview/core/threads.html130
-rw-r--r--doc/html/boost_asio/overview/cpp2011.html67
-rw-r--r--doc/html/boost_asio/overview/cpp2011/array.html69
-rw-r--r--doc/html/boost_asio/overview/cpp2011/atomic.html53
-rw-r--r--doc/html/boost_asio/overview/cpp2011/chrono.html67
-rw-r--r--doc/html/boost_asio/overview/cpp2011/futures.html81
-rw-r--r--doc/html/boost_asio/overview/cpp2011/move_handlers.html90
-rw-r--r--doc/html/boost_asio/overview/cpp2011/move_objects.html110
-rw-r--r--doc/html/boost_asio/overview/cpp2011/shared_ptr.html53
-rw-r--r--doc/html/boost_asio/overview/cpp2011/variadic.html55
-rw-r--r--doc/html/boost_asio/overview/implementation.html501
-rw-r--r--doc/html/boost_asio/overview/networking.html60
-rw-r--r--doc/html/boost_asio/overview/networking/bsd_sockets.html562
-rw-r--r--doc/html/boost_asio/overview/networking/iostreams.html120
-rw-r--r--doc/html/boost_asio/overview/networking/other_protocols.html155
-rw-r--r--doc/html/boost_asio/overview/networking/protocols.html208
-rw-r--r--doc/html/boost_asio/overview/posix.html53
-rw-r--r--doc/html/boost_asio/overview/posix/fork.html83
-rw-r--r--doc/html/boost_asio/overview/posix/local.html110
-rw-r--r--doc/html/boost_asio/overview/posix/stream_descriptor.html94
-rw-r--r--doc/html/boost_asio/overview/rationale.html103
-rw-r--r--doc/html/boost_asio/overview/serial_ports.html91
-rw-r--r--doc/html/boost_asio/overview/signals.html82
-rw-r--r--doc/html/boost_asio/overview/ssl.html192
-rw-r--r--doc/html/boost_asio/overview/timers.html95
-rw-r--r--doc/html/boost_asio/overview/windows.html54
-rw-r--r--doc/html/boost_asio/overview/windows/object_handle.html105
-rw-r--r--doc/html/boost_asio/overview/windows/random_access_handle.html88
-rw-r--r--doc/html/boost_asio/overview/windows/stream_handle.html89
-rw-r--r--doc/html/boost_asio/proactor.pngbin0 -> 30877 bytes
-rw-r--r--doc/html/boost_asio/reference.html156371
-rw-r--r--doc/html/boost_asio/reference/AcceptHandler.html90
-rw-r--r--doc/html/boost_asio/reference/AsyncRandomAccessReadDevice.html144
-rw-r--r--doc/html/boost_asio/reference/AsyncRandomAccessWriteDevice.html144
-rw-r--r--doc/html/boost_asio/reference/AsyncReadStream.html140
-rw-r--r--doc/html/boost_asio/reference/AsyncWriteStream.html140
-rw-r--r--doc/html/boost_asio/reference/BufferedHandshakeHandler.html99
-rw-r--r--doc/html/boost_asio/reference/CompletionHandler.html85
-rw-r--r--doc/html/boost_asio/reference/ComposedConnectHandler.html102
-rw-r--r--doc/html/boost_asio/reference/ConnectHandler.html91
-rw-r--r--doc/html/boost_asio/reference/ConstBufferSequence.html244
-rw-r--r--doc/html/boost_asio/reference/ConvertibleToConstBuffer.html225
-rw-r--r--doc/html/boost_asio/reference/ConvertibleToMutableBuffer.html226
-rw-r--r--doc/html/boost_asio/reference/DatagramSocketService.html369
-rw-r--r--doc/html/boost_asio/reference/DescriptorService.html322
-rw-r--r--doc/html/boost_asio/reference/Endpoint.html248
-rw-r--r--doc/html/boost_asio/reference/GettableSerialPortOption.html104
-rw-r--r--doc/html/boost_asio/reference/GettableSocketOption.html178
-rw-r--r--doc/html/boost_asio/reference/HandleService.html300
-rw-r--r--doc/html/boost_asio/reference/Handler.html158
-rw-r--r--doc/html/boost_asio/reference/HandshakeHandler.html92
-rw-r--r--doc/html/boost_asio/reference/InternetProtocol.html173
-rw-r--r--doc/html/boost_asio/reference/IoControlCommand.html113
-rw-r--r--doc/html/boost_asio/reference/IoObjectService.html179
-rw-r--r--doc/html/boost_asio/reference/MutableBufferSequence.html244
-rw-r--r--doc/html/boost_asio/reference/ObjectHandleService.html132
-rw-r--r--doc/html/boost_asio/reference/Protocol.html155
-rw-r--r--doc/html/boost_asio/reference/RandomAccessHandleService.html244
-rw-r--r--doc/html/boost_asio/reference/RawSocketService.html369
-rw-r--r--doc/html/boost_asio/reference/ReadHandler.html97
-rw-r--r--doc/html/boost_asio/reference/ResolveHandler.html100
-rw-r--r--doc/html/boost_asio/reference/ResolverService.html237
-rw-r--r--doc/html/boost_asio/reference/SeqPacketSocketService.html238
-rw-r--r--doc/html/boost_asio/reference/SerialPortService.html562
-rw-r--r--doc/html/boost_asio/reference/Service.html71
-rw-r--r--doc/html/boost_asio/reference/SettableSerialPortOption.html104
-rw-r--r--doc/html/boost_asio/reference/SettableSocketOption.html159
-rw-r--r--doc/html/boost_asio/reference/ShutdownHandler.html91
-rw-r--r--doc/html/boost_asio/reference/SignalHandler.html97
-rw-r--r--doc/html/boost_asio/reference/SignalSetService.html219
-rw-r--r--doc/html/boost_asio/reference/SocketAcceptorService.html575
-rw-r--r--doc/html/boost_asio/reference/SocketService.html667
-rw-r--r--doc/html/boost_asio/reference/StreamDescriptorService.html239
-rw-r--r--doc/html/boost_asio/reference/StreamHandleService.html239
-rw-r--r--doc/html/boost_asio/reference/StreamSocketService.html246
-rw-r--r--doc/html/boost_asio/reference/SyncRandomAccessReadDevice.html139
-rw-r--r--doc/html/boost_asio/reference/SyncRandomAccessWriteDevice.html140
-rw-r--r--doc/html/boost_asio/reference/SyncReadStream.html134
-rw-r--r--doc/html/boost_asio/reference/SyncWriteStream.html135
-rw-r--r--doc/html/boost_asio/reference/TimeTraits.html209
-rw-r--r--doc/html/boost_asio/reference/TimerService.html255
-rw-r--r--doc/html/boost_asio/reference/WaitHandler.html90
-rw-r--r--doc/html/boost_asio/reference/WaitTraits.html96
-rw-r--r--doc/html/boost_asio/reference/WaitableTimerService.html262
-rw-r--r--doc/html/boost_asio/reference/WriteHandler.html97
-rw-r--r--doc/html/boost_asio/reference/add_service.html109
-rw-r--r--doc/html/boost_asio/reference/asio_handler_allocate.html101
-rw-r--r--doc/html/boost_asio/reference/asio_handler_deallocate.html71
-rw-r--r--doc/html/boost_asio/reference/asio_handler_invoke.html114
-rw-r--r--doc/html/boost_asio/reference/asio_handler_invoke/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/asio_handler_invoke/overload2.html53
-rw-r--r--doc/html/boost_asio/reference/asio_handler_is_continuation.html83
-rw-r--r--doc/html/boost_asio/reference/async_connect.html108
-rw-r--r--doc/html/boost_asio/reference/async_connect/overload1.html148
-rw-r--r--doc/html/boost_asio/reference/async_connect/overload2.html146
-rw-r--r--doc/html/boost_asio/reference/async_connect/overload3.html202
-rw-r--r--doc/html/boost_asio/reference/async_connect/overload4.html200
-rw-r--r--doc/html/boost_asio/reference/async_read.html102
-rw-r--r--doc/html/boost_asio/reference/async_read/overload1.html152
-rw-r--r--doc/html/boost_asio/reference/async_read/overload2.html158
-rw-r--r--doc/html/boost_asio/reference/async_read/overload3.html135
-rw-r--r--doc/html/boost_asio/reference/async_read/overload4.html145
-rw-r--r--doc/html/boost_asio/reference/async_read_at.html106
-rw-r--r--doc/html/boost_asio/reference/async_read_at/overload1.html154
-rw-r--r--doc/html/boost_asio/reference/async_read_at/overload2.html163
-rw-r--r--doc/html/boost_asio/reference/async_read_at/overload3.html132
-rw-r--r--doc/html/boost_asio/reference/async_read_at/overload4.html142
-rw-r--r--doc/html/boost_asio/reference/async_read_until.html105
-rw-r--r--doc/html/boost_asio/reference/async_read_until/overload1.html185
-rw-r--r--doc/html/boost_asio/reference/async_read_until/overload2.html185
-rw-r--r--doc/html/boost_asio/reference/async_read_until/overload3.html188
-rw-r--r--doc/html/boost_asio/reference/async_read_until/overload4.html229
-rw-r--r--doc/html/boost_asio/reference/async_result.html146
-rw-r--r--doc/html/boost_asio/reference/async_result/async_result.html55
-rw-r--r--doc/html/boost_asio/reference/async_result/get.html49
-rw-r--r--doc/html/boost_asio/reference/async_result/type.html59
-rw-r--r--doc/html/boost_asio/reference/async_write.html102
-rw-r--r--doc/html/boost_asio/reference/async_write/overload1.html137
-rw-r--r--doc/html/boost_asio/reference/async_write/overload2.html162
-rw-r--r--doc/html/boost_asio/reference/async_write/overload3.html122
-rw-r--r--doc/html/boost_asio/reference/async_write/overload4.html144
-rw-r--r--doc/html/boost_asio/reference/async_write_at.html106
-rw-r--r--doc/html/boost_asio/reference/async_write_at/overload1.html144
-rw-r--r--doc/html/boost_asio/reference/async_write_at/overload2.html169
-rw-r--r--doc/html/boost_asio/reference/async_write_at/overload3.html129
-rw-r--r--doc/html/boost_asio/reference/async_write_at/overload4.html151
-rw-r--r--doc/html/boost_asio/reference/asynchronous_operations.html308
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket.html993
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/assign/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/assign/overload2.html55
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_connect.html116
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_receive.html65
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload2.html107
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from.html66
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload2.html106
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_send.html65
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload2.html106
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_send_to.html66
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload2.html104
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/at_mark.html55
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload2.html78
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/available.html55
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/available/overload1.html78
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/available/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html98
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload3.html90
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload4.html93
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload5.html75
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload6.html80
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/bind/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/bind/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/broadcast.html87
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload2.html114
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/close/overload1.html79
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/close/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/connect.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/connect/overload1.html98
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/connect/overload2.html95
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/io_control.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer_type.html913
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native.html57
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload1.html152
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload2.html167
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload3.html158
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload3.html83
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/open/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/open/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_.html62
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive.html68
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive/overload2.html104
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive/overload3.html96
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive_from.html72
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload1.html112
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload2.html101
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload3.html93
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/receive_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send.html68
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send/overload2.html104
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send/overload3.html96
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send_low_watermark.html86
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send_to.html71
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload1.html112
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload2.html101
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload3.html93
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/set_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload1.html96
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/shutdown.html56
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_datagram_socket/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer.html485
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/async_wait.html96
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer.html67
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload2.html74
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload3.html73
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload1.html99
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload2.html100
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/cancel_one.html55
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload1.html99
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload2.html100
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/duration_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_at.html63
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload2.html109
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload3.html101
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now.html63
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload2.html109
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload3.html101
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/time_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/traits_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/wait.html54
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/wait/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_deadline_timer/wait/overload2.html67
-rw-r--r--doc/html/boost_asio/reference/basic_io_object.html292
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/_basic_io_object.html55
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/basic_io_object.html68
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload1.html55
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload2.html63
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload3.html53
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_implementation/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_implementation/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_io_service.html64
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_service/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/get_service/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/implementation.html50
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/operator_eq_.html63
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/service.html57
-rw-r--r--doc/html/boost_asio/reference/basic_io_object/service_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket.html993
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/assign/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/assign/overload2.html55
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_connect.html116
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_receive.html65
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload2.html107
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_receive_from.html66
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload2.html106
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_send.html64
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_send/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_send/overload2.html106
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_send_to.html66
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload2.html104
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/at_mark.html55
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload2.html78
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/available.html54
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/available/overload1.html78
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/available/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket.html98
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload3.html90
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload4.html93
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload5.html75
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload6.html80
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/bind/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/bind/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/broadcast.html86
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/cancel/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/cancel/overload2.html114
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/close/overload1.html79
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/close/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/connect.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/connect/overload1.html98
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/connect/overload2.html95
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_option/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_option/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/io_control.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/io_control/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/io_control/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/lowest_layer_type.html913
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native.html57
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload1.html152
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload2.html167
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload3.html158
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload3.html83
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/open/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/open/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/operator_eq_.html62
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive.html68
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive/overload2.html104
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive/overload3.html96
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive_from.html71
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload1.html112
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload2.html101
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload3.html93
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/receive_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send.html68
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send/overload1.html112
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send/overload2.html103
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send/overload3.html95
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send_low_watermark.html86
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send_to.html71
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send_to/overload1.html112
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send_to/overload2.html101
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/send_to/overload3.html93
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/set_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/set_option/overload1.html96
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/set_option/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/shutdown.html56
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_raw_socket/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket.html949
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload2.html55
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/async_connect.html116
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive.html66
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload2.html123
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/async_send.html112
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark.html55
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload2.html78
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/available.html55
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload1.html78
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket.html98
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload1.html71
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload3.html90
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload4.html93
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload5.html76
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload6.html80
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/broadcast.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload2.html114
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload1.html79
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/connect.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload1.html98
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload2.html95
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/io_control.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer_type.html913
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native.html57
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload1.html152
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload2.html167
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload3.html158
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload3.html83
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_.html62
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/receive.html74
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload2.html128
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload3.html105
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/receive_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/send.html62
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload1.html110
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload2.html98
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/send_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/set_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload1.html96
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown.html56
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port.html514
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/assign.html57
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/assign/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/assign/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/async_read_some.html117
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/async_write_some.html116
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/basic_serial_port.html81
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload2.html74
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload3.html74
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload4.html88
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload5.html75
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/cancel/overload1.html67
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/cancel/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/close/overload1.html67
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/close/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_option.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_option/overload1.html82
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_option/overload2.html74
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/is_open.html49
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload1.html63
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload2.html63
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/lowest_layer_type.html515
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/native.html54
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/native_handle.html54
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/open/overload1.html79
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/open/overload2.html72
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/operator_eq_.html75
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/read_some.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/read_some/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/read_some/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/send_break.html54
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/send_break/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/send_break/overload2.html67
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/set_option.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/set_option/overload1.html81
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/set_option/overload2.html73
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/write_some.html60
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/write_some/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/basic_serial_port/write_some/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set.html412
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/add.html56
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/add/overload1.html80
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/add/overload2.html72
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/async_wait.html98
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/basic_signal_set.html79
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload1.html68
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload2.html83
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload3.html89
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload4.html95
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/cancel/overload1.html91
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/cancel/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/clear.html54
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/clear/overload1.html73
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/clear/overload2.html74
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/remove.html56
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/remove/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/remove/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_signal_set/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket.html911
-rw-r--r--doc/html/boost_asio/reference/basic_socket/_basic_socket.html50
-rw-r--r--doc/html/boost_asio/reference/basic_socket/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket/assign/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/basic_socket/assign/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket/async_connect.html113
-rw-r--r--doc/html/boost_asio/reference/basic_socket/at_mark.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket/at_mark/overload1.html74
-rw-r--r--doc/html/boost_asio/reference/basic_socket/at_mark/overload2.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket/available.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/available/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket/available/overload2.html76
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket.html97
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket/overload3.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket/overload4.html92
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket/overload5.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket/basic_socket/overload6.html80
-rw-r--r--doc/html/boost_asio/reference/basic_socket/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket/bind/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket/bind/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/broadcast.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_socket/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket/cancel/overload1.html110
-rw-r--r--doc/html/boost_asio/reference/basic_socket/cancel/overload2.html111
-rw-r--r--doc/html/boost_asio/reference/basic_socket/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/close/overload1.html76
-rw-r--r--doc/html/boost_asio/reference/basic_socket/close/overload2.html90
-rw-r--r--doc/html/boost_asio/reference/basic_socket/connect.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket/connect/overload1.html95
-rw-r--r--doc/html/boost_asio/reference/basic_socket/connect/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/basic_socket/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_option.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_option/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_option/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket/io_control.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket/io_control/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket/io_control/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket/is_open.html49
-rw-r--r--doc/html/boost_asio/reference/basic_socket/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/local_endpoint/overload1.html81
-rw-r--r--doc/html/boost_asio/reference/basic_socket/local_endpoint/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket/lowest_layer/overload1.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket/lowest_layer/overload2.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket/lowest_layer_type.html910
-rw-r--r--doc/html/boost_asio/reference/basic_socket/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_handle.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload1.html149
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload2.html164
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload3.html155
-rw-r--r--doc/html/boost_asio/reference/basic_socket/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket/non_blocking/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/basic_socket/non_blocking/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket/non_blocking/overload3.html80
-rw-r--r--doc/html/boost_asio/reference/basic_socket/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket/open/overload1.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/open/overload2.html83
-rw-r--r--doc/html/boost_asio/reference/basic_socket/operator_eq_.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket/operator_eq_/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket/operator_eq_/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_socket/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket/receive_low_watermark.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/remote_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload1.html81
-rw-r--r--doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket/send_low_watermark.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket/set_option.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket/set_option/overload1.html93
-rw-r--r--doc/html/boost_asio/reference/basic_socket/set_option/overload2.html90
-rw-r--r--doc/html/boost_asio/reference/basic_socket/shutdown.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket/shutdown/overload1.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket/shutdown/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor.html852
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/accept.html82
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload3.html100
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload4.html97
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/async_accept.html66
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload1.html112
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html100
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor.html98
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload3.html107
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload4.html93
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload5.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload6.html80
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload1.html90
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload2.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/broadcast.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload1.html68
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload2.html69
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/close/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/close/overload2.html84
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_option.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/io_control.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload1.html93
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload2.html90
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/is_open.html49
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/listen.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload1.html80
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload2.html85
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload1.html81
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_handle.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload1.html73
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload3.html79
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload3.html80
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/open/overload1.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/open/overload2.html84
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/receive_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/send_low_watermark.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/set_option.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload1.html93
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload2.html90
-rw-r--r--doc/html/boost_asio/reference/basic_socket_acceptor/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream.html244
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream.html64
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload2.html61
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/close.html49
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/connect.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/duration_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/error.html71
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/expires_at.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload1.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload1.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/rdbuf.html49
-rw-r--r--doc/html/boost_asio/reference/basic_socket_iostream/time_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf.html1026
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/_basic_socket_streambuf.html50
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload2.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/async_connect.html116
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/at_mark.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload2.html78
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/available.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/available/overload1.html78
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/available/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf.html50
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/broadcast.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload2.html114
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/close.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/close/overload1.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/close/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/connect.html69
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload1.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload2.html70
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload3.html95
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/duration_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/error.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/expires_at.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload1.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload1.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/io_control.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/io_handler.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer_type.html913
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_handle_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload1.html152
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload2.html167
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload3.html158
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/native_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload3.html83
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/open/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/open/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/overflow.html49
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/protocol_type.html62
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/puberror.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/receive_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/send_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/set_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload1.html96
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/setbuf.html50
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/shutdown.html56
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/sync.html48
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/time_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/timer_handler.html58
-rw-r--r--doc/html/boost_asio/reference/basic_socket_streambuf/underflow.html48
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket.html995
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/assign.html58
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/assign/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/assign/overload2.html55
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_connect.html116
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_read_some.html117
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_receive.html64
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload1.html117
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload2.html122
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_send.html64
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_send/overload1.html117
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_send/overload2.html122
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/async_write_some.html116
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/at_mark.html55
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload2.html78
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/available.html55
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/available/overload1.html78
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/available/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket.html98
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload1.html71
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload2.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload3.html90
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload4.html93
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload5.html75
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload6.html80
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/bind.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/bind/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/bind/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/broadcast.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/cancel/overload1.html113
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/cancel/overload2.html114
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/close.html54
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/close/overload1.html79
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/close/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/connect.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/connect/overload1.html98
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/connect/overload2.html95
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/debug.html86
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/do_not_route.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/enable_connection_aborted.html89
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_option/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_option/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/io_control.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/io_control/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/io_control/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/keep_alive.html86
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/linger.html88
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/local_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/lowest_layer_type.html913
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/max_connections.html53
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/message_do_not_route.html53
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/message_end_of_record.html53
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/message_flags.html63
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/message_out_of_band.html52
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/message_peek.html53
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native.html57
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload1.html152
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload2.html167
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload3.html158
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload3.html83
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/open.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/open/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/open/overload2.html86
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/operator_eq_.html62
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload2.html79
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/read_some.html60
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/read_some/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/read_some/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/receive.html71
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/receive/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/receive/overload2.html121
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/receive/overload3.html98
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/receive_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/receive_low_watermark.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint.html54
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/reuse_address.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/send.html68
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/send/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/send/overload2.html120
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/send/overload3.html98
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/send_buffer_size.html87
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/send_low_watermark.html86
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/set_option.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/set_option/overload1.html96
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/set_option/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/shutdown.html56
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/shutdown_type.html78
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/write_some.html60
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/write_some/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/basic_stream_socket/write_some/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf.html359
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/basic_streambuf.html55
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/commit.html72
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/const_buffers_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/consume.html63
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/data.html67
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/max_size.html58
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/mutable_buffers_type.html60
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/overflow.html54
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/prepare.html89
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/reserve.html49
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/size.html67
-rw-r--r--doc/html/boost_asio/reference/basic_streambuf/underflow.html52
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer.html505
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/async_wait.html96
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer.html67
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload2.html74
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload3.html73
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload1.html99
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload2.html100
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/cancel_one.html55
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload1.html99
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload2.html100
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/clock_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/duration.html59
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_at.html63
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload2.html109
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload3.html101
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now.html63
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload2.html109
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload3.html101
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/service.html60
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/time_point.html59
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/traits_type.html59
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/wait.html54
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/wait/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/basic_waitable_timer/wait/overload2.html67
-rw-r--r--doc/html/boost_asio/reference/basic_yield_context.html175
-rw-r--r--doc/html/boost_asio/reference/basic_yield_context/basic_yield_context.html57
-rw-r--r--doc/html/boost_asio/reference/basic_yield_context/callee_type.html69
-rw-r--r--doc/html/boost_asio/reference/basic_yield_context/caller_type.html69
-rw-r--r--doc/html/boost_asio/reference/basic_yield_context/operator_lb__rb_.html69
-rw-r--r--doc/html/boost_asio/reference/buffer.html453
-rw-r--r--doc/html/boost_asio/reference/buffer/overload1.html57
-rw-r--r--doc/html/boost_asio/reference/buffer/overload10.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload11.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload12.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload13.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload14.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload15.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload16.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload17.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload18.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload19.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload2.html63
-rw-r--r--doc/html/boost_asio/reference/buffer/overload20.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload21.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload22.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload23.html73
-rw-r--r--doc/html/boost_asio/reference/buffer/overload24.html74
-rw-r--r--doc/html/boost_asio/reference/buffer/overload25.html73
-rw-r--r--doc/html/boost_asio/reference/buffer/overload26.html74
-rw-r--r--doc/html/boost_asio/reference/buffer/overload27.html69
-rw-r--r--doc/html/boost_asio/reference/buffer/overload28.html75
-rw-r--r--doc/html/boost_asio/reference/buffer/overload3.html57
-rw-r--r--doc/html/boost_asio/reference/buffer/overload4.html63
-rw-r--r--doc/html/boost_asio/reference/buffer/overload5.html58
-rw-r--r--doc/html/boost_asio/reference/buffer/overload6.html58
-rw-r--r--doc/html/boost_asio/reference/buffer/overload7.html65
-rw-r--r--doc/html/boost_asio/reference/buffer/overload8.html66
-rw-r--r--doc/html/boost_asio/reference/buffer/overload9.html65
-rw-r--r--doc/html/boost_asio/reference/buffer_cast.html90
-rw-r--r--doc/html/boost_asio/reference/buffer_cast/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/buffer_cast/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/buffer_copy.html289
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload10.html99
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload11.html99
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload12.html99
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload13.html100
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload14.html100
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload15.html100
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload16.html105
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload17.html105
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload18.html106
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload19.html106
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload2.html97
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload20.html108
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload21.html105
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload22.html105
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload23.html106
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload24.html106
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload25.html108
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload26.html108
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload27.html108
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload28.html109
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload29.html109
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload3.html98
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload30.html109
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload4.html98
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload5.html99
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload6.html97
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload7.html97
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload8.html98
-rw-r--r--doc/html/boost_asio/reference/buffer_copy/overload9.html98
-rw-r--r--doc/html/boost_asio/reference/buffer_size.html80
-rw-r--r--doc/html/boost_asio/reference/buffer_size/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/buffer_size/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffer_size/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/buffer_size/overload4.html50
-rw-r--r--doc/html/boost_asio/reference/buffer_size/overload5.html58
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream.html367
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/async_fill.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/async_read_some.html56
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/async_write_some.html55
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream.html61
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload2.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/close.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/close/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/close/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/default_buffer_size.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/fill.html60
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/fill/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/fill/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/get_io_service.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/in_avail.html55
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/lowest_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/next_layer.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/next_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/peek.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/peek/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/peek/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/read_some.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/read_some/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/read_some/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/write_some.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/write_some/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_read_stream/write_some/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_stream.html363
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/async_fill.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/async_flush.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/async_read_some.html56
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/async_write_some.html55
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/buffered_stream.html62
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/close.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/close/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/close/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/fill.html60
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/fill/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/fill/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/flush.html61
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/flush/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/flush/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/get_io_service.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/in_avail.html55
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/in_avail/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/in_avail/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/lowest_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/next_layer.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/next_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/peek.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/peek/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/peek/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/read_some.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/read_some/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/read_some/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/write_some.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/write_some/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_stream/write_some/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream.html369
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/async_flush.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/async_read_some.html56
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/async_write_some.html55
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream.html61
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload2.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/close.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/close/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/close/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/default_buffer_size.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/flush.html61
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/flush/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/flush/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/get_io_service.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/in_avail.html55
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/lowest_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/next_layer.html49
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/next_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/peek.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/peek/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/peek/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/read_some.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/read_some/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/read_some/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/write_some.html65
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/write_some/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/buffered_write_stream/write_some/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/buffers_begin.html63
-rw-r--r--doc/html/boost_asio/reference/buffers_end.html62
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator.html416
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/begin.html51
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/buffers_iterator.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/difference_type.html60
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/end.html51
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/iterator_category.html59
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator__star_.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_arrow_.html49
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_lb__rb_.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus_.html57
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload1.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload2.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus__eq_.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_.html57
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus_.html57
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload1.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload2.html61
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus__eq_.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_.html57
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/pointer.html65
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/reference.html65
-rw-r--r--doc/html/boost_asio/reference/buffers_iterator/value_type.html59
-rw-r--r--doc/html/boost_asio/reference/connect.html145
-rw-r--r--doc/html/boost_asio/reference/connect/overload1.html118
-rw-r--r--doc/html/boost_asio/reference/connect/overload2.html116
-rw-r--r--doc/html/boost_asio/reference/connect/overload3.html116
-rw-r--r--doc/html/boost_asio/reference/connect/overload4.html114
-rw-r--r--doc/html/boost_asio/reference/connect/overload5.html165
-rw-r--r--doc/html/boost_asio/reference/connect/overload6.html166
-rw-r--r--doc/html/boost_asio/reference/connect/overload7.html162
-rw-r--r--doc/html/boost_asio/reference/connect/overload8.html163
-rw-r--r--doc/html/boost_asio/reference/const_buffer.html156
-rw-r--r--doc/html/boost_asio/reference/const_buffer/const_buffer.html65
-rw-r--r--doc/html/boost_asio/reference/const_buffer/const_buffer/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/const_buffer/const_buffer/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/const_buffer/const_buffer/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/const_buffer/operator_plus_.html58
-rw-r--r--doc/html/boost_asio/reference/const_buffer/operator_plus_/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/const_buffer/operator_plus_/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1.html207
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/begin.html49
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/const_buffers_1.html59
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/const_iterator.html60
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/end.html49
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/operator_plus_.html58
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/const_buffers_1/value_type.html157
-rw-r--r--doc/html/boost_asio/reference/coroutine.html454
-rw-r--r--doc/html/boost_asio/reference/coroutine/coroutine.html49
-rw-r--r--doc/html/boost_asio/reference/coroutine/is_child.html49
-rw-r--r--doc/html/boost_asio/reference/coroutine/is_complete.html50
-rw-r--r--doc/html/boost_asio/reference/coroutine/is_parent.html49
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service.html627
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/assign.html54
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/async_connect.html54
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/async_receive.html56
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/async_receive_from.html58
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/async_send.html56
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/async_send_to.html57
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/at_mark.html52
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/available.html52
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/bind.html51
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/connect.html53
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/converting_move_construct.html56
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/datagram_socket_service.html51
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/get_option.html54
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/implementation_type.html59
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/io_control.html54
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/local_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/non_blocking.html60
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/open.html51
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/receive.html55
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/receive_from.html57
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/remote_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/send.html55
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/send_to.html56
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/set_option.html54
-rw-r--r--doc/html/boost_asio/reference/datagram_socket_service/shutdown.html52
-rw-r--r--doc/html/boost_asio/reference/deadline_timer.html480
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service.html313
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/async_wait.html52
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/cancel_one.html52
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/deadline_timer_service.html51
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/duration_type.html59
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/expires_at.html61
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/expires_from_now.html61
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/time_type.html59
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/traits_type.html59
-rw-r--r--doc/html/boost_asio/reference/deadline_timer_service/wait.html50
-rw-r--r--doc/html/boost_asio/reference/error__addrinfo_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__addrinfo_errors.html79
-rw-r--r--doc/html/boost_asio/reference/error__basic_errors.html240
-rw-r--r--doc/html/boost_asio/reference/error__get_addrinfo_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__get_misc_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__get_netdb_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__get_ssl_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__get_system_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__make_error_code.html76
-rw-r--r--doc/html/boost_asio/reference/error__make_error_code/overload1.html47
-rw-r--r--doc/html/boost_asio/reference/error__make_error_code/overload2.html47
-rw-r--r--doc/html/boost_asio/reference/error__make_error_code/overload3.html47
-rw-r--r--doc/html/boost_asio/reference/error__make_error_code/overload4.html47
-rw-r--r--doc/html/boost_asio/reference/error__make_error_code/overload5.html47
-rw-r--r--doc/html/boost_asio/reference/error__misc_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__misc_errors.html89
-rw-r--r--doc/html/boost_asio/reference/error__netdb_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__netdb_errors.html89
-rw-r--r--doc/html/boost_asio/reference/error__ssl_category.html58
-rw-r--r--doc/html/boost_asio/reference/error__ssl_errors.html58
-rw-r--r--doc/html/boost_asio/reference/error__system_category.html58
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint.html346
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint.html75
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload3.html52
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload4.html50
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/capacity.html50
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/data.html53
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/data/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/data/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/data_type.html60
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq_.html50
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/protocol_type.html60
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/resize.html51
-rw-r--r--doc/html/boost_asio/reference/generic__basic_endpoint/size.html50
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol.html259
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol.html62
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload2.html65
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/endpoint.html344
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/family.html49
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/socket.html992
-rw-r--r--doc/html/boost_asio/reference/generic__datagram_protocol/type.html50
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol.html259
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/endpoint.html344
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/family.html49
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol.html62
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload2.html65
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/socket.html992
-rw-r--r--doc/html/boost_asio/reference/generic__raw_protocol/type.html49
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol.html255
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/endpoint.html344
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/family.html50
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol.html62
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/socket.html947
-rw-r--r--doc/html/boost_asio/reference/generic__seq_packet_protocol/type.html50
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol.html271
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/endpoint.html344
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/family.html49
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/iostream.html239
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/socket.html995
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol.html62
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload2.html65
-rw-r--r--doc/html/boost_asio/reference/generic__stream_protocol/type.html49
-rw-r--r--doc/html/boost_asio/reference/handler_type.html104
-rw-r--r--doc/html/boost_asio/reference/handler_type/type.html59
-rw-r--r--doc/html/boost_asio/reference/has_service.html87
-rw-r--r--doc/html/boost_asio/reference/high_resolution_timer.html508
-rw-r--r--doc/html/boost_asio/reference/invalid_service_owner.html91
-rw-r--r--doc/html/boost_asio/reference/invalid_service_owner/invalid_service_owner.html48
-rw-r--r--doc/html/boost_asio/reference/io_service.html569
-rw-r--r--doc/html/boost_asio/reference/io_service/_io_service.html96
-rw-r--r--doc/html/boost_asio/reference/io_service/add_service.html111
-rw-r--r--doc/html/boost_asio/reference/io_service/dispatch.html107
-rw-r--r--doc/html/boost_asio/reference/io_service/fork_event.html75
-rw-r--r--doc/html/boost_asio/reference/io_service/has_service.html89
-rw-r--r--doc/html/boost_asio/reference/io_service/io_service.html54
-rw-r--r--doc/html/boost_asio/reference/io_service/io_service/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/io_service/io_service/overload2.html67
-rw-r--r--doc/html/boost_asio/reference/io_service/notify_fork.html120
-rw-r--r--doc/html/boost_asio/reference/io_service/poll.html55
-rw-r--r--doc/html/boost_asio/reference/io_service/poll/overload1.html77
-rw-r--r--doc/html/boost_asio/reference/io_service/poll/overload2.html78
-rw-r--r--doc/html/boost_asio/reference/io_service/poll_one.html55
-rw-r--r--doc/html/boost_asio/reference/io_service/poll_one/overload1.html75
-rw-r--r--doc/html/boost_asio/reference/io_service/poll_one/overload2.html76
-rw-r--r--doc/html/boost_asio/reference/io_service/post.html107
-rw-r--r--doc/html/boost_asio/reference/io_service/reset.html70
-rw-r--r--doc/html/boost_asio/reference/io_service/run.html55
-rw-r--r--doc/html/boost_asio/reference/io_service/run/overload1.html106
-rw-r--r--doc/html/boost_asio/reference/io_service/run/overload2.html107
-rw-r--r--doc/html/boost_asio/reference/io_service/run_one.html55
-rw-r--r--doc/html/boost_asio/reference/io_service/run_one/overload1.html82
-rw-r--r--doc/html/boost_asio/reference/io_service/run_one/overload2.html73
-rw-r--r--doc/html/boost_asio/reference/io_service/stop.html61
-rw-r--r--doc/html/boost_asio/reference/io_service/stopped.html64
-rw-r--r--doc/html/boost_asio/reference/io_service/use_service.html92
-rw-r--r--doc/html/boost_asio/reference/io_service/wrap.html105
-rw-r--r--doc/html/boost_asio/reference/io_service__id.html93
-rw-r--r--doc/html/boost_asio/reference/io_service__id/id.html49
-rw-r--r--doc/html/boost_asio/reference/io_service__service.html193
-rw-r--r--doc/html/boost_asio/reference/io_service__service/_service.html49
-rw-r--r--doc/html/boost_asio/reference/io_service__service/fork_service.html55
-rw-r--r--doc/html/boost_asio/reference/io_service__service/get_io_service.html50
-rw-r--r--doc/html/boost_asio/reference/io_service__service/service.html64
-rw-r--r--doc/html/boost_asio/reference/io_service__service/shutdown_service.html50
-rw-r--r--doc/html/boost_asio/reference/io_service__strand.html265
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/_strand.html56
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/dispatch.html88
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/get_io_service.html63
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/post.html84
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/running_in_this_thread.html62
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/strand.html67
-rw-r--r--doc/html/boost_asio/reference/io_service__strand/wrap.html104
-rw-r--r--doc/html/boost_asio/reference/io_service__work.html131
-rw-r--r--doc/html/boost_asio/reference/io_service__work/_work.html54
-rw-r--r--doc/html/boost_asio/reference/io_service__work/get_io_service.html50
-rw-r--r--doc/html/boost_asio/reference/io_service__work/work.html58
-rw-r--r--doc/html/boost_asio/reference/io_service__work/work/overload1.html55
-rw-r--r--doc/html/boost_asio/reference/io_service__work/work/overload2.html55
-rw-r--r--doc/html/boost_asio/reference/ip__address.html377
-rw-r--r--doc/html/boost_asio/reference/ip__address/address.html71
-rw-r--r--doc/html/boost_asio/reference/ip__address/address/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/address/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/address/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/address/overload4.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/from_string.html66
-rw-r--r--doc/html/boost_asio/reference/ip__address/from_string/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address/from_string/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__address/from_string/overload3.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address/from_string/overload4.html52
-rw-r--r--doc/html/boost_asio/reference/ip__address/is_loopback.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/is_multicast.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/is_unspecified.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/is_v4.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/is_v6.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_eq_.html65
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_eq_/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_eq_/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_eq_/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_lt__lt_.html82
-rw-r--r--doc/html/boost_asio/reference/ip__address/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address/to_string.html54
-rw-r--r--doc/html/boost_asio/reference/ip__address/to_string/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/to_string/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address/to_v4.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address/to_v6.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4.html467
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/address_v4.html71
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/address_v4/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/address_v4/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/address_v4/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/address_v4/overload4.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/any.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/broadcast.html60
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/broadcast/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/broadcast/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/bytes_type.html68
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/from_string.html66
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/from_string/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/from_string/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/from_string/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/from_string/overload4.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/is_class_a.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/is_class_b.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/is_class_c.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/is_loopback.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/is_multicast.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/is_unspecified.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/loopback.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/netmask.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_eq_.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_.html82
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/to_bytes.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/to_string.html54
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/to_string/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/to_string/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v4/to_ulong.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6.html543
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/address_v6.html65
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/address_v6/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/address_v6/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/address_v6/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/any.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/bytes_type.html68
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/from_string.html65
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/from_string/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/from_string/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/from_string/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/from_string/overload4.html51
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_link_local.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_loopback.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_multicast.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_multicast_global.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_multicast_link_local.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_multicast_node_local.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_multicast_org_local.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_multicast_site_local.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_site_local.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_unspecified.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_v4_compatible.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/is_v4_mapped.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/loopback.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_eq_.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_.html82
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/scope_id.html54
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/scope_id/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/scope_id/overload2.html53
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/to_bytes.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/to_string.html54
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/to_string/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/to_string/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/to_v4.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/v4_compatible.html50
-rw-r--r--doc/html/boost_asio/reference/ip__address_v6/v4_mapped.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint.html410
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/address.html57
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/address/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/address/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint.html77
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload2.html67
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload3.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload4.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/capacity.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/data.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/data/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/data/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/data_type.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__lt_.html79
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/port.html59
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/port/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/port/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/resize.html51
-rw-r--r--doc/html/boost_asio/reference/ip__basic_endpoint/size.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver.html365
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/async_resolve.html65
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload1.html102
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload2.html103
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver.html68
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/cancel.html56
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_service.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/iterator.html307
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/query.html320
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/resolve.html69
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload1.html99
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload3.html100
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload4.html92
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/service.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry.html211
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry.html59
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint_type.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/operator_endpoint_type.html51
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/protocol_type.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator.html308
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/create.html75
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload3.html55
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/difference_type.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/iterator_category.html59
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator__star_.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_arrow_.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_.html57
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/pointer.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/reference.html212
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_iterator/value_type.html211
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query.html322
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/address_configured.html54
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/all_matching.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query.html81
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload1.html84
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload2.html90
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload3.html102
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload4.html108
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/canonical_name.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/flags.html62
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/hints.html49
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/host_name.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_host.html54
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_service.html54
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/passive.html53
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/protocol_type.html60
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/service_name.html50
-rw-r--r--doc/html/boost_asio/reference/ip__basic_resolver_query/v4_mapped.html53
-rw-r--r--doc/html/boost_asio/reference/ip__host_name.html64
-rw-r--r--doc/html/boost_asio/reference/ip__host_name/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/ip__host_name/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/ip__icmp.html266
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/endpoint.html408
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/family.html49
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/resolver.html362
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/socket.html991
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/type.html49
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/v4.html49
-rw-r--r--doc/html/boost_asio/reference/ip__icmp/v6.html49
-rw-r--r--doc/html/boost_asio/reference/ip__multicast__enable_loopback.html85
-rw-r--r--doc/html/boost_asio/reference/ip__multicast__hops.html84
-rw-r--r--doc/html/boost_asio/reference/ip__multicast__join_group.html77
-rw-r--r--doc/html/boost_asio/reference/ip__multicast__leave_group.html77
-rw-r--r--doc/html/boost_asio/reference/ip__multicast__outbound_interface.html77
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base.html244
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/_resolver_query_base.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/address_configured.html51
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/all_matching.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/canonical_name.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/flags.html59
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/numeric_host.html51
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/numeric_service.html51
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/passive.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_query_base/v4_mapped.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service.html294
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/async_resolve.html67
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/cancel.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/implementation_type.html59
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/iterator_type.html307
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/query_type.html320
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/resolve.html62
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/resolve/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/resolve/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/ip__resolver_service/resolver_service.html51
-rw-r--r--doc/html/boost_asio/reference/ip__tcp.html302
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/acceptor.html848
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/endpoint.html408
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/family.html49
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/iostream.html239
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/no_delay.html83
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/resolver.html362
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/socket.html994
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/type.html49
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/v4.html49
-rw-r--r--doc/html/boost_asio/reference/ip__tcp/v6.html49
-rw-r--r--doc/html/boost_asio/reference/ip__udp.html266
-rw-r--r--doc/html/boost_asio/reference/ip__udp/endpoint.html408
-rw-r--r--doc/html/boost_asio/reference/ip__udp/family.html49
-rw-r--r--doc/html/boost_asio/reference/ip__udp/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__udp/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/ip__udp/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/ip__udp/resolver.html362
-rw-r--r--doc/html/boost_asio/reference/ip__udp/socket.html991
-rw-r--r--doc/html/boost_asio/reference/ip__udp/type.html49
-rw-r--r--doc/html/boost_asio/reference/ip__udp/v4.html49
-rw-r--r--doc/html/boost_asio/reference/ip__udp/v6.html49
-rw-r--r--doc/html/boost_asio/reference/ip__unicast__hops.html84
-rw-r--r--doc/html/boost_asio/reference/ip__v6_only.html84
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_.html89
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_/value.html49
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_.html89
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_/value.html49
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html89
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html49
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_.html89
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_/value.html49
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_.html89
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_/value.html49
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_.html89
-rw-r--r--doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_/value.html49
-rw-r--r--doc/html/boost_asio/reference/is_match_condition.html95
-rw-r--r--doc/html/boost_asio/reference/is_match_condition/value.html50
-rw-r--r--doc/html/boost_asio/reference/is_read_buffered.html98
-rw-r--r--doc/html/boost_asio/reference/is_read_buffered/value.html50
-rw-r--r--doc/html/boost_asio/reference/is_write_buffered.html98
-rw-r--r--doc/html/boost_asio/reference/is_write_buffered/value.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint.html385
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint.html68
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload4.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/capacity.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/data.html53
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/data/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/data/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/data_type.html60
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_eq_.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_eq__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_gt_.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_gt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_lt_.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__lt_.html79
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/operator_not__eq_.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/path.html61
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/path/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/path/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/path/overload3.html50
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/protocol_type.html60
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/resize.html51
-rw-r--r--doc/html/boost_asio/reference/local__basic_endpoint/size.html50
-rw-r--r--doc/html/boost_asio/reference/local__connect_pair.html76
-rw-r--r--doc/html/boost_asio/reference/local__connect_pair/overload1.html55
-rw-r--r--doc/html/boost_asio/reference/local__connect_pair/overload2.html56
-rw-r--r--doc/html/boost_asio/reference/local__datagram_protocol.html182
-rw-r--r--doc/html/boost_asio/reference/local__datagram_protocol/endpoint.html384
-rw-r--r--doc/html/boost_asio/reference/local__datagram_protocol/family.html49
-rw-r--r--doc/html/boost_asio/reference/local__datagram_protocol/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/local__datagram_protocol/socket.html992
-rw-r--r--doc/html/boost_asio/reference/local__datagram_protocol/type.html49
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol.html206
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/acceptor.html850
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/endpoint.html384
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/family.html49
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/iostream.html239
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/protocol.html49
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/socket.html995
-rw-r--r--doc/html/boost_asio/reference/local__stream_protocol/type.html49
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer.html151
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer/mutable_buffer.html58
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer/operator_plus_.html58
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1.html208
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/begin.html49
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/const_iterator.html60
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/end.html50
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1.html60
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload1.html51
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_.html58
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload1.html54
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/mutable_buffers_1/value_type.html154
-rw-r--r--doc/html/boost_asio/reference/null_buffers.html156
-rw-r--r--doc/html/boost_asio/reference/null_buffers/begin.html49
-rw-r--r--doc/html/boost_asio/reference/null_buffers/const_iterator.html60
-rw-r--r--doc/html/boost_asio/reference/null_buffers/end.html49
-rw-r--r--doc/html/boost_asio/reference/null_buffers/value_type.html154
-rw-r--r--doc/html/boost_asio/reference/placeholders__bytes_transferred.html61
-rw-r--r--doc/html/boost_asio/reference/placeholders__error.html61
-rw-r--r--doc/html/boost_asio/reference/placeholders__iterator.html61
-rw-r--r--doc/html/boost_asio/reference/placeholders__signal_number.html61
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor.html508
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/_basic_descriptor.html50
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/assign.html57
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor.html68
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload3.html75
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload1.html67
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/close.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/close/overload1.html68
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/close/overload2.html69
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/io_control.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload1.html94
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/is_open.html49
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload1.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload2.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer_type.html507
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_handle.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload1.html73
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload3.html79
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking.html62
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload3.html80
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/operator_eq_.html75
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/release.html59
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/service.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_descriptor/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor.html543
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign.html57
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_read_some.html117
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_write_some.html116
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor.html68
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload1.html71
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload3.html76
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/bytes_readable.html76
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/close.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload1.html71
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload2.html72
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control.html57
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload1.html97
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload2.html94
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/is_open.html53
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer.html57
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer_type.html510
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native.html57
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload1.html76
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload3.html82
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload1.html72
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload2.html91
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload3.html83
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking_io.html75
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/operator_eq_.html75
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/release.html62
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/service.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some.html60
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/posix__descriptor_base.html145
-rw-r--r--doc/html/boost_asio/reference/posix__descriptor_base/_descriptor_base.html50
-rw-r--r--doc/html/boost_asio/reference/posix__descriptor_base/bytes_readable.html73
-rw-r--r--doc/html/boost_asio/reference/posix__descriptor_base/non_blocking_io.html72
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor.html542
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service.html425
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/assign.html53
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/async_read_some.html55
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/async_write_some.html55
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/construct.html51
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/io_control.html55
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/is_open.html51
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle.html51
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/read_some.html54
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/release.html51
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/stream_descriptor_service.html51
-rw-r--r--doc/html/boost_asio/reference/posix__stream_descriptor_service/write_some.html54
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service.html626
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/assign.html53
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/async_connect.html54
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/async_receive.html56
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/async_receive_from.html58
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/async_send.html56
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/async_send_to.html57
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/at_mark.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/available.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/bind.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/connect.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/converting_move_construct.html56
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/get_option.html54
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/implementation_type.html59
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/io_control.html54
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/local_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/move_assign.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/move_construct.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native_non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/non_blocking.html60
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/open.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/raw_socket_service.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/receive.html55
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/receive_from.html57
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/remote_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/send.html55
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/send_to.html56
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/set_option.html54
-rw-r--r--doc/html/boost_asio/reference/raw_socket_service/shutdown.html52
-rw-r--r--doc/html/boost_asio/reference/read.html133
-rw-r--r--doc/html/boost_asio/reference/read/overload1.html136
-rw-r--r--doc/html/boost_asio/reference/read/overload2.html128
-rw-r--r--doc/html/boost_asio/reference/read/overload3.html148
-rw-r--r--doc/html/boost_asio/reference/read/overload4.html126
-rw-r--r--doc/html/boost_asio/reference/read/overload5.html120
-rw-r--r--doc/html/boost_asio/reference/read/overload6.html112
-rw-r--r--doc/html/boost_asio/reference/read/overload7.html131
-rw-r--r--doc/html/boost_asio/reference/read/overload8.html124
-rw-r--r--doc/html/boost_asio/reference/read_at.html142
-rw-r--r--doc/html/boost_asio/reference/read_at/overload1.html143
-rw-r--r--doc/html/boost_asio/reference/read_at/overload2.html136
-rw-r--r--doc/html/boost_asio/reference/read_at/overload3.html155
-rw-r--r--doc/html/boost_asio/reference/read_at/overload4.html133
-rw-r--r--doc/html/boost_asio/reference/read_at/overload5.html122
-rw-r--r--doc/html/boost_asio/reference/read_at/overload6.html114
-rw-r--r--doc/html/boost_asio/reference/read_at/overload7.html133
-rw-r--r--doc/html/boost_asio/reference/read_at/overload8.html126
-rw-r--r--doc/html/boost_asio/reference/read_until.html138
-rw-r--r--doc/html/boost_asio/reference/read_until/overload1.html163
-rw-r--r--doc/html/boost_asio/reference/read_until/overload2.html118
-rw-r--r--doc/html/boost_asio/reference/read_until/overload3.html163
-rw-r--r--doc/html/boost_asio/reference/read_until/overload4.html118
-rw-r--r--doc/html/boost_asio/reference/read_until/overload5.html165
-rw-r--r--doc/html/boost_asio/reference/read_until/overload6.html120
-rw-r--r--doc/html/boost_asio/reference/read_until/overload7.html213
-rw-r--r--doc/html/boost_asio/reference/read_until/overload8.html151
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service.html585
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/assign.html54
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/async_connect.html54
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/async_receive.html57
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/async_send.html56
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/at_mark.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/available.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/bind.html53
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/connect.html53
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/construct.html51
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/converting_move_construct.html56
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/get_option.html54
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/io_control.html55
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/local_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/open.html52
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/receive.html56
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/remote_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/send.html55
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/seq_packet_socket_service.html51
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/set_option.html54
-rw-r--r--doc/html/boost_asio/reference/seq_packet_socket_service/shutdown.html52
-rw-r--r--doc/html/boost_asio/reference/serial_port.html512
-rw-r--r--doc/html/boost_asio/reference/serial_port_base.html179
-rw-r--r--doc/html/boost_asio/reference/serial_port_base/_serial_port_base.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__baud_rate.html122
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__baud_rate/baud_rate.html49
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__baud_rate/load.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__baud_rate/store.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__baud_rate/value.html48
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__character_size.html122
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__character_size/character_size.html49
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__character_size/load.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__character_size/store.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__character_size/value.html48
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__flow_control.html153
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__flow_control/flow_control.html49
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__flow_control/load.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__flow_control/store.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__flow_control/type.html68
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__flow_control/value.html48
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__parity.html153
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__parity/load.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__parity/parity.html49
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__parity/store.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__parity/type.html68
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__parity/value.html48
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__stop_bits.html153
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__stop_bits/load.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__stop_bits/stop_bits.html49
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__stop_bits/store.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__stop_bits/type.html68
-rw-r--r--doc/html/boost_asio/reference/serial_port_base__stop_bits/value.html48
-rw-r--r--doc/html/boost_asio/reference/serial_port_service.html418
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/assign.html52
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/async_read_some.html55
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/async_write_some.html55
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/get_option.html54
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/implementation_type.html59
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/move_assign.html52
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/move_construct.html51
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/open.html52
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/read_some.html54
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/send_break.html51
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/serial_port_service.html51
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/set_option.html54
-rw-r--r--doc/html/boost_asio/reference/serial_port_service/write_some.html54
-rw-r--r--doc/html/boost_asio/reference/service_already_exists.html90
-rw-r--r--doc/html/boost_asio/reference/service_already_exists/service_already_exists.html48
-rw-r--r--doc/html/boost_asio/reference/signal_set.html411
-rw-r--r--doc/html/boost_asio/reference/signal_set_service.html257
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/add.html52
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/async_wait.html52
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/clear.html51
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/implementation_type.html59
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/remove.html52
-rw-r--r--doc/html/boost_asio/reference/signal_set_service/signal_set_service.html51
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service.html501
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/accept.html57
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/assign.html54
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/async_accept.html58
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/bind.html53
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/converting_move_construct.html56
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/get_option.html54
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/io_control.html54
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/listen.html53
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/local_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/non_blocking.html60
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/open.html52
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/set_option.html54
-rw-r--r--doc/html/boost_asio/reference/socket_acceptor_service/socket_acceptor_service.html51
-rw-r--r--doc/html/boost_asio/reference/socket_base.html388
-rw-r--r--doc/html/boost_asio/reference/socket_base/_socket_base.html50
-rw-r--r--doc/html/boost_asio/reference/socket_base/broadcast.html83
-rw-r--r--doc/html/boost_asio/reference/socket_base/bytes_readable.html73
-rw-r--r--doc/html/boost_asio/reference/socket_base/debug.html83
-rw-r--r--doc/html/boost_asio/reference/socket_base/do_not_route.html84
-rw-r--r--doc/html/boost_asio/reference/socket_base/enable_connection_aborted.html86
-rw-r--r--doc/html/boost_asio/reference/socket_base/keep_alive.html83
-rw-r--r--doc/html/boost_asio/reference/socket_base/linger.html85
-rw-r--r--doc/html/boost_asio/reference/socket_base/max_connections.html50
-rw-r--r--doc/html/boost_asio/reference/socket_base/message_do_not_route.html50
-rw-r--r--doc/html/boost_asio/reference/socket_base/message_end_of_record.html50
-rw-r--r--doc/html/boost_asio/reference/socket_base/message_flags.html60
-rw-r--r--doc/html/boost_asio/reference/socket_base/message_out_of_band.html49
-rw-r--r--doc/html/boost_asio/reference/socket_base/message_peek.html50
-rw-r--r--doc/html/boost_asio/reference/socket_base/non_blocking_io.html72
-rw-r--r--doc/html/boost_asio/reference/socket_base/receive_buffer_size.html84
-rw-r--r--doc/html/boost_asio/reference/socket_base/receive_low_watermark.html83
-rw-r--r--doc/html/boost_asio/reference/socket_base/reuse_address.html84
-rw-r--r--doc/html/boost_asio/reference/socket_base/send_buffer_size.html84
-rw-r--r--doc/html/boost_asio/reference/socket_base/send_low_watermark.html83
-rw-r--r--doc/html/boost_asio/reference/socket_base/shutdown_type.html75
-rw-r--r--doc/html/boost_asio/reference/spawn.html122
-rw-r--r--doc/html/boost_asio/reference/spawn/overload1.html93
-rw-r--r--doc/html/boost_asio/reference/spawn/overload2.html89
-rw-r--r--doc/html/boost_asio/reference/spawn/overload3.html86
-rw-r--r--doc/html/boost_asio/reference/spawn/overload4.html86
-rw-r--r--doc/html/boost_asio/reference/ssl__context.html610
-rw-r--r--doc/html/boost_asio/reference/ssl__context/_context.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html57
-rw-r--r--doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload2.html81
-rw-r--r--doc/html/boost_asio/reference/ssl__context/add_verify_path.html57
-rw-r--r--doc/html/boost_asio/reference/ssl__context/add_verify_path/overload1.html90
-rw-r--r--doc/html/boost_asio/reference/ssl__context/add_verify_path/overload2.html82
-rw-r--r--doc/html/boost_asio/reference/ssl__context/clear_options.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__context/clear_options/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/clear_options/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context/context.html66
-rw-r--r--doc/html/boost_asio/reference/ssl__context/context/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__context/context/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/ssl__context/context/overload3.html77
-rw-r--r--doc/html/boost_asio/reference/ssl__context/default_workarounds.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/file_format.html70
-rw-r--r--doc/html/boost_asio/reference/ssl__context/impl.html55
-rw-r--r--doc/html/boost_asio/reference/ssl__context/impl_type.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__context/load_verify_file.html57
-rw-r--r--doc/html/boost_asio/reference/ssl__context/load_verify_file/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/load_verify_file/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context/method.html165
-rw-r--r--doc/html/boost_asio/reference/ssl__context/native_handle.html55
-rw-r--r--doc/html/boost_asio/reference/ssl__context/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__context/no_compression.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__context/no_sslv2.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/no_sslv3.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/no_tlsv1.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/no_tlsv1_1.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/no_tlsv1_2.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/operator_eq_.html77
-rw-r--r--doc/html/boost_asio/reference/ssl__context/options.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__context/password_purpose.html70
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_default_verify_paths.html55
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload1.html74
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload2.html75
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_options.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_options/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_options/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_password_callback.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_password_callback/overload1.html100
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_password_callback/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_callback.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload1.html101
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_depth.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_mode.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context/single_dh_use.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate/overload2.html84
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_chain.html57
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload2.html81
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_file.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload1.html91
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload2.html83
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_private_key.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_private_key/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_private_key/overload2.html84
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_private_key_file.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload1.html91
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload2.html83
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_rsa_private_key.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload1.html93
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload2.html85
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload1.html92
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload2.html84
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html57
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload2.html81
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file.html57
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base.html288
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/_context_base.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/default_workarounds.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/file_format.html70
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/method.html165
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/no_compression.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/no_sslv2.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/no_sslv3.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/no_tlsv1.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_1.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_2.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/options.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/password_purpose.html70
-rw-r--r--doc/html/boost_asio/reference/ssl__context_base/single_dh_use.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__error__get_stream_category.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__error__make_error_code.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__error__stream_category.html58
-rw-r--r--doc/html/boost_asio/reference/ssl__error__stream_errors.html75
-rw-r--r--doc/html/boost_asio/reference/ssl__rfc2818_verification.html173
-rw-r--r--doc/html/boost_asio/reference/ssl__rfc2818_verification/operator_lp__rp_.html51
-rw-r--r--doc/html/boost_asio/reference/ssl__rfc2818_verification/result_type.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__rfc2818_verification/rfc2818_verification.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__stream.html429
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/_stream.html49
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/async_handshake.html63
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/async_handshake/overload1.html85
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/async_handshake/overload2.html95
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/async_read_some.html99
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/async_shutdown.html79
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/async_write_some.html98
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/get_io_service.html63
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/handshake.html71
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/handshake/overload1.html81
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/handshake/overload2.html73
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/handshake/overload3.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/handshake/overload4.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/handshake_type.html70
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/impl.html55
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/impl_type.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/lowest_layer.html53
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload1.html62
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload2.html62
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/lowest_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/native_handle.html77
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/next_layer.html53
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/next_layer/overload1.html62
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/next_layer/overload2.html62
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/next_layer_type.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/read_some.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/read_some/overload1.html101
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/read_some/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_callback.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload1.html101
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_depth.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload1.html88
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload2.html80
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_mode.html56
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload1.html89
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload2.html81
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/shutdown.html54
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/shutdown/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/shutdown/overload2.html67
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/stream.html74
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/write_some.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/write_some/overload1.html100
-rw-r--r--doc/html/boost_asio/reference/ssl__stream/write_some/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/ssl__stream__impl_struct.html90
-rw-r--r--doc/html/boost_asio/reference/ssl__stream__impl_struct/ssl.html48
-rw-r--r--doc/html/boost_asio/reference/ssl__stream_base.html129
-rw-r--r--doc/html/boost_asio/reference/ssl__stream_base/_stream_base.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__stream_base/handshake_type.html70
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_client_once.html61
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_context.html151
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_context/native_handle.html55
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_context/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_context/verify_context.html50
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_fail_if_no_peer_cert.html61
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_mode.html76
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_none.html59
-rw-r--r--doc/html/boost_asio/reference/ssl__verify_peer.html59
-rw-r--r--doc/html/boost_asio/reference/steady_timer.html508
-rw-r--r--doc/html/boost_asio/reference/strand.html267
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service.html583
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/assign.html54
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/async_connect.html54
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/async_receive.html56
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/async_send.html56
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/at_mark.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/available.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/bind.html53
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/connect.html53
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/converting_move_construct.html56
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/endpoint_type.html59
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/get_option.html54
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/implementation_type.html59
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/io_control.html54
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/local_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/move_construct.html51
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native_non_blocking.html61
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/non_blocking.html60
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/open.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/protocol_type.html59
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/receive.html55
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/remote_endpoint.html51
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/send.html55
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/set_option.html54
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/shutdown.html52
-rw-r--r--doc/html/boost_asio/reference/stream_socket_service/stream_socket_service.html51
-rw-r--r--doc/html/boost_asio/reference/streambuf.html358
-rw-r--r--doc/html/boost_asio/reference/system_timer.html508
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_.html193
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/add.html52
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/duration_type.html61
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/less_than.html53
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/now.html50
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/subtract.html53
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/time_type.html60
-rw-r--r--doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/to_posix_duration.html52
-rw-r--r--doc/html/boost_asio/reference/transfer_all.html86
-rw-r--r--doc/html/boost_asio/reference/transfer_at_least.html87
-rw-r--r--doc/html/boost_asio/reference/transfer_exactly.html87
-rw-r--r--doc/html/boost_asio/reference/use_future.html62
-rw-r--r--doc/html/boost_asio/reference/use_future_t.html175
-rw-r--r--doc/html/boost_asio/reference/use_future_t/allocator_type.html61
-rw-r--r--doc/html/boost_asio/reference/use_future_t/get_allocator.html49
-rw-r--r--doc/html/boost_asio/reference/use_future_t/operator_lb__rb_.html52
-rw-r--r--doc/html/boost_asio/reference/use_future_t/use_future_t.html57
-rw-r--r--doc/html/boost_asio/reference/use_future_t/use_future_t/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/use_future_t/use_future_t/overload2.html50
-rw-r--r--doc/html/boost_asio/reference/use_service.html90
-rw-r--r--doc/html/boost_asio/reference/wait_traits.html95
-rw-r--r--doc/html/boost_asio/reference/wait_traits/to_wait_duration.html59
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service.html325
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/async_wait.html52
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/cancel_one.html52
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/clock_type.html59
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/duration.html59
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/expires_at.html61
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/expires_from_now.html61
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/time_point.html59
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/traits_type.html59
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/wait.html50
-rw-r--r--doc/html/boost_asio/reference/waitable_timer_service/waitable_timer_service.html51
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle.html427
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/_basic_handle.html50
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/assign.html56
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/assign/overload1.html50
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/assign/overload2.html51
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/basic_handle.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload2.html87
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload3.html75
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/cancel/overload1.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/cancel/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/close.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/close/overload1.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/close/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/is_open.html49
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload1.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload2.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/lowest_layer_type.html426
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/native.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/native_handle.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/operator_eq_.html75
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/service.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_handle/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle.html439
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/assign.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/async_wait.html84
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle.html68
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload1.html69
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload3.html75
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/close.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/close/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/close/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer_type.html429
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/native.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/native_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/operator_eq_.html75
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/service.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/wait.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload1.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload2.html68
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle.html463
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/assign.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/async_read_some_at.html123
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/async_write_some_at.html123
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload1.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload3.html76
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/close.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/is_open.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer_type.html429
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/native.html58
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/operator_eq_.html77
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload1.html121
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload2.html98
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/service.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload1.html121
-rw-r--r--doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload2.html97
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle.html463
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/assign.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload1.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/async_read_some.html117
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/async_write_some.html116
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle.html68
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload1.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload2.html88
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload3.html75
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/cancel.html55
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/close.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload1.html70
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload2.html71
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_io_service.html67
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_service.html54
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload1.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload2.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/implementation.html53
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/implementation_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/is_open.html52
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer.html56
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload1.html66
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload2.html66
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer_type.html429
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/native.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle.html57
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/operator_eq_.html75
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/read_some.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload1.html116
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload2.html93
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/service.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/service_type.html63
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/write_some.html60
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload1.html115
-rw-r--r--doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload2.html92
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle.html437
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service.html320
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/assign.html53
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/async_wait.html53
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/object_handle_service.html51
-rw-r--r--doc/html/boost_asio/reference/windows__object_handle_service/wait.html50
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr.html179
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/_overlapped_ptr.html50
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/complete.html52
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/get.html53
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload2.html49
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr.html61
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/release.html49
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/reset.html61
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload1.html49
-rw-r--r--doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload2.html54
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle.html462
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service.html372
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/assign.html53
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/async_read_some_at.html57
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/async_write_some_at.html57
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/close.html52
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/construct.html51
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/destroy.html51
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/is_open.html51
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/native.html51
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle.html51
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/random_access_handle_service.html51
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/read_some_at.html56
-rw-r--r--doc/html/boost_asio/reference/windows__random_access_handle_service/write_some_at.html56
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle.html462
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service.html371
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/assign.html53
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/async_read_some.html55
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/async_write_some.html55
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/cancel.html52
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/close.html51
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/construct.html50
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/destroy.html50
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/get_io_service.html53
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/id.html49
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/implementation_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/is_open.html50
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/move_assign.html53
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/move_construct.html52
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/native.html50
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/native_handle.html50
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/native_handle_type.html59
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/native_type.html60
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/read_some.html54
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/stream_handle_service.html51
-rw-r--r--doc/html/boost_asio/reference/windows__stream_handle_service/write_some.html54
-rw-r--r--doc/html/boost_asio/reference/write.html133
-rw-r--r--doc/html/boost_asio/reference/write/overload1.html137
-rw-r--r--doc/html/boost_asio/reference/write/overload2.html129
-rw-r--r--doc/html/boost_asio/reference/write/overload3.html149
-rw-r--r--doc/html/boost_asio/reference/write/overload4.html127
-rw-r--r--doc/html/boost_asio/reference/write/overload5.html121
-rw-r--r--doc/html/boost_asio/reference/write/overload6.html113
-rw-r--r--doc/html/boost_asio/reference/write/overload7.html132
-rw-r--r--doc/html/boost_asio/reference/write/overload8.html125
-rw-r--r--doc/html/boost_asio/reference/write_at.html141
-rw-r--r--doc/html/boost_asio/reference/write_at/overload1.html142
-rw-r--r--doc/html/boost_asio/reference/write_at/overload2.html135
-rw-r--r--doc/html/boost_asio/reference/write_at/overload3.html154
-rw-r--r--doc/html/boost_asio/reference/write_at/overload4.html132
-rw-r--r--doc/html/boost_asio/reference/write_at/overload5.html126
-rw-r--r--doc/html/boost_asio/reference/write_at/overload6.html118
-rw-r--r--doc/html/boost_asio/reference/write_at/overload7.html137
-rw-r--r--doc/html/boost_asio/reference/write_at/overload8.html130
-rw-r--r--doc/html/boost_asio/reference/yield_context.html174
-rw-r--r--doc/html/boost_asio/sync_op.pngbin0 -> 22703 bytes
-rw-r--r--doc/html/boost_asio/tutorial.html2509
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime1.html158
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime1/src.html106
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime2.html125
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime2/src.html99
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime3.html237
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime3/src.html166
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime4.html134
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime4/src.html101
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime5.html114
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime5/src.html107
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime6.html189
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime6/src.html138
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime7.html224
-rw-r--r--doc/html/boost_asio/tutorial/tutdaytime7/src.html207
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer1.html113
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer1/src.html74
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer2.html123
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer2/src.html79
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer3.html168
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer3/src.html93
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer4.html150
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer4/src.html104
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer5.html200
-rw-r--r--doc/html/boost_asio/tutorial/tuttimer5/src.html124
-rw-r--r--doc/html/boost_asio/using.html18
3077 files changed, 288020 insertions, 162061 deletions
diff --git a/doc/html/boost_asio/async_op1.png b/doc/html/boost_asio/async_op1.png
new file mode 100644
index 0000000000..0de79911e4
--- /dev/null
+++ b/doc/html/boost_asio/async_op1.png
Binary files differ
diff --git a/doc/html/boost_asio/async_op2.png b/doc/html/boost_asio/async_op2.png
new file mode 100644
index 0000000000..9b8d3c0872
--- /dev/null
+++ b/doc/html/boost_asio/async_op2.png
Binary files differ
diff --git a/doc/html/boost_asio/example/cpp03/allocation/server.cpp b/doc/html/boost_asio/example/cpp03/allocation/server.cpp
new file mode 100644
index 0000000000..40bd91736f
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/allocation/server.cpp
@@ -0,0 +1,238 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/aligned_storage.hpp>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+// Class to manage the memory to be used for handler-based custom allocation.
+// It contains a single block of memory which may be returned for allocation
+// requests. If the memory is in use when an allocation request is made, the
+// allocator delegates allocation to the global heap.
+class handler_allocator
+ : private boost::noncopyable
+{
+public:
+ handler_allocator()
+ : in_use_(false)
+ {
+ }
+
+ void* allocate(std::size_t size)
+ {
+ if (!in_use_ && size < storage_.size)
+ {
+ in_use_ = true;
+ return storage_.address();
+ }
+ else
+ {
+ return ::operator new(size);
+ }
+ }
+
+ void deallocate(void* pointer)
+ {
+ if (pointer == storage_.address())
+ {
+ in_use_ = false;
+ }
+ else
+ {
+ ::operator delete(pointer);
+ }
+ }
+
+private:
+ // Storage space used for handler-based custom memory allocation.
+ boost::aligned_storage<1024> storage_;
+
+ // Whether the handler-based custom allocation storage has been used.
+ bool in_use_;
+};
+
+// Wrapper class template for handler objects to allow handler memory
+// allocation to be customised. Calls to operator() are forwarded to the
+// encapsulated handler.
+template <typename Handler>
+class custom_alloc_handler
+{
+public:
+ custom_alloc_handler(handler_allocator& a, Handler h)
+ : allocator_(a),
+ handler_(h)
+ {
+ }
+
+ template <typename Arg1>
+ void operator()(Arg1 arg1)
+ {
+ handler_(arg1);
+ }
+
+ template <typename Arg1, typename Arg2>
+ void operator()(Arg1 arg1, Arg2 arg2)
+ {
+ handler_(arg1, arg2);
+ }
+
+ friend void* asio_handler_allocate(std::size_t size,
+ custom_alloc_handler<Handler>* this_handler)
+ {
+ return this_handler->allocator_.allocate(size);
+ }
+
+ friend void asio_handler_deallocate(void* pointer, std::size_t /*size*/,
+ custom_alloc_handler<Handler>* this_handler)
+ {
+ this_handler->allocator_.deallocate(pointer);
+ }
+
+private:
+ handler_allocator& allocator_;
+ Handler handler_;
+};
+
+// Helper function to wrap a handler object to add custom allocation.
+template <typename Handler>
+inline custom_alloc_handler<Handler> make_custom_alloc_handler(
+ handler_allocator& a, Handler h)
+{
+ return custom_alloc_handler<Handler>(a, h);
+}
+
+class session
+ : public boost::enable_shared_from_this<session>
+{
+public:
+ session(boost::asio::io_service& io_service)
+ : socket_(io_service)
+ {
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ socket_.async_read_some(boost::asio::buffer(data_),
+ make_custom_alloc_handler(allocator_,
+ boost::bind(&session::handle_read,
+ shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred)));
+ }
+
+ void handle_read(const boost::system::error_code& error,
+ size_t bytes_transferred)
+ {
+ if (!error)
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(data_, bytes_transferred),
+ make_custom_alloc_handler(allocator_,
+ boost::bind(&session::handle_write,
+ shared_from_this(),
+ boost::asio::placeholders::error)));
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ socket_.async_read_some(boost::asio::buffer(data_),
+ make_custom_alloc_handler(allocator_,
+ boost::bind(&session::handle_read,
+ shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred)));
+ }
+ }
+
+private:
+ // The socket used to communicate with the client.
+ tcp::socket socket_;
+
+ // Buffer used to store data received from the client.
+ boost::array<char, 1024> data_;
+
+ // The allocator to use for handler-based custom memory allocation.
+ handler_allocator allocator_;
+};
+
+typedef boost::shared_ptr<session> session_ptr;
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : io_service_(io_service),
+ acceptor_(io_service, tcp::endpoint(tcp::v4(), port))
+ {
+ session_ptr new_session(new session(io_service_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(session_ptr new_session,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_session->start();
+ }
+
+ new_session.reset(new session(io_service_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ tcp::acceptor acceptor_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/buffers/reference_counted.cpp b/doc/html/boost_asio/example/cpp03/buffers/reference_counted.cpp
new file mode 100644
index 0000000000..504662cd2b
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/buffers/reference_counted.cpp
@@ -0,0 +1,131 @@
+//
+// reference_counted.cpp
+// ~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/shared_ptr.hpp>
+#include <iostream>
+#include <vector>
+
+using boost::asio::ip::tcp;
+
+// A reference-counted non-modifiable buffer class.
+class shared_const_buffer
+{
+public:
+ // Construct from a std::string.
+ explicit shared_const_buffer(const std::string& data)
+ : data_(new std::vector<char>(data.begin(), data.end())),
+ buffer_(boost::asio::buffer(*data_))
+ {
+ }
+
+ // Implement the ConstBufferSequence requirements.
+ typedef boost::asio::const_buffer value_type;
+ typedef const boost::asio::const_buffer* const_iterator;
+ const boost::asio::const_buffer* begin() const { return &buffer_; }
+ const boost::asio::const_buffer* end() const { return &buffer_ + 1; }
+
+private:
+ boost::shared_ptr<std::vector<char> > data_;
+ boost::asio::const_buffer buffer_;
+};
+
+class session
+ : public boost::enable_shared_from_this<session>
+{
+public:
+ session(boost::asio::io_service& io_service)
+ : socket_(io_service)
+ {
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ using namespace std; // For time_t, time and ctime.
+ time_t now = time(0);
+ shared_const_buffer buffer(ctime(&now));
+ boost::asio::async_write(socket_, buffer,
+ boost::bind(&session::handle_write, shared_from_this()));
+ }
+
+ void handle_write()
+ {
+ }
+
+private:
+ // The socket used to communicate with the client.
+ tcp::socket socket_;
+};
+
+typedef boost::shared_ptr<session> session_ptr;
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : io_service_(io_service),
+ acceptor_(io_service, tcp::endpoint(tcp::v4(), port))
+ {
+ session_ptr new_session(new session(io_service_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(session_ptr new_session,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_session->start();
+ }
+
+ new_session.reset(new session(io_service_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ tcp::acceptor acceptor_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: reference_counted <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/chat/chat_client.cpp b/doc/html/boost_asio/example/cpp03/chat/chat_client.cpp
new file mode 100644
index 0000000000..71bd50d6d2
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/chat/chat_client.cpp
@@ -0,0 +1,177 @@
+//
+// chat_client.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <deque>
+#include <iostream>
+#include <boost/bind.hpp>
+#include <boost/asio.hpp>
+#include <boost/thread/thread.hpp>
+#include "chat_message.hpp"
+
+using boost::asio::ip::tcp;
+
+typedef std::deque<chat_message> chat_message_queue;
+
+class chat_client
+{
+public:
+ chat_client(boost::asio::io_service& io_service,
+ tcp::resolver::iterator endpoint_iterator)
+ : io_service_(io_service),
+ socket_(io_service)
+ {
+ boost::asio::async_connect(socket_, endpoint_iterator,
+ boost::bind(&chat_client::handle_connect, this,
+ boost::asio::placeholders::error));
+ }
+
+ void write(const chat_message& msg)
+ {
+ io_service_.post(boost::bind(&chat_client::do_write, this, msg));
+ }
+
+ void close()
+ {
+ io_service_.post(boost::bind(&chat_client::do_close, this));
+ }
+
+private:
+
+ void handle_connect(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ boost::bind(&chat_client::handle_read_header, this,
+ boost::asio::placeholders::error));
+ }
+ }
+
+ void handle_read_header(const boost::system::error_code& error)
+ {
+ if (!error && read_msg_.decode_header())
+ {
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.body(), read_msg_.body_length()),
+ boost::bind(&chat_client::handle_read_body, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ do_close();
+ }
+ }
+
+ void handle_read_body(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ std::cout.write(read_msg_.body(), read_msg_.body_length());
+ std::cout << "\n";
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ boost::bind(&chat_client::handle_read_header, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ do_close();
+ }
+ }
+
+ void do_write(chat_message msg)
+ {
+ bool write_in_progress = !write_msgs_.empty();
+ write_msgs_.push_back(msg);
+ if (!write_in_progress)
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msgs_.front().data(),
+ write_msgs_.front().length()),
+ boost::bind(&chat_client::handle_write, this,
+ boost::asio::placeholders::error));
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ write_msgs_.pop_front();
+ if (!write_msgs_.empty())
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msgs_.front().data(),
+ write_msgs_.front().length()),
+ boost::bind(&chat_client::handle_write, this,
+ boost::asio::placeholders::error));
+ }
+ }
+ else
+ {
+ do_close();
+ }
+ }
+
+ void do_close()
+ {
+ socket_.close();
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ tcp::socket socket_;
+ chat_message read_msg_;
+ chat_message_queue write_msgs_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: chat_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query query(argv[1], argv[2]);
+ tcp::resolver::iterator iterator = resolver.resolve(query);
+
+ chat_client c(io_service, iterator);
+
+ boost::thread t(boost::bind(&boost::asio::io_service::run, &io_service));
+
+ char line[chat_message::max_body_length + 1];
+ while (std::cin.getline(line, chat_message::max_body_length + 1))
+ {
+ using namespace std; // For strlen and memcpy.
+ chat_message msg;
+ msg.body_length(strlen(line));
+ memcpy(msg.body(), line, msg.body_length());
+ msg.encode_header();
+ c.write(msg);
+ }
+
+ c.close();
+ t.join();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/chat/chat_message.hpp b/doc/html/boost_asio/example/cpp03/chat/chat_message.hpp
new file mode 100644
index 0000000000..75d31ab993
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/chat/chat_message.hpp
@@ -0,0 +1,93 @@
+//
+// chat_message.hpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef CHAT_MESSAGE_HPP
+#define CHAT_MESSAGE_HPP
+
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+
+class chat_message
+{
+public:
+ enum { header_length = 4 };
+ enum { max_body_length = 512 };
+
+ chat_message()
+ : body_length_(0)
+ {
+ }
+
+ const char* data() const
+ {
+ return data_;
+ }
+
+ char* data()
+ {
+ return data_;
+ }
+
+ size_t length() const
+ {
+ return header_length + body_length_;
+ }
+
+ const char* body() const
+ {
+ return data_ + header_length;
+ }
+
+ char* body()
+ {
+ return data_ + header_length;
+ }
+
+ size_t body_length() const
+ {
+ return body_length_;
+ }
+
+ void body_length(size_t new_length)
+ {
+ body_length_ = new_length;
+ if (body_length_ > max_body_length)
+ body_length_ = max_body_length;
+ }
+
+ bool decode_header()
+ {
+ using namespace std; // For strncat and atoi.
+ char header[header_length + 1] = "";
+ strncat(header, data_, header_length);
+ body_length_ = atoi(header);
+ if (body_length_ > max_body_length)
+ {
+ body_length_ = 0;
+ return false;
+ }
+ return true;
+ }
+
+ void encode_header()
+ {
+ using namespace std; // For sprintf and memcpy.
+ char header[header_length + 1] = "";
+ sprintf(header, "%4d", static_cast<int>(body_length_));
+ memcpy(data_, header, header_length);
+ }
+
+private:
+ char data_[header_length + max_body_length];
+ size_t body_length_;
+};
+
+#endif // CHAT_MESSAGE_HPP
diff --git a/doc/html/boost_asio/example/cpp03/chat/chat_server.cpp b/doc/html/boost_asio/example/cpp03/chat/chat_server.cpp
new file mode 100644
index 0000000000..611db89243
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/chat/chat_server.cpp
@@ -0,0 +1,247 @@
+//
+// chat_server.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <algorithm>
+#include <cstdlib>
+#include <deque>
+#include <iostream>
+#include <list>
+#include <set>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/asio.hpp>
+#include "chat_message.hpp"
+
+using boost::asio::ip::tcp;
+
+//----------------------------------------------------------------------
+
+typedef std::deque<chat_message> chat_message_queue;
+
+//----------------------------------------------------------------------
+
+class chat_participant
+{
+public:
+ virtual ~chat_participant() {}
+ virtual void deliver(const chat_message& msg) = 0;
+};
+
+typedef boost::shared_ptr<chat_participant> chat_participant_ptr;
+
+//----------------------------------------------------------------------
+
+class chat_room
+{
+public:
+ void join(chat_participant_ptr participant)
+ {
+ participants_.insert(participant);
+ std::for_each(recent_msgs_.begin(), recent_msgs_.end(),
+ boost::bind(&chat_participant::deliver, participant, _1));
+ }
+
+ void leave(chat_participant_ptr participant)
+ {
+ participants_.erase(participant);
+ }
+
+ void deliver(const chat_message& msg)
+ {
+ recent_msgs_.push_back(msg);
+ while (recent_msgs_.size() > max_recent_msgs)
+ recent_msgs_.pop_front();
+
+ std::for_each(participants_.begin(), participants_.end(),
+ boost::bind(&chat_participant::deliver, _1, boost::ref(msg)));
+ }
+
+private:
+ std::set<chat_participant_ptr> participants_;
+ enum { max_recent_msgs = 100 };
+ chat_message_queue recent_msgs_;
+};
+
+//----------------------------------------------------------------------
+
+class chat_session
+ : public chat_participant,
+ public boost::enable_shared_from_this<chat_session>
+{
+public:
+ chat_session(boost::asio::io_service& io_service, chat_room& room)
+ : socket_(io_service),
+ room_(room)
+ {
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ room_.join(shared_from_this());
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ boost::bind(
+ &chat_session::handle_read_header, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+
+ void deliver(const chat_message& msg)
+ {
+ bool write_in_progress = !write_msgs_.empty();
+ write_msgs_.push_back(msg);
+ if (!write_in_progress)
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msgs_.front().data(),
+ write_msgs_.front().length()),
+ boost::bind(&chat_session::handle_write, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ }
+
+ void handle_read_header(const boost::system::error_code& error)
+ {
+ if (!error && read_msg_.decode_header())
+ {
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.body(), read_msg_.body_length()),
+ boost::bind(&chat_session::handle_read_body, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ room_.leave(shared_from_this());
+ }
+ }
+
+ void handle_read_body(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ room_.deliver(read_msg_);
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ boost::bind(&chat_session::handle_read_header, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ room_.leave(shared_from_this());
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ write_msgs_.pop_front();
+ if (!write_msgs_.empty())
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msgs_.front().data(),
+ write_msgs_.front().length()),
+ boost::bind(&chat_session::handle_write, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ }
+ else
+ {
+ room_.leave(shared_from_this());
+ }
+ }
+
+private:
+ tcp::socket socket_;
+ chat_room& room_;
+ chat_message read_msg_;
+ chat_message_queue write_msgs_;
+};
+
+typedef boost::shared_ptr<chat_session> chat_session_ptr;
+
+//----------------------------------------------------------------------
+
+class chat_server
+{
+public:
+ chat_server(boost::asio::io_service& io_service,
+ const tcp::endpoint& endpoint)
+ : io_service_(io_service),
+ acceptor_(io_service, endpoint)
+ {
+ start_accept();
+ }
+
+ void start_accept()
+ {
+ chat_session_ptr new_session(new chat_session(io_service_, room_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&chat_server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(chat_session_ptr session,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ session->start();
+ }
+
+ start_accept();
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ tcp::acceptor acceptor_;
+ chat_room room_;
+};
+
+typedef boost::shared_ptr<chat_server> chat_server_ptr;
+typedef std::list<chat_server_ptr> chat_server_list;
+
+//----------------------------------------------------------------------
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc < 2)
+ {
+ std::cerr << "Usage: chat_server <port> [<port> ...]\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ chat_server_list servers;
+ for (int i = 1; i < argc; ++i)
+ {
+ using namespace std; // For atoi.
+ tcp::endpoint endpoint(tcp::v4(), atoi(argv[i]));
+ chat_server_ptr server(new chat_server(io_service, endpoint));
+ servers.push_back(server);
+ }
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/chat/posix_chat_client.cpp b/doc/html/boost_asio/example/cpp03/chat/posix_chat_client.cpp
new file mode 100644
index 0000000000..434f9f5916
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/chat/posix_chat_client.cpp
@@ -0,0 +1,205 @@
+//
+// posix_chat_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+#include <boost/asio.hpp>
+#include "chat_message.hpp"
+
+#if defined(BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
+
+using boost::asio::ip::tcp;
+namespace posix = boost::asio::posix;
+
+class posix_chat_client
+{
+public:
+ posix_chat_client(boost::asio::io_service& io_service,
+ tcp::resolver::iterator endpoint_iterator)
+ : socket_(io_service),
+ input_(io_service, ::dup(STDIN_FILENO)),
+ output_(io_service, ::dup(STDOUT_FILENO)),
+ input_buffer_(chat_message::max_body_length)
+ {
+ boost::asio::async_connect(socket_, endpoint_iterator,
+ boost::bind(&posix_chat_client::handle_connect, this,
+ boost::asio::placeholders::error));
+ }
+
+private:
+
+ void handle_connect(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ // Read the fixed-length header of the next message from the server.
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ boost::bind(&posix_chat_client::handle_read_header, this,
+ boost::asio::placeholders::error));
+
+ // Read a line of input entered by the user.
+ boost::asio::async_read_until(input_, input_buffer_, '\n',
+ boost::bind(&posix_chat_client::handle_read_input, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+
+ void handle_read_header(const boost::system::error_code& error)
+ {
+ if (!error && read_msg_.decode_header())
+ {
+ // Read the variable-length body of the message from the server.
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.body(), read_msg_.body_length()),
+ boost::bind(&posix_chat_client::handle_read_body, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ close();
+ }
+ }
+
+ void handle_read_body(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ // Write out the message we just received, terminated by a newline.
+ static char eol[] = { '\n' };
+ boost::array<boost::asio::const_buffer, 2> buffers = {{
+ boost::asio::buffer(read_msg_.body(), read_msg_.body_length()),
+ boost::asio::buffer(eol) }};
+ boost::asio::async_write(output_, buffers,
+ boost::bind(&posix_chat_client::handle_write_output, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ close();
+ }
+ }
+
+ void handle_write_output(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ // Read the fixed-length header of the next message from the server.
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ boost::bind(&posix_chat_client::handle_read_header, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ close();
+ }
+ }
+
+ void handle_read_input(const boost::system::error_code& error,
+ std::size_t length)
+ {
+ if (!error)
+ {
+ // Write the message (minus the newline) to the server.
+ write_msg_.body_length(length - 1);
+ input_buffer_.sgetn(write_msg_.body(), length - 1);
+ input_buffer_.consume(1); // Remove newline from input.
+ write_msg_.encode_header();
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msg_.data(), write_msg_.length()),
+ boost::bind(&posix_chat_client::handle_write, this,
+ boost::asio::placeholders::error));
+ }
+ else if (error == boost::asio::error::not_found)
+ {
+ // Didn't get a newline. Send whatever we have.
+ write_msg_.body_length(input_buffer_.size());
+ input_buffer_.sgetn(write_msg_.body(), input_buffer_.size());
+ write_msg_.encode_header();
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msg_.data(), write_msg_.length()),
+ boost::bind(&posix_chat_client::handle_write, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ close();
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ // Read a line of input entered by the user.
+ boost::asio::async_read_until(input_, input_buffer_, '\n',
+ boost::bind(&posix_chat_client::handle_read_input, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ close();
+ }
+ }
+
+ void close()
+ {
+ // Cancel all outstanding asynchronous operations.
+ socket_.close();
+ input_.close();
+ output_.close();
+ }
+
+private:
+ tcp::socket socket_;
+ posix::stream_descriptor input_;
+ posix::stream_descriptor output_;
+ chat_message read_msg_;
+ chat_message write_msg_;
+ boost::asio::streambuf input_buffer_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: posix_chat_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query query(argv[1], argv[2]);
+ tcp::resolver::iterator iterator = resolver.resolve(query);
+
+ posix_chat_client c(io_service, iterator);
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
+
+#else // defined(BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
+int main() {}
+#endif // defined(BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
diff --git a/doc/html/boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp b/doc/html/boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp
new file mode 100644
index 0000000000..2aa2e6c65e
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp
@@ -0,0 +1,137 @@
+//
+// async_tcp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/bind.hpp>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+class session
+{
+public:
+ session(boost::asio::io_service& io_service)
+ : socket_(io_service)
+ {
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ socket_.async_read_some(boost::asio::buffer(data_, max_length),
+ boost::bind(&session::handle_read, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+
+private:
+ void handle_read(const boost::system::error_code& error,
+ size_t bytes_transferred)
+ {
+ if (!error)
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(data_, bytes_transferred),
+ boost::bind(&session::handle_write, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ delete this;
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ socket_.async_read_some(boost::asio::buffer(data_, max_length),
+ boost::bind(&session::handle_read, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ delete this;
+ }
+ }
+
+ tcp::socket socket_;
+ enum { max_length = 1024 };
+ char data_[max_length];
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : io_service_(io_service),
+ acceptor_(io_service, tcp::endpoint(tcp::v4(), port))
+ {
+ start_accept();
+ }
+
+private:
+ void start_accept()
+ {
+ session* new_session = new session(io_service_);
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(session* new_session,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_session->start();
+ }
+ else
+ {
+ delete new_session;
+ }
+
+ start_accept();
+ }
+
+ boost::asio::io_service& io_service_;
+ tcp::acceptor acceptor_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: async_tcp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/echo/async_udp_echo_server.cpp b/doc/html/boost_asio/example/cpp03/echo/async_udp_echo_server.cpp
new file mode 100644
index 0000000000..97049c9dd8
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/echo/async_udp_echo_server.cpp
@@ -0,0 +1,92 @@
+//
+// async_udp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/bind.hpp>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::udp;
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : socket_(io_service, udp::endpoint(udp::v4(), port))
+ {
+ socket_.async_receive_from(
+ boost::asio::buffer(data_, max_length), sender_endpoint_,
+ boost::bind(&server::handle_receive_from, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+
+ void handle_receive_from(const boost::system::error_code& error,
+ size_t bytes_recvd)
+ {
+ if (!error && bytes_recvd > 0)
+ {
+ socket_.async_send_to(
+ boost::asio::buffer(data_, bytes_recvd), sender_endpoint_,
+ boost::bind(&server::handle_send_to, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ socket_.async_receive_from(
+ boost::asio::buffer(data_, max_length), sender_endpoint_,
+ boost::bind(&server::handle_receive_from, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+
+ void handle_send_to(const boost::system::error_code& /*error*/,
+ size_t /*bytes_sent*/)
+ {
+ socket_.async_receive_from(
+ boost::asio::buffer(data_, max_length), sender_endpoint_,
+ boost::bind(&server::handle_receive_from, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+
+private:
+ udp::socket socket_;
+ udp::endpoint sender_endpoint_;
+ enum { max_length = 1024 };
+ char data_[max_length];
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: async_udp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp b/doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp
new file mode 100644
index 0000000000..77792af005
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp
@@ -0,0 +1,59 @@
+//
+// blocking_tcp_echo_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+enum { max_length = 1024 };
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: blocking_tcp_echo_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query query(tcp::v4(), argv[1], argv[2]);
+ tcp::resolver::iterator iterator = resolver.resolve(query);
+
+ tcp::socket s(io_service);
+ boost::asio::connect(s, iterator);
+
+ using namespace std; // For strlen.
+ std::cout << "Enter message: ";
+ char request[max_length];
+ std::cin.getline(request, max_length);
+ size_t request_length = strlen(request);
+ boost::asio::write(s, boost::asio::buffer(request, request_length));
+
+ char reply[max_length];
+ size_t reply_length = boost::asio::read(s,
+ boost::asio::buffer(reply, request_length));
+ std::cout << "Reply is: ";
+ std::cout.write(reply, reply_length);
+ std::cout << "\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp b/doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp
new file mode 100644
index 0000000000..0c4529b4cc
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp
@@ -0,0 +1,80 @@
+//
+// blocking_tcp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/bind.hpp>
+#include <boost/smart_ptr.hpp>
+#include <boost/asio.hpp>
+#include <boost/thread/thread.hpp>
+
+using boost::asio::ip::tcp;
+
+const int max_length = 1024;
+
+typedef boost::shared_ptr<tcp::socket> socket_ptr;
+
+void session(socket_ptr sock)
+{
+ try
+ {
+ for (;;)
+ {
+ char data[max_length];
+
+ boost::system::error_code error;
+ size_t length = sock->read_some(boost::asio::buffer(data), error);
+ if (error == boost::asio::error::eof)
+ break; // Connection closed cleanly by peer.
+ else if (error)
+ throw boost::system::system_error(error); // Some other error.
+
+ boost::asio::write(*sock, boost::asio::buffer(data, length));
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception in thread: " << e.what() << "\n";
+ }
+}
+
+void server(boost::asio::io_service& io_service, unsigned short port)
+{
+ tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), port));
+ for (;;)
+ {
+ socket_ptr sock(new tcp::socket(io_service));
+ a.accept(*sock);
+ boost::thread t(boost::bind(session, sock));
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: blocking_tcp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server(io_service, atoi(argv[1]));
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp b/doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp
new file mode 100644
index 0000000000..4f29e69b5e
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp
@@ -0,0 +1,59 @@
+//
+// blocking_udp_echo_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::udp;
+
+enum { max_length = 1024 };
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: blocking_udp_echo_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ udp::socket s(io_service, udp::endpoint(udp::v4(), 0));
+
+ udp::resolver resolver(io_service);
+ udp::resolver::query query(udp::v4(), argv[1], argv[2]);
+ udp::resolver::iterator iterator = resolver.resolve(query);
+
+ using namespace std; // For strlen.
+ std::cout << "Enter message: ";
+ char request[max_length];
+ std::cin.getline(request, max_length);
+ size_t request_length = strlen(request);
+ s.send_to(boost::asio::buffer(request, request_length), *iterator);
+
+ char reply[max_length];
+ udp::endpoint sender_endpoint;
+ size_t reply_length = s.receive_from(
+ boost::asio::buffer(reply, max_length), sender_endpoint);
+ std::cout << "Reply is: ";
+ std::cout.write(reply, reply_length);
+ std::cout << "\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp b/doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp
new file mode 100644
index 0000000000..31c9cd8b22
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp
@@ -0,0 +1,53 @@
+//
+// blocking_udp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::udp;
+
+enum { max_length = 1024 };
+
+void server(boost::asio::io_service& io_service, unsigned short port)
+{
+ udp::socket sock(io_service, udp::endpoint(udp::v4(), port));
+ for (;;)
+ {
+ char data[max_length];
+ udp::endpoint sender_endpoint;
+ size_t length = sock.receive_from(
+ boost::asio::buffer(data, max_length), sender_endpoint);
+ sock.send_to(boost::asio::buffer(data, length), sender_endpoint);
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: blocking_udp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server(io_service, atoi(argv[1]));
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/fork/daemon.cpp b/doc/html/boost_asio/example/cpp03/fork/daemon.cpp
new file mode 100644
index 0000000000..f16f7cf8c9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/fork/daemon.cpp
@@ -0,0 +1,189 @@
+//
+// daemon.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/udp.hpp>
+#include <boost/asio/signal_set.hpp>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+#include <ctime>
+#include <iostream>
+#include <syslog.h>
+#include <unistd.h>
+
+using boost::asio::ip::udp;
+
+class udp_daytime_server
+{
+public:
+ udp_daytime_server(boost::asio::io_service& io_service)
+ : socket_(io_service, udp::endpoint(udp::v4(), 13))
+ {
+ start_receive();
+ }
+
+private:
+ void start_receive()
+ {
+ socket_.async_receive_from(
+ boost::asio::buffer(recv_buffer_), remote_endpoint_,
+ boost::bind(&udp_daytime_server::handle_receive, this, _1));
+ }
+
+ void handle_receive(const boost::system::error_code& ec)
+ {
+ if (!ec || ec == boost::asio::error::message_size)
+ {
+ using namespace std; // For time_t, time and ctime;
+ time_t now = time(0);
+ std::string message = ctime(&now);
+
+ boost::system::error_code ignored_ec;
+ socket_.send_to(boost::asio::buffer(message),
+ remote_endpoint_, 0, ignored_ec);
+ }
+
+ start_receive();
+ }
+
+ udp::socket socket_;
+ udp::endpoint remote_endpoint_;
+ boost::array<char, 1> recv_buffer_;
+};
+
+int main()
+{
+ try
+ {
+ boost::asio::io_service io_service;
+
+ // Initialise the server before becoming a daemon. If the process is
+ // started from a shell, this means any errors will be reported back to the
+ // user.
+ udp_daytime_server server(io_service);
+
+ // Register signal handlers so that the daemon may be shut down. You may
+ // also want to register for other signals, such as SIGHUP to trigger a
+ // re-read of a configuration file.
+ boost::asio::signal_set signals(io_service, SIGINT, SIGTERM);
+ signals.async_wait(
+ boost::bind(&boost::asio::io_service::stop, &io_service));
+
+ // Inform the io_service that we are about to become a daemon. The
+ // io_service cleans up any internal resources, such as threads, that may
+ // interfere with forking.
+ io_service.notify_fork(boost::asio::io_service::fork_prepare);
+
+ // Fork the process and have the parent exit. If the process was started
+ // from a shell, this returns control to the user. Forking a new process is
+ // also a prerequisite for the subsequent call to setsid().
+ if (pid_t pid = fork())
+ {
+ if (pid > 0)
+ {
+ // We're in the parent process and need to exit.
+ //
+ // When the exit() function is used, the program terminates without
+ // invoking local variables' destructors. Only global variables are
+ // destroyed. As the io_service object is a local variable, this means
+ // we do not have to call:
+ //
+ // io_service.notify_fork(boost::asio::io_service::fork_parent);
+ //
+ // However, this line should be added before each call to exit() if
+ // using a global io_service object. An additional call:
+ //
+ // io_service.notify_fork(boost::asio::io_service::fork_prepare);
+ //
+ // should also precede the second fork().
+ exit(0);
+ }
+ else
+ {
+ syslog(LOG_ERR | LOG_USER, "First fork failed: %m");
+ return 1;
+ }
+ }
+
+ // Make the process a new session leader. This detaches it from the
+ // terminal.
+ setsid();
+
+ // A process inherits its working directory from its parent. This could be
+ // on a mounted filesystem, which means that the running daemon would
+ // prevent this filesystem from being unmounted. Changing to the root
+ // directory avoids this problem.
+ chdir("/");
+
+ // The file mode creation mask is also inherited from the parent process.
+ // We don't want to restrict the permissions on files created by the
+ // daemon, so the mask is cleared.
+ umask(0);
+
+ // A second fork ensures the process cannot acquire a controlling terminal.
+ if (pid_t pid = fork())
+ {
+ if (pid > 0)
+ {
+ exit(0);
+ }
+ else
+ {
+ syslog(LOG_ERR | LOG_USER, "Second fork failed: %m");
+ return 1;
+ }
+ }
+
+ // Close the standard streams. This decouples the daemon from the terminal
+ // that started it.
+ close(0);
+ close(1);
+ close(2);
+
+ // We don't want the daemon to have any standard input.
+ if (open("/dev/null", O_RDONLY) < 0)
+ {
+ syslog(LOG_ERR | LOG_USER, "Unable to open /dev/null: %m");
+ return 1;
+ }
+
+ // Send standard output to a log file.
+ const char* output = "/tmp/asio.daemon.out";
+ const int flags = O_WRONLY | O_CREAT | O_APPEND;
+ const mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
+ if (open(output, flags, mode) < 0)
+ {
+ syslog(LOG_ERR | LOG_USER, "Unable to open output file %s: %m", output);
+ return 1;
+ }
+
+ // Also send standard error to the same log file.
+ if (dup(1) < 0)
+ {
+ syslog(LOG_ERR | LOG_USER, "Unable to dup output descriptor: %m");
+ return 1;
+ }
+
+ // Inform the io_service that we have finished becoming a daemon. The
+ // io_service uses this opportunity to create any internal file descriptors
+ // that need to be private to the new process.
+ io_service.notify_fork(boost::asio::io_service::fork_child);
+
+ // The io_service can now be used normally.
+ syslog(LOG_INFO | LOG_USER, "Daemon started");
+ io_service.run();
+ syslog(LOG_INFO | LOG_USER, "Daemon stopped");
+ }
+ catch (std::exception& e)
+ {
+ syslog(LOG_ERR | LOG_USER, "Exception: %s", e.what());
+ std::cerr << "Exception: " << e.what() << std::endl;
+ }
+}
diff --git a/doc/html/boost_asio/example/cpp03/fork/process_per_connection.cpp b/doc/html/boost_asio/example/cpp03/fork/process_per_connection.cpp
new file mode 100644
index 0000000000..70faa02d57
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/fork/process_per_connection.cpp
@@ -0,0 +1,160 @@
+//
+// process_per_connection.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/signal_set.hpp>
+#include <boost/asio/write.hpp>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+#include <cstdlib>
+#include <iostream>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+using boost::asio::ip::tcp;
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, unsigned short port)
+ : io_service_(io_service),
+ signal_(io_service, SIGCHLD),
+ acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
+ socket_(io_service)
+ {
+ start_signal_wait();
+ start_accept();
+ }
+
+private:
+ void start_signal_wait()
+ {
+ signal_.async_wait(boost::bind(&server::handle_signal_wait, this));
+ }
+
+ void handle_signal_wait()
+ {
+ // Only the parent process should check for this signal. We can determine
+ // whether we are in the parent by checking if the acceptor is still open.
+ if (acceptor_.is_open())
+ {
+ // Reap completed child processes so that we don't end up with zombies.
+ int status = 0;
+ while (waitpid(-1, &status, WNOHANG) > 0) {}
+
+ start_signal_wait();
+ }
+ }
+
+ void start_accept()
+ {
+ acceptor_.async_accept(socket_,
+ boost::bind(&server::handle_accept, this, _1));
+ }
+
+ void handle_accept(const boost::system::error_code& ec)
+ {
+ if (!ec)
+ {
+ // Inform the io_service that we are about to fork. The io_service cleans
+ // up any internal resources, such as threads, that may interfere with
+ // forking.
+ io_service_.notify_fork(boost::asio::io_service::fork_prepare);
+
+ if (fork() == 0)
+ {
+ // Inform the io_service that the fork is finished and that this is the
+ // child process. The io_service uses this opportunity to create any
+ // internal file descriptors that must be private to the new process.
+ io_service_.notify_fork(boost::asio::io_service::fork_child);
+
+ // The child won't be accepting new connections, so we can close the
+ // acceptor. It remains open in the parent.
+ acceptor_.close();
+
+ // The child process is not interested in processing the SIGCHLD signal.
+ signal_.cancel();
+
+ start_read();
+ }
+ else
+ {
+ // Inform the io_service that the fork is finished (or failed) and that
+ // this is the parent process. The io_service uses this opportunity to
+ // recreate any internal resources that were cleaned up during
+ // preparation for the fork.
+ io_service_.notify_fork(boost::asio::io_service::fork_parent);
+
+ socket_.close();
+ start_accept();
+ }
+ }
+ else
+ {
+ std::cerr << "Accept error: " << ec.message() << std::endl;
+ start_accept();
+ }
+ }
+
+ void start_read()
+ {
+ socket_.async_read_some(boost::asio::buffer(data_),
+ boost::bind(&server::handle_read, this, _1, _2));
+ }
+
+ void handle_read(const boost::system::error_code& ec, std::size_t length)
+ {
+ if (!ec)
+ start_write(length);
+ }
+
+ void start_write(std::size_t length)
+ {
+ boost::asio::async_write(socket_, boost::asio::buffer(data_, length),
+ boost::bind(&server::handle_write, this, _1));
+ }
+
+ void handle_write(const boost::system::error_code& ec)
+ {
+ if (!ec)
+ start_read();
+ }
+
+ boost::asio::io_service& io_service_;
+ boost::asio::signal_set signal_;
+ tcp::acceptor acceptor_;
+ tcp::socket socket_;
+ boost::array<char, 1024> data_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: process_per_connection <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << std::endl;
+ }
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/client/async_client.cpp b/doc/html/boost_asio/example/cpp03/http/client/async_client.cpp
new file mode 100644
index 0000000000..c240ad6642
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/client/async_client.cpp
@@ -0,0 +1,205 @@
+//
+// async_client.cpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <istream>
+#include <ostream>
+#include <string>
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+
+using boost::asio::ip::tcp;
+
+class client
+{
+public:
+ client(boost::asio::io_service& io_service,
+ const std::string& server, const std::string& path)
+ : resolver_(io_service),
+ socket_(io_service)
+ {
+ // Form the request. We specify the "Connection: close" header so that the
+ // server will close the socket after transmitting the response. This will
+ // allow us to treat all data up until the EOF as the content.
+ std::ostream request_stream(&request_);
+ request_stream << "GET " << path << " HTTP/1.0\r\n";
+ request_stream << "Host: " << server << "\r\n";
+ request_stream << "Accept: */*\r\n";
+ request_stream << "Connection: close\r\n\r\n";
+
+ // Start an asynchronous resolve to translate the server and service names
+ // into a list of endpoints.
+ tcp::resolver::query query(server, "http");
+ resolver_.async_resolve(query,
+ boost::bind(&client::handle_resolve, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::iterator));
+ }
+
+private:
+ void handle_resolve(const boost::system::error_code& err,
+ tcp::resolver::iterator endpoint_iterator)
+ {
+ if (!err)
+ {
+ // Attempt a connection to each endpoint in the list until we
+ // successfully establish a connection.
+ boost::asio::async_connect(socket_, endpoint_iterator,
+ boost::bind(&client::handle_connect, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ std::cout << "Error: " << err.message() << "\n";
+ }
+ }
+
+ void handle_connect(const boost::system::error_code& err)
+ {
+ if (!err)
+ {
+ // The connection was successful. Send the request.
+ boost::asio::async_write(socket_, request_,
+ boost::bind(&client::handle_write_request, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ std::cout << "Error: " << err.message() << "\n";
+ }
+ }
+
+ void handle_write_request(const boost::system::error_code& err)
+ {
+ if (!err)
+ {
+ // Read the response status line. The response_ streambuf will
+ // automatically grow to accommodate the entire line. The growth may be
+ // limited by passing a maximum size to the streambuf constructor.
+ boost::asio::async_read_until(socket_, response_, "\r\n",
+ boost::bind(&client::handle_read_status_line, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ std::cout << "Error: " << err.message() << "\n";
+ }
+ }
+
+ void handle_read_status_line(const boost::system::error_code& err)
+ {
+ if (!err)
+ {
+ // Check that response is OK.
+ std::istream response_stream(&response_);
+ std::string http_version;
+ response_stream >> http_version;
+ unsigned int status_code;
+ response_stream >> status_code;
+ std::string status_message;
+ std::getline(response_stream, status_message);
+ if (!response_stream || http_version.substr(0, 5) != "HTTP/")
+ {
+ std::cout << "Invalid response\n";
+ return;
+ }
+ if (status_code != 200)
+ {
+ std::cout << "Response returned with status code ";
+ std::cout << status_code << "\n";
+ return;
+ }
+
+ // Read the response headers, which are terminated by a blank line.
+ boost::asio::async_read_until(socket_, response_, "\r\n\r\n",
+ boost::bind(&client::handle_read_headers, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ std::cout << "Error: " << err << "\n";
+ }
+ }
+
+ void handle_read_headers(const boost::system::error_code& err)
+ {
+ if (!err)
+ {
+ // Process the response headers.
+ std::istream response_stream(&response_);
+ std::string header;
+ while (std::getline(response_stream, header) && header != "\r")
+ std::cout << header << "\n";
+ std::cout << "\n";
+
+ // Write whatever content we already have to output.
+ if (response_.size() > 0)
+ std::cout << &response_;
+
+ // Start reading remaining data until EOF.
+ boost::asio::async_read(socket_, response_,
+ boost::asio::transfer_at_least(1),
+ boost::bind(&client::handle_read_content, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ std::cout << "Error: " << err << "\n";
+ }
+ }
+
+ void handle_read_content(const boost::system::error_code& err)
+ {
+ if (!err)
+ {
+ // Write all of the data that has been read so far.
+ std::cout << &response_;
+
+ // Continue reading remaining data until EOF.
+ boost::asio::async_read(socket_, response_,
+ boost::asio::transfer_at_least(1),
+ boost::bind(&client::handle_read_content, this,
+ boost::asio::placeholders::error));
+ }
+ else if (err != boost::asio::error::eof)
+ {
+ std::cout << "Error: " << err << "\n";
+ }
+ }
+
+ tcp::resolver resolver_;
+ tcp::socket socket_;
+ boost::asio::streambuf request_;
+ boost::asio::streambuf response_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cout << "Usage: async_client <server> <path>\n";
+ std::cout << "Example:\n";
+ std::cout << " async_client www.boost.org /LICENSE_1_0.txt\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ client c(io_service, argv[1], argv[2]);
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/client/sync_client.cpp b/doc/html/boost_asio/example/cpp03/http/client/sync_client.cpp
new file mode 100644
index 0000000000..2eea356ca5
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/client/sync_client.cpp
@@ -0,0 +1,107 @@
+//
+// sync_client.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <istream>
+#include <ostream>
+#include <string>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cout << "Usage: sync_client <server> <path>\n";
+ std::cout << "Example:\n";
+ std::cout << " sync_client www.boost.org /LICENSE_1_0.txt\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ // Get a list of endpoints corresponding to the server name.
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query query(argv[1], "http");
+ tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
+
+ // Try each endpoint until we successfully establish a connection.
+ tcp::socket socket(io_service);
+ boost::asio::connect(socket, endpoint_iterator);
+
+ // Form the request. We specify the "Connection: close" header so that the
+ // server will close the socket after transmitting the response. This will
+ // allow us to treat all data up until the EOF as the content.
+ boost::asio::streambuf request;
+ std::ostream request_stream(&request);
+ request_stream << "GET " << argv[2] << " HTTP/1.0\r\n";
+ request_stream << "Host: " << argv[1] << "\r\n";
+ request_stream << "Accept: */*\r\n";
+ request_stream << "Connection: close\r\n\r\n";
+
+ // Send the request.
+ boost::asio::write(socket, request);
+
+ // Read the response status line. The response streambuf will automatically
+ // grow to accommodate the entire line. The growth may be limited by passing
+ // a maximum size to the streambuf constructor.
+ boost::asio::streambuf response;
+ boost::asio::read_until(socket, response, "\r\n");
+
+ // Check that response is OK.
+ std::istream response_stream(&response);
+ std::string http_version;
+ response_stream >> http_version;
+ unsigned int status_code;
+ response_stream >> status_code;
+ std::string status_message;
+ std::getline(response_stream, status_message);
+ if (!response_stream || http_version.substr(0, 5) != "HTTP/")
+ {
+ std::cout << "Invalid response\n";
+ return 1;
+ }
+ if (status_code != 200)
+ {
+ std::cout << "Response returned with status code " << status_code << "\n";
+ return 1;
+ }
+
+ // Read the response headers, which are terminated by a blank line.
+ boost::asio::read_until(socket, response, "\r\n\r\n");
+
+ // Process the response headers.
+ std::string header;
+ while (std::getline(response_stream, header) && header != "\r")
+ std::cout << header << "\n";
+ std::cout << "\n";
+
+ // Write whatever content we already have to output.
+ if (response.size() > 0)
+ std::cout << &response;
+
+ // Read until EOF, writing data to output as we go.
+ boost::system::error_code error;
+ while (boost::asio::read(socket, response,
+ boost::asio::transfer_at_least(1), error))
+ std::cout << &response;
+ if (error != boost::asio::error::eof)
+ throw boost::system::system_error(error);
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/server/connection.cpp b/doc/html/boost_asio/example/cpp03/http/server/connection.cpp
new file mode 100644
index 0000000000..a9b04f401c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/connection.cpp
@@ -0,0 +1,99 @@
+//
+// connection.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "connection.hpp"
+#include <vector>
+#include <boost/bind.hpp>
+#include "connection_manager.hpp"
+#include "request_handler.hpp"
+
+namespace http {
+namespace server {
+
+connection::connection(boost::asio::io_service& io_service,
+ connection_manager& manager, request_handler& handler)
+ : socket_(io_service),
+ connection_manager_(manager),
+ request_handler_(handler)
+{
+}
+
+boost::asio::ip::tcp::socket& connection::socket()
+{
+ return socket_;
+}
+
+void connection::start()
+{
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ boost::bind(&connection::handle_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+}
+
+void connection::stop()
+{
+ socket_.close();
+}
+
+void connection::handle_read(const boost::system::error_code& e,
+ std::size_t bytes_transferred)
+{
+ if (!e)
+ {
+ boost::tribool result;
+ boost::tie(result, boost::tuples::ignore) = request_parser_.parse(
+ request_, buffer_.data(), buffer_.data() + bytes_transferred);
+
+ if (result)
+ {
+ request_handler_.handle_request(request_, reply_);
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ else if (!result)
+ {
+ reply_ = reply::stock_reply(reply::bad_request);
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ boost::bind(&connection::handle_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+ else if (e != boost::asio::error::operation_aborted)
+ {
+ connection_manager_.stop(shared_from_this());
+ }
+}
+
+void connection::handle_write(const boost::system::error_code& e)
+{
+ if (!e)
+ {
+ // Initiate graceful connection closure.
+ boost::system::error_code ignored_ec;
+ socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ignored_ec);
+ }
+
+ if (e != boost::asio::error::operation_aborted)
+ {
+ connection_manager_.stop(shared_from_this());
+ }
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/connection.hpp b/doc/html/boost_asio/example/cpp03/http/server/connection.hpp
new file mode 100644
index 0000000000..e38b43a881
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/connection.hpp
@@ -0,0 +1,83 @@
+//
+// connection.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_CONNECTION_HPP
+#define HTTP_CONNECTION_HPP
+
+#include <boost/asio.hpp>
+#include <boost/array.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include "reply.hpp"
+#include "request.hpp"
+#include "request_handler.hpp"
+#include "request_parser.hpp"
+
+namespace http {
+namespace server {
+
+class connection_manager;
+
+/// Represents a single connection from a client.
+class connection
+ : public boost::enable_shared_from_this<connection>,
+ private boost::noncopyable
+{
+public:
+ /// Construct a connection with the given io_service.
+ explicit connection(boost::asio::io_service& io_service,
+ connection_manager& manager, request_handler& handler);
+
+ /// Get the socket associated with the connection.
+ boost::asio::ip::tcp::socket& socket();
+
+ /// Start the first asynchronous operation for the connection.
+ void start();
+
+ /// Stop all asynchronous operations associated with the connection.
+ void stop();
+
+private:
+ /// Handle completion of a read operation.
+ void handle_read(const boost::system::error_code& e,
+ std::size_t bytes_transferred);
+
+ /// Handle completion of a write operation.
+ void handle_write(const boost::system::error_code& e);
+
+ /// Socket for the connection.
+ boost::asio::ip::tcp::socket socket_;
+
+ /// The manager for this connection.
+ connection_manager& connection_manager_;
+
+ /// The handler used to process the incoming request.
+ request_handler& request_handler_;
+
+ /// Buffer for incoming data.
+ boost::array<char, 8192> buffer_;
+
+ /// The incoming request.
+ request request_;
+
+ /// The parser for the incoming request.
+ request_parser request_parser_;
+
+ /// The reply to be sent back to the client.
+ reply reply_;
+};
+
+typedef boost::shared_ptr<connection> connection_ptr;
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_CONNECTION_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/connection_manager.cpp b/doc/html/boost_asio/example/cpp03/http/server/connection_manager.cpp
new file mode 100644
index 0000000000..ac2ba36817
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/connection_manager.cpp
@@ -0,0 +1,38 @@
+//
+// connection_manager.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "connection_manager.hpp"
+#include <algorithm>
+#include <boost/bind.hpp>
+
+namespace http {
+namespace server {
+
+void connection_manager::start(connection_ptr c)
+{
+ connections_.insert(c);
+ c->start();
+}
+
+void connection_manager::stop(connection_ptr c)
+{
+ connections_.erase(c);
+ c->stop();
+}
+
+void connection_manager::stop_all()
+{
+ std::for_each(connections_.begin(), connections_.end(),
+ boost::bind(&connection::stop, _1));
+ connections_.clear();
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/connection_manager.hpp b/doc/html/boost_asio/example/cpp03/http/server/connection_manager.hpp
new file mode 100644
index 0000000000..706c4e1e07
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/connection_manager.hpp
@@ -0,0 +1,44 @@
+//
+// connection_manager.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_CONNECTION_MANAGER_HPP
+#define HTTP_CONNECTION_MANAGER_HPP
+
+#include <set>
+#include <boost/noncopyable.hpp>
+#include "connection.hpp"
+
+namespace http {
+namespace server {
+
+/// Manages open connections so that they may be cleanly stopped when the server
+/// needs to shut down.
+class connection_manager
+ : private boost::noncopyable
+{
+public:
+ /// Add the specified connection to the manager and start it.
+ void start(connection_ptr c);
+
+ /// Stop the specified connection.
+ void stop(connection_ptr c);
+
+ /// Stop all connections.
+ void stop_all();
+
+private:
+ /// The managed connections.
+ std::set<connection_ptr> connections_;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_CONNECTION_MANAGER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/header.hpp b/doc/html/boost_asio/example/cpp03/http/server/header.hpp
new file mode 100644
index 0000000000..877211f190
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/header.hpp
@@ -0,0 +1,28 @@
+//
+// header.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_HEADER_HPP
+#define HTTP_HEADER_HPP
+
+#include <string>
+
+namespace http {
+namespace server {
+
+struct header
+{
+ std::string name;
+ std::string value;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/main.cpp b/doc/html/boost_asio/example/cpp03/http/server/main.cpp
new file mode 100644
index 0000000000..0125aee76a
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/main.cpp
@@ -0,0 +1,44 @@
+//
+// main.cpp
+// ~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include "server.hpp"
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 4)
+ {
+ std::cerr << "Usage: http_server <address> <port> <doc_root>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " receiver 0.0.0.0 80 .\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " receiver 0::0 80 .\n";
+ return 1;
+ }
+
+ // Initialise the server.
+ http::server::server s(argv[1], argv[2], argv[3]);
+
+ // Run the server until stopped.
+ s.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/server/mime_types.cpp b/doc/html/boost_asio/example/cpp03/http/server/mime_types.cpp
new file mode 100644
index 0000000000..a03d5e7a16
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/mime_types.cpp
@@ -0,0 +1,46 @@
+//
+// mime_types.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "mime_types.hpp"
+
+namespace http {
+namespace server {
+namespace mime_types {
+
+struct mapping
+{
+ const char* extension;
+ const char* mime_type;
+} mappings[] =
+{
+ { "gif", "image/gif" },
+ { "htm", "text/html" },
+ { "html", "text/html" },
+ { "jpg", "image/jpeg" },
+ { "png", "image/png" },
+ { 0, 0 } // Marks end of list.
+};
+
+std::string extension_to_type(const std::string& extension)
+{
+ for (mapping* m = mappings; m->extension; ++m)
+ {
+ if (m->extension == extension)
+ {
+ return m->mime_type;
+ }
+ }
+
+ return "text/plain";
+}
+
+} // namespace mime_types
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/mime_types.hpp b/doc/html/boost_asio/example/cpp03/http/server/mime_types.hpp
new file mode 100644
index 0000000000..891c443669
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/mime_types.hpp
@@ -0,0 +1,27 @@
+//
+// mime_types.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_MIME_TYPES_HPP
+#define HTTP_MIME_TYPES_HPP
+
+#include <string>
+
+namespace http {
+namespace server {
+namespace mime_types {
+
+/// Convert a file extension into a MIME type.
+std::string extension_to_type(const std::string& extension);
+
+} // namespace mime_types
+} // namespace server
+} // namespace http
+
+#endif // HTTP_MIME_TYPES_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/reply.cpp b/doc/html/boost_asio/example/cpp03/http/server/reply.cpp
new file mode 100644
index 0000000000..4f08fe34d3
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/reply.cpp
@@ -0,0 +1,256 @@
+//
+// reply.cpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "reply.hpp"
+#include <string>
+#include <boost/lexical_cast.hpp>
+
+namespace http {
+namespace server {
+
+namespace status_strings {
+
+const std::string ok =
+ "HTTP/1.0 200 OK\r\n";
+const std::string created =
+ "HTTP/1.0 201 Created\r\n";
+const std::string accepted =
+ "HTTP/1.0 202 Accepted\r\n";
+const std::string no_content =
+ "HTTP/1.0 204 No Content\r\n";
+const std::string multiple_choices =
+ "HTTP/1.0 300 Multiple Choices\r\n";
+const std::string moved_permanently =
+ "HTTP/1.0 301 Moved Permanently\r\n";
+const std::string moved_temporarily =
+ "HTTP/1.0 302 Moved Temporarily\r\n";
+const std::string not_modified =
+ "HTTP/1.0 304 Not Modified\r\n";
+const std::string bad_request =
+ "HTTP/1.0 400 Bad Request\r\n";
+const std::string unauthorized =
+ "HTTP/1.0 401 Unauthorized\r\n";
+const std::string forbidden =
+ "HTTP/1.0 403 Forbidden\r\n";
+const std::string not_found =
+ "HTTP/1.0 404 Not Found\r\n";
+const std::string internal_server_error =
+ "HTTP/1.0 500 Internal Server Error\r\n";
+const std::string not_implemented =
+ "HTTP/1.0 501 Not Implemented\r\n";
+const std::string bad_gateway =
+ "HTTP/1.0 502 Bad Gateway\r\n";
+const std::string service_unavailable =
+ "HTTP/1.0 503 Service Unavailable\r\n";
+
+boost::asio::const_buffer to_buffer(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return boost::asio::buffer(ok);
+ case reply::created:
+ return boost::asio::buffer(created);
+ case reply::accepted:
+ return boost::asio::buffer(accepted);
+ case reply::no_content:
+ return boost::asio::buffer(no_content);
+ case reply::multiple_choices:
+ return boost::asio::buffer(multiple_choices);
+ case reply::moved_permanently:
+ return boost::asio::buffer(moved_permanently);
+ case reply::moved_temporarily:
+ return boost::asio::buffer(moved_temporarily);
+ case reply::not_modified:
+ return boost::asio::buffer(not_modified);
+ case reply::bad_request:
+ return boost::asio::buffer(bad_request);
+ case reply::unauthorized:
+ return boost::asio::buffer(unauthorized);
+ case reply::forbidden:
+ return boost::asio::buffer(forbidden);
+ case reply::not_found:
+ return boost::asio::buffer(not_found);
+ case reply::internal_server_error:
+ return boost::asio::buffer(internal_server_error);
+ case reply::not_implemented:
+ return boost::asio::buffer(not_implemented);
+ case reply::bad_gateway:
+ return boost::asio::buffer(bad_gateway);
+ case reply::service_unavailable:
+ return boost::asio::buffer(service_unavailable);
+ default:
+ return boost::asio::buffer(internal_server_error);
+ }
+}
+
+} // namespace status_strings
+
+namespace misc_strings {
+
+const char name_value_separator[] = { ':', ' ' };
+const char crlf[] = { '\r', '\n' };
+
+} // namespace misc_strings
+
+std::vector<boost::asio::const_buffer> reply::to_buffers()
+{
+ std::vector<boost::asio::const_buffer> buffers;
+ buffers.push_back(status_strings::to_buffer(status));
+ for (std::size_t i = 0; i < headers.size(); ++i)
+ {
+ header& h = headers[i];
+ buffers.push_back(boost::asio::buffer(h.name));
+ buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator));
+ buffers.push_back(boost::asio::buffer(h.value));
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ }
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ buffers.push_back(boost::asio::buffer(content));
+ return buffers;
+}
+
+namespace stock_replies {
+
+const char ok[] = "";
+const char created[] =
+ "<html>"
+ "<head><title>Created</title></head>"
+ "<body><h1>201 Created</h1></body>"
+ "</html>";
+const char accepted[] =
+ "<html>"
+ "<head><title>Accepted</title></head>"
+ "<body><h1>202 Accepted</h1></body>"
+ "</html>";
+const char no_content[] =
+ "<html>"
+ "<head><title>No Content</title></head>"
+ "<body><h1>204 Content</h1></body>"
+ "</html>";
+const char multiple_choices[] =
+ "<html>"
+ "<head><title>Multiple Choices</title></head>"
+ "<body><h1>300 Multiple Choices</h1></body>"
+ "</html>";
+const char moved_permanently[] =
+ "<html>"
+ "<head><title>Moved Permanently</title></head>"
+ "<body><h1>301 Moved Permanently</h1></body>"
+ "</html>";
+const char moved_temporarily[] =
+ "<html>"
+ "<head><title>Moved Temporarily</title></head>"
+ "<body><h1>302 Moved Temporarily</h1></body>"
+ "</html>";
+const char not_modified[] =
+ "<html>"
+ "<head><title>Not Modified</title></head>"
+ "<body><h1>304 Not Modified</h1></body>"
+ "</html>";
+const char bad_request[] =
+ "<html>"
+ "<head><title>Bad Request</title></head>"
+ "<body><h1>400 Bad Request</h1></body>"
+ "</html>";
+const char unauthorized[] =
+ "<html>"
+ "<head><title>Unauthorized</title></head>"
+ "<body><h1>401 Unauthorized</h1></body>"
+ "</html>";
+const char forbidden[] =
+ "<html>"
+ "<head><title>Forbidden</title></head>"
+ "<body><h1>403 Forbidden</h1></body>"
+ "</html>";
+const char not_found[] =
+ "<html>"
+ "<head><title>Not Found</title></head>"
+ "<body><h1>404 Not Found</h1></body>"
+ "</html>";
+const char internal_server_error[] =
+ "<html>"
+ "<head><title>Internal Server Error</title></head>"
+ "<body><h1>500 Internal Server Error</h1></body>"
+ "</html>";
+const char not_implemented[] =
+ "<html>"
+ "<head><title>Not Implemented</title></head>"
+ "<body><h1>501 Not Implemented</h1></body>"
+ "</html>";
+const char bad_gateway[] =
+ "<html>"
+ "<head><title>Bad Gateway</title></head>"
+ "<body><h1>502 Bad Gateway</h1></body>"
+ "</html>";
+const char service_unavailable[] =
+ "<html>"
+ "<head><title>Service Unavailable</title></head>"
+ "<body><h1>503 Service Unavailable</h1></body>"
+ "</html>";
+
+std::string to_string(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return ok;
+ case reply::created:
+ return created;
+ case reply::accepted:
+ return accepted;
+ case reply::no_content:
+ return no_content;
+ case reply::multiple_choices:
+ return multiple_choices;
+ case reply::moved_permanently:
+ return moved_permanently;
+ case reply::moved_temporarily:
+ return moved_temporarily;
+ case reply::not_modified:
+ return not_modified;
+ case reply::bad_request:
+ return bad_request;
+ case reply::unauthorized:
+ return unauthorized;
+ case reply::forbidden:
+ return forbidden;
+ case reply::not_found:
+ return not_found;
+ case reply::internal_server_error:
+ return internal_server_error;
+ case reply::not_implemented:
+ return not_implemented;
+ case reply::bad_gateway:
+ return bad_gateway;
+ case reply::service_unavailable:
+ return service_unavailable;
+ default:
+ return internal_server_error;
+ }
+}
+
+} // namespace stock_replies
+
+reply reply::stock_reply(reply::status_type status)
+{
+ reply rep;
+ rep.status = status;
+ rep.content = stock_replies::to_string(status);
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = "text/html";
+ return rep;
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/reply.hpp b/doc/html/boost_asio/example/cpp03/http/server/reply.hpp
new file mode 100644
index 0000000000..51d495bc65
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/reply.hpp
@@ -0,0 +1,64 @@
+//
+// reply.hpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REPLY_HPP
+#define HTTP_REPLY_HPP
+
+#include <string>
+#include <vector>
+#include <boost/asio.hpp>
+#include "header.hpp"
+
+namespace http {
+namespace server {
+
+/// A reply to be sent to a client.
+struct reply
+{
+ /// The status of the reply.
+ enum status_type
+ {
+ ok = 200,
+ created = 201,
+ accepted = 202,
+ no_content = 204,
+ multiple_choices = 300,
+ moved_permanently = 301,
+ moved_temporarily = 302,
+ not_modified = 304,
+ bad_request = 400,
+ unauthorized = 401,
+ forbidden = 403,
+ not_found = 404,
+ internal_server_error = 500,
+ not_implemented = 501,
+ bad_gateway = 502,
+ service_unavailable = 503
+ } status;
+
+ /// The headers to be included in the reply.
+ std::vector<header> headers;
+
+ /// The content to be sent in the reply.
+ std::string content;
+
+ /// Convert the reply into a vector of buffers. The buffers do not own the
+ /// underlying memory blocks, therefore the reply object must remain valid and
+ /// not be changed until the write operation has completed.
+ std::vector<boost::asio::const_buffer> to_buffers();
+
+ /// Get a stock reply.
+ static reply stock_reply(status_type status);
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REPLY_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/request.hpp b/doc/html/boost_asio/example/cpp03/http/server/request.hpp
new file mode 100644
index 0000000000..20efff4dd3
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/request.hpp
@@ -0,0 +1,34 @@
+//
+// request.hpp
+// ~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REQUEST_HPP
+#define HTTP_REQUEST_HPP
+
+#include <string>
+#include <vector>
+#include "header.hpp"
+
+namespace http {
+namespace server {
+
+/// A request received from a client.
+struct request
+{
+ std::string method;
+ std::string uri;
+ int http_version_major;
+ int http_version_minor;
+ std::vector<header> headers;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REQUEST_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/request_handler.cpp b/doc/html/boost_asio/example/cpp03/http/server/request_handler.cpp
new file mode 100644
index 0000000000..1b45ce577c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/request_handler.cpp
@@ -0,0 +1,122 @@
+//
+// request_handler.cpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_handler.hpp"
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <boost/lexical_cast.hpp>
+#include "mime_types.hpp"
+#include "reply.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server {
+
+request_handler::request_handler(const std::string& doc_root)
+ : doc_root_(doc_root)
+{
+}
+
+void request_handler::handle_request(const request& req, reply& rep)
+{
+ // Decode url to path.
+ std::string request_path;
+ if (!url_decode(req.uri, request_path))
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // Request path must be absolute and not contain "..".
+ if (request_path.empty() || request_path[0] != '/'
+ || request_path.find("..") != std::string::npos)
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // If path ends in slash (i.e. is a directory) then add "index.html".
+ if (request_path[request_path.size() - 1] == '/')
+ {
+ request_path += "index.html";
+ }
+
+ // Determine the file extension.
+ std::size_t last_slash_pos = request_path.find_last_of("/");
+ std::size_t last_dot_pos = request_path.find_last_of(".");
+ std::string extension;
+ if (last_dot_pos != std::string::npos && last_dot_pos > last_slash_pos)
+ {
+ extension = request_path.substr(last_dot_pos + 1);
+ }
+
+ // Open the file to send back.
+ std::string full_path = doc_root_ + request_path;
+ std::ifstream is(full_path.c_str(), std::ios::in | std::ios::binary);
+ if (!is)
+ {
+ rep = reply::stock_reply(reply::not_found);
+ return;
+ }
+
+ // Fill out the reply to be sent to the client.
+ rep.status = reply::ok;
+ char buf[512];
+ while (is.read(buf, sizeof(buf)).gcount() > 0)
+ rep.content.append(buf, is.gcount());
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = mime_types::extension_to_type(extension);
+}
+
+bool request_handler::url_decode(const std::string& in, std::string& out)
+{
+ out.clear();
+ out.reserve(in.size());
+ for (std::size_t i = 0; i < in.size(); ++i)
+ {
+ if (in[i] == '%')
+ {
+ if (i + 3 <= in.size())
+ {
+ int value = 0;
+ std::istringstream is(in.substr(i + 1, 2));
+ if (is >> std::hex >> value)
+ {
+ out += static_cast<char>(value);
+ i += 2;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else if (in[i] == '+')
+ {
+ out += ' ';
+ }
+ else
+ {
+ out += in[i];
+ }
+ }
+ return true;
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/request_handler.hpp b/doc/html/boost_asio/example/cpp03/http/server/request_handler.hpp
new file mode 100644
index 0000000000..542df83b7a
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/request_handler.hpp
@@ -0,0 +1,46 @@
+//
+// request_handler.hpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REQUEST_HANDLER_HPP
+#define HTTP_REQUEST_HANDLER_HPP
+
+#include <string>
+#include <boost/noncopyable.hpp>
+
+namespace http {
+namespace server {
+
+struct reply;
+struct request;
+
+/// The common handler for all incoming requests.
+class request_handler
+ : private boost::noncopyable
+{
+public:
+ /// Construct with a directory containing files to be served.
+ explicit request_handler(const std::string& doc_root);
+
+ /// Handle a request and produce a reply.
+ void handle_request(const request& req, reply& rep);
+
+private:
+ /// The directory containing the files to be served.
+ std::string doc_root_;
+
+ /// Perform URL-decoding on a string. Returns false if the encoding was
+ /// invalid.
+ static bool url_decode(const std::string& in, std::string& out);
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REQUEST_HANDLER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/request_parser.cpp b/doc/html/boost_asio/example/cpp03/http/server/request_parser.cpp
new file mode 100644
index 0000000000..bda4f1dbe3
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/request_parser.cpp
@@ -0,0 +1,315 @@
+//
+// request_parser.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_parser.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server {
+
+request_parser::request_parser()
+ : state_(method_start)
+{
+}
+
+void request_parser::reset()
+{
+ state_ = method_start;
+}
+
+boost::tribool request_parser::consume(request& req, char input)
+{
+ switch (state_)
+ {
+ case method_start:
+ if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ state_ = method;
+ req.method.push_back(input);
+ return boost::indeterminate;
+ }
+ case method:
+ if (input == ' ')
+ {
+ state_ = uri;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.method.push_back(input);
+ return boost::indeterminate;
+ }
+ case uri:
+ if (input == ' ')
+ {
+ state_ = http_version_h;
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.uri.push_back(input);
+ return boost::indeterminate;
+ }
+ case http_version_h:
+ if (input == 'H')
+ {
+ state_ = http_version_t_1;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_t_1:
+ if (input == 'T')
+ {
+ state_ = http_version_t_2;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_t_2:
+ if (input == 'T')
+ {
+ state_ = http_version_p;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_p:
+ if (input == 'P')
+ {
+ state_ = http_version_slash;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_slash:
+ if (input == '/')
+ {
+ req.http_version_major = 0;
+ req.http_version_minor = 0;
+ state_ = http_version_major_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_major_start:
+ if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ state_ = http_version_major;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_major:
+ if (input == '.')
+ {
+ state_ = http_version_minor_start;
+ return boost::indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_minor_start:
+ if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ state_ = http_version_minor;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_minor:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_1;
+ return boost::indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case expecting_newline_1:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case header_line_start:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_3;
+ return boost::indeterminate;
+ }
+ else if (!req.headers.empty() && (input == ' ' || input == '\t'))
+ {
+ state_ = header_lws;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.push_back(header());
+ req.headers.back().name.push_back(input);
+ state_ = header_name;
+ return boost::indeterminate;
+ }
+ case header_lws:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return boost::indeterminate;
+ }
+ else if (input == ' ' || input == '\t')
+ {
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ state_ = header_value;
+ req.headers.back().value.push_back(input);
+ return boost::indeterminate;
+ }
+ case header_name:
+ if (input == ':')
+ {
+ state_ = space_before_header_value;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.back().name.push_back(input);
+ return boost::indeterminate;
+ }
+ case space_before_header_value:
+ if (input == ' ')
+ {
+ state_ = header_value;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case header_value:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.back().value.push_back(input);
+ return boost::indeterminate;
+ }
+ case expecting_newline_2:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case expecting_newline_3:
+ return (input == '\n');
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_char(int c)
+{
+ return c >= 0 && c <= 127;
+}
+
+bool request_parser::is_ctl(int c)
+{
+ return (c >= 0 && c <= 31) || (c == 127);
+}
+
+bool request_parser::is_tspecial(int c)
+{
+ switch (c)
+ {
+ case '(': case ')': case '<': case '>': case '@':
+ case ',': case ';': case ':': case '\\': case '"':
+ case '/': case '[': case ']': case '?': case '=':
+ case '{': case '}': case ' ': case '\t':
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_digit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/request_parser.hpp b/doc/html/boost_asio/example/cpp03/http/server/request_parser.hpp
new file mode 100644
index 0000000000..f8c45bec9f
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/request_parser.hpp
@@ -0,0 +1,95 @@
+//
+// request_parser.hpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REQUEST_PARSER_HPP
+#define HTTP_REQUEST_PARSER_HPP
+
+#include <boost/logic/tribool.hpp>
+#include <boost/tuple/tuple.hpp>
+
+namespace http {
+namespace server {
+
+struct request;
+
+/// Parser for incoming requests.
+class request_parser
+{
+public:
+ /// Construct ready to parse the request method.
+ request_parser();
+
+ /// Reset to initial parser state.
+ void reset();
+
+ /// Parse some data. The tribool return value is true when a complete request
+ /// has been parsed, false if the data is invalid, indeterminate when more
+ /// data is required. The InputIterator return value indicates how much of the
+ /// input has been consumed.
+ template <typename InputIterator>
+ boost::tuple<boost::tribool, InputIterator> parse(request& req,
+ InputIterator begin, InputIterator end)
+ {
+ while (begin != end)
+ {
+ boost::tribool result = consume(req, *begin++);
+ if (result || !result)
+ return boost::make_tuple(result, begin);
+ }
+ boost::tribool result = boost::indeterminate;
+ return boost::make_tuple(result, begin);
+ }
+
+private:
+ /// Handle the next character of input.
+ boost::tribool consume(request& req, char input);
+
+ /// Check if a byte is an HTTP character.
+ static bool is_char(int c);
+
+ /// Check if a byte is an HTTP control character.
+ static bool is_ctl(int c);
+
+ /// Check if a byte is defined as an HTTP tspecial character.
+ static bool is_tspecial(int c);
+
+ /// Check if a byte is a digit.
+ static bool is_digit(int c);
+
+ /// The current state of the parser.
+ enum state
+ {
+ method_start,
+ method,
+ uri,
+ http_version_h,
+ http_version_t_1,
+ http_version_t_2,
+ http_version_p,
+ http_version_slash,
+ http_version_major_start,
+ http_version_major,
+ http_version_minor_start,
+ http_version_minor,
+ expecting_newline_1,
+ header_line_start,
+ header_lws,
+ header_name,
+ space_before_header_value,
+ header_value,
+ expecting_newline_2,
+ expecting_newline_3
+ } state_;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REQUEST_PARSER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server/server.cpp b/doc/html/boost_asio/example/cpp03/http/server/server.cpp
new file mode 100644
index 0000000000..8ee0523a6d
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/server.cpp
@@ -0,0 +1,94 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "server.hpp"
+#include <boost/bind.hpp>
+#include <signal.h>
+
+namespace http {
+namespace server {
+
+server::server(const std::string& address, const std::string& port,
+ const std::string& doc_root)
+ : io_service_(),
+ signals_(io_service_),
+ acceptor_(io_service_),
+ connection_manager_(),
+ new_connection_(),
+ request_handler_(doc_root)
+{
+ // Register to handle the signals that indicate when the server should exit.
+ // It is safe to register for the same signal multiple times in a program,
+ // provided all registration for the specified signal is made through Asio.
+ signals_.add(SIGINT);
+ signals_.add(SIGTERM);
+#if defined(SIGQUIT)
+ signals_.add(SIGQUIT);
+#endif // defined(SIGQUIT)
+ signals_.async_wait(boost::bind(&server::handle_stop, this));
+
+ // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR).
+ boost::asio::ip::tcp::resolver resolver(io_service_);
+ boost::asio::ip::tcp::resolver::query query(address, port);
+ boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(query);
+ acceptor_.open(endpoint.protocol());
+ acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
+ acceptor_.bind(endpoint);
+ acceptor_.listen();
+
+ start_accept();
+}
+
+void server::run()
+{
+ // The io_service::run() call will block until all asynchronous operations
+ // have finished. While the server is running, there is always at least one
+ // asynchronous operation outstanding: the asynchronous accept call waiting
+ // for new incoming connections.
+ io_service_.run();
+}
+
+void server::start_accept()
+{
+ new_connection_.reset(new connection(io_service_,
+ connection_manager_, request_handler_));
+ acceptor_.async_accept(new_connection_->socket(),
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error));
+}
+
+void server::handle_accept(const boost::system::error_code& e)
+{
+ // Check whether the server was stopped by a signal before this completion
+ // handler had a chance to run.
+ if (!acceptor_.is_open())
+ {
+ return;
+ }
+
+ if (!e)
+ {
+ connection_manager_.start(new_connection_);
+ }
+
+ start_accept();
+}
+
+void server::handle_stop()
+{
+ // The server is stopped by cancelling all outstanding asynchronous
+ // operations. Once all operations have finished the io_service::run() call
+ // will exit.
+ acceptor_.close();
+ connection_manager_.stop_all();
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server/server.hpp b/doc/html/boost_asio/example/cpp03/http/server/server.hpp
new file mode 100644
index 0000000000..6662e3c2f4
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server/server.hpp
@@ -0,0 +1,69 @@
+//
+// server.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER_HPP
+#define HTTP_SERVER_HPP
+
+#include <boost/asio.hpp>
+#include <string>
+#include <boost/noncopyable.hpp>
+#include "connection.hpp"
+#include "connection_manager.hpp"
+#include "request_handler.hpp"
+
+namespace http {
+namespace server {
+
+/// The top-level class of the HTTP server.
+class server
+ : private boost::noncopyable
+{
+public:
+ /// Construct the server to listen on the specified TCP address and port, and
+ /// serve up files from the given directory.
+ explicit server(const std::string& address, const std::string& port,
+ const std::string& doc_root);
+
+ /// Run the server's io_service loop.
+ void run();
+
+private:
+ /// Initiate an asynchronous accept operation.
+ void start_accept();
+
+ /// Handle completion of an asynchronous accept operation.
+ void handle_accept(const boost::system::error_code& e);
+
+ /// Handle a request to stop the server.
+ void handle_stop();
+
+ /// The io_service used to perform asynchronous operations.
+ boost::asio::io_service io_service_;
+
+ /// The signal_set is used to register for process termination notifications.
+ boost::asio::signal_set signals_;
+
+ /// Acceptor used to listen for incoming connections.
+ boost::asio::ip::tcp::acceptor acceptor_;
+
+ /// The connection manager which owns all live connections.
+ connection_manager connection_manager_;
+
+ /// The next connection to be accepted.
+ connection_ptr new_connection_;
+
+ /// The handler for all incoming requests.
+ request_handler request_handler_;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_SERVER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/connection.cpp b/doc/html/boost_asio/example/cpp03/http/server2/connection.cpp
new file mode 100644
index 0000000000..e2700c6001
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/connection.cpp
@@ -0,0 +1,93 @@
+//
+// connection.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "connection.hpp"
+#include <vector>
+#include <boost/bind.hpp>
+#include "request_handler.hpp"
+
+namespace http {
+namespace server2 {
+
+connection::connection(boost::asio::io_service& io_service,
+ request_handler& handler)
+ : socket_(io_service),
+ request_handler_(handler)
+{
+}
+
+boost::asio::ip::tcp::socket& connection::socket()
+{
+ return socket_;
+}
+
+void connection::start()
+{
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ boost::bind(&connection::handle_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+}
+
+void connection::handle_read(const boost::system::error_code& e,
+ std::size_t bytes_transferred)
+{
+ if (!e)
+ {
+ boost::tribool result;
+ boost::tie(result, boost::tuples::ignore) = request_parser_.parse(
+ request_, buffer_.data(), buffer_.data() + bytes_transferred);
+
+ if (result)
+ {
+ request_handler_.handle_request(request_, reply_);
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ else if (!result)
+ {
+ reply_ = reply::stock_reply(reply::bad_request);
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ boost::bind(&connection::handle_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+
+ // If an error occurs then no new asynchronous operations are started. This
+ // means that all shared_ptr references to the connection object will
+ // disappear and the object will be destroyed automatically after this
+ // handler returns. The connection class's destructor closes the socket.
+}
+
+void connection::handle_write(const boost::system::error_code& e)
+{
+ if (!e)
+ {
+ // Initiate graceful connection closure.
+ boost::system::error_code ignored_ec;
+ socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ignored_ec);
+ }
+
+ // No new asynchronous operations are started. This means that all shared_ptr
+ // references to the connection object will disappear and the object will be
+ // destroyed automatically after this handler returns. The connection class's
+ // destructor closes the socket.
+}
+
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/connection.hpp b/doc/html/boost_asio/example/cpp03/http/server2/connection.hpp
new file mode 100644
index 0000000000..7dff608277
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/connection.hpp
@@ -0,0 +1,75 @@
+//
+// connection.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_CONNECTION_HPP
+#define HTTP_SERVER2_CONNECTION_HPP
+
+#include <boost/asio.hpp>
+#include <boost/array.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include "reply.hpp"
+#include "request.hpp"
+#include "request_handler.hpp"
+#include "request_parser.hpp"
+
+namespace http {
+namespace server2 {
+
+/// Represents a single connection from a client.
+class connection
+ : public boost::enable_shared_from_this<connection>,
+ private boost::noncopyable
+{
+public:
+ /// Construct a connection with the given io_service.
+ explicit connection(boost::asio::io_service& io_service,
+ request_handler& handler);
+
+ /// Get the socket associated with the connection.
+ boost::asio::ip::tcp::socket& socket();
+
+ /// Start the first asynchronous operation for the connection.
+ void start();
+
+private:
+ /// Handle completion of a read operation.
+ void handle_read(const boost::system::error_code& e,
+ std::size_t bytes_transferred);
+
+ /// Handle completion of a write operation.
+ void handle_write(const boost::system::error_code& e);
+
+ /// Socket for the connection.
+ boost::asio::ip::tcp::socket socket_;
+
+ /// The handler used to process the incoming request.
+ request_handler& request_handler_;
+
+ /// Buffer for incoming data.
+ boost::array<char, 8192> buffer_;
+
+ /// The incoming request.
+ request request_;
+
+ /// The parser for the incoming request.
+ request_parser request_parser_;
+
+ /// The reply to be sent back to the client.
+ reply reply_;
+};
+
+typedef boost::shared_ptr<connection> connection_ptr;
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_CONNECTION_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/header.hpp b/doc/html/boost_asio/example/cpp03/http/server2/header.hpp
new file mode 100644
index 0000000000..45613d3cf4
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/header.hpp
@@ -0,0 +1,28 @@
+//
+// header.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_HEADER_HPP
+#define HTTP_SERVER2_HEADER_HPP
+
+#include <string>
+
+namespace http {
+namespace server2 {
+
+struct header
+{
+ std::string name;
+ std::string value;
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.cpp b/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.cpp
new file mode 100644
index 0000000000..9b948b8ddb
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.cpp
@@ -0,0 +1,71 @@
+//
+// io_service_pool.cpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "server.hpp"
+#include <stdexcept>
+#include <boost/thread/thread.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+
+namespace http {
+namespace server2 {
+
+io_service_pool::io_service_pool(std::size_t pool_size)
+ : next_io_service_(0)
+{
+ if (pool_size == 0)
+ throw std::runtime_error("io_service_pool size is 0");
+
+ // Give all the io_services work to do so that their run() functions will not
+ // exit until they are explicitly stopped.
+ for (std::size_t i = 0; i < pool_size; ++i)
+ {
+ io_service_ptr io_service(new boost::asio::io_service);
+ work_ptr work(new boost::asio::io_service::work(*io_service));
+ io_services_.push_back(io_service);
+ work_.push_back(work);
+ }
+}
+
+void io_service_pool::run()
+{
+ // Create a pool of threads to run all of the io_services.
+ std::vector<boost::shared_ptr<boost::thread> > threads;
+ for (std::size_t i = 0; i < io_services_.size(); ++i)
+ {
+ boost::shared_ptr<boost::thread> thread(new boost::thread(
+ boost::bind(&boost::asio::io_service::run, io_services_[i])));
+ threads.push_back(thread);
+ }
+
+ // Wait for all threads in the pool to exit.
+ for (std::size_t i = 0; i < threads.size(); ++i)
+ threads[i]->join();
+}
+
+void io_service_pool::stop()
+{
+ // Explicitly stop all io_services.
+ for (std::size_t i = 0; i < io_services_.size(); ++i)
+ io_services_[i]->stop();
+}
+
+boost::asio::io_service& io_service_pool::get_io_service()
+{
+ // Use a round-robin scheme to choose the next io_service to use.
+ boost::asio::io_service& io_service = *io_services_[next_io_service_];
+ ++next_io_service_;
+ if (next_io_service_ == io_services_.size())
+ next_io_service_ = 0;
+ return io_service;
+}
+
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.hpp b/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.hpp
new file mode 100644
index 0000000000..a0031388dc
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/io_service_pool.hpp
@@ -0,0 +1,56 @@
+//
+// io_service_pool.hpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_IO_SERVICE_POOL_HPP
+#define HTTP_SERVER2_IO_SERVICE_POOL_HPP
+
+#include <boost/asio.hpp>
+#include <vector>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+
+namespace http {
+namespace server2 {
+
+/// A pool of io_service objects.
+class io_service_pool
+ : private boost::noncopyable
+{
+public:
+ /// Construct the io_service pool.
+ explicit io_service_pool(std::size_t pool_size);
+
+ /// Run all io_service objects in the pool.
+ void run();
+
+ /// Stop all io_service objects in the pool.
+ void stop();
+
+ /// Get an io_service to use.
+ boost::asio::io_service& get_io_service();
+
+private:
+ typedef boost::shared_ptr<boost::asio::io_service> io_service_ptr;
+ typedef boost::shared_ptr<boost::asio::io_service::work> work_ptr;
+
+ /// The pool of io_services.
+ std::vector<io_service_ptr> io_services_;
+
+ /// The work that keeps the io_services running.
+ std::vector<work_ptr> work_;
+
+ /// The next io_service to use for a connection.
+ std::size_t next_io_service_;
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_IO_SERVICE_POOL_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/main.cpp b/doc/html/boost_asio/example/cpp03/http/server2/main.cpp
new file mode 100644
index 0000000000..c6a00836c2
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/main.cpp
@@ -0,0 +1,46 @@
+//
+// main.cpp
+// ~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
+#include "server.hpp"
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 5)
+ {
+ std::cerr << "Usage: http_server <address> <port> <threads> <doc_root>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " receiver 0.0.0.0 80 1 .\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " receiver 0::0 80 1 .\n";
+ return 1;
+ }
+
+ // Initialise the server.
+ std::size_t num_threads = boost::lexical_cast<std::size_t>(argv[3]);
+ http::server2::server s(argv[1], argv[2], argv[4], num_threads);
+
+ // Run the server until stopped.
+ s.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/mime_types.cpp b/doc/html/boost_asio/example/cpp03/http/server2/mime_types.cpp
new file mode 100644
index 0000000000..5dee5eb3b6
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/mime_types.cpp
@@ -0,0 +1,46 @@
+//
+// mime_types.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "mime_types.hpp"
+
+namespace http {
+namespace server2 {
+namespace mime_types {
+
+struct mapping
+{
+ const char* extension;
+ const char* mime_type;
+} mappings[] =
+{
+ { "gif", "image/gif" },
+ { "htm", "text/html" },
+ { "html", "text/html" },
+ { "jpg", "image/jpeg" },
+ { "png", "image/png" },
+ { 0, 0 } // Marks end of list.
+};
+
+std::string extension_to_type(const std::string& extension)
+{
+ for (mapping* m = mappings; m->extension; ++m)
+ {
+ if (m->extension == extension)
+ {
+ return m->mime_type;
+ }
+ }
+
+ return "text/plain";
+}
+
+} // namespace mime_types
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/mime_types.hpp b/doc/html/boost_asio/example/cpp03/http/server2/mime_types.hpp
new file mode 100644
index 0000000000..bf1f6d39e5
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/mime_types.hpp
@@ -0,0 +1,27 @@
+//
+// mime_types.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_MIME_TYPES_HPP
+#define HTTP_SERVER2_MIME_TYPES_HPP
+
+#include <string>
+
+namespace http {
+namespace server2 {
+namespace mime_types {
+
+/// Convert a file extension into a MIME type.
+std::string extension_to_type(const std::string& extension);
+
+} // namespace mime_types
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_MIME_TYPES_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/reply.cpp b/doc/html/boost_asio/example/cpp03/http/server2/reply.cpp
new file mode 100644
index 0000000000..d7f7c987cb
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/reply.cpp
@@ -0,0 +1,256 @@
+//
+// reply.cpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "reply.hpp"
+#include <string>
+#include <boost/lexical_cast.hpp>
+
+namespace http {
+namespace server2 {
+
+namespace status_strings {
+
+const std::string ok =
+ "HTTP/1.0 200 OK\r\n";
+const std::string created =
+ "HTTP/1.0 201 Created\r\n";
+const std::string accepted =
+ "HTTP/1.0 202 Accepted\r\n";
+const std::string no_content =
+ "HTTP/1.0 204 No Content\r\n";
+const std::string multiple_choices =
+ "HTTP/1.0 300 Multiple Choices\r\n";
+const std::string moved_permanently =
+ "HTTP/1.0 301 Moved Permanently\r\n";
+const std::string moved_temporarily =
+ "HTTP/1.0 302 Moved Temporarily\r\n";
+const std::string not_modified =
+ "HTTP/1.0 304 Not Modified\r\n";
+const std::string bad_request =
+ "HTTP/1.0 400 Bad Request\r\n";
+const std::string unauthorized =
+ "HTTP/1.0 401 Unauthorized\r\n";
+const std::string forbidden =
+ "HTTP/1.0 403 Forbidden\r\n";
+const std::string not_found =
+ "HTTP/1.0 404 Not Found\r\n";
+const std::string internal_server_error =
+ "HTTP/1.0 500 Internal Server Error\r\n";
+const std::string not_implemented =
+ "HTTP/1.0 501 Not Implemented\r\n";
+const std::string bad_gateway =
+ "HTTP/1.0 502 Bad Gateway\r\n";
+const std::string service_unavailable =
+ "HTTP/1.0 503 Service Unavailable\r\n";
+
+boost::asio::const_buffer to_buffer(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return boost::asio::buffer(ok);
+ case reply::created:
+ return boost::asio::buffer(created);
+ case reply::accepted:
+ return boost::asio::buffer(accepted);
+ case reply::no_content:
+ return boost::asio::buffer(no_content);
+ case reply::multiple_choices:
+ return boost::asio::buffer(multiple_choices);
+ case reply::moved_permanently:
+ return boost::asio::buffer(moved_permanently);
+ case reply::moved_temporarily:
+ return boost::asio::buffer(moved_temporarily);
+ case reply::not_modified:
+ return boost::asio::buffer(not_modified);
+ case reply::bad_request:
+ return boost::asio::buffer(bad_request);
+ case reply::unauthorized:
+ return boost::asio::buffer(unauthorized);
+ case reply::forbidden:
+ return boost::asio::buffer(forbidden);
+ case reply::not_found:
+ return boost::asio::buffer(not_found);
+ case reply::internal_server_error:
+ return boost::asio::buffer(internal_server_error);
+ case reply::not_implemented:
+ return boost::asio::buffer(not_implemented);
+ case reply::bad_gateway:
+ return boost::asio::buffer(bad_gateway);
+ case reply::service_unavailable:
+ return boost::asio::buffer(service_unavailable);
+ default:
+ return boost::asio::buffer(internal_server_error);
+ }
+}
+
+} // namespace status_strings
+
+namespace misc_strings {
+
+const char name_value_separator[] = { ':', ' ' };
+const char crlf[] = { '\r', '\n' };
+
+} // namespace misc_strings
+
+std::vector<boost::asio::const_buffer> reply::to_buffers()
+{
+ std::vector<boost::asio::const_buffer> buffers;
+ buffers.push_back(status_strings::to_buffer(status));
+ for (std::size_t i = 0; i < headers.size(); ++i)
+ {
+ header& h = headers[i];
+ buffers.push_back(boost::asio::buffer(h.name));
+ buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator));
+ buffers.push_back(boost::asio::buffer(h.value));
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ }
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ buffers.push_back(boost::asio::buffer(content));
+ return buffers;
+}
+
+namespace stock_replies {
+
+const char ok[] = "";
+const char created[] =
+ "<html>"
+ "<head><title>Created</title></head>"
+ "<body><h1>201 Created</h1></body>"
+ "</html>";
+const char accepted[] =
+ "<html>"
+ "<head><title>Accepted</title></head>"
+ "<body><h1>202 Accepted</h1></body>"
+ "</html>";
+const char no_content[] =
+ "<html>"
+ "<head><title>No Content</title></head>"
+ "<body><h1>204 Content</h1></body>"
+ "</html>";
+const char multiple_choices[] =
+ "<html>"
+ "<head><title>Multiple Choices</title></head>"
+ "<body><h1>300 Multiple Choices</h1></body>"
+ "</html>";
+const char moved_permanently[] =
+ "<html>"
+ "<head><title>Moved Permanently</title></head>"
+ "<body><h1>301 Moved Permanently</h1></body>"
+ "</html>";
+const char moved_temporarily[] =
+ "<html>"
+ "<head><title>Moved Temporarily</title></head>"
+ "<body><h1>302 Moved Temporarily</h1></body>"
+ "</html>";
+const char not_modified[] =
+ "<html>"
+ "<head><title>Not Modified</title></head>"
+ "<body><h1>304 Not Modified</h1></body>"
+ "</html>";
+const char bad_request[] =
+ "<html>"
+ "<head><title>Bad Request</title></head>"
+ "<body><h1>400 Bad Request</h1></body>"
+ "</html>";
+const char unauthorized[] =
+ "<html>"
+ "<head><title>Unauthorized</title></head>"
+ "<body><h1>401 Unauthorized</h1></body>"
+ "</html>";
+const char forbidden[] =
+ "<html>"
+ "<head><title>Forbidden</title></head>"
+ "<body><h1>403 Forbidden</h1></body>"
+ "</html>";
+const char not_found[] =
+ "<html>"
+ "<head><title>Not Found</title></head>"
+ "<body><h1>404 Not Found</h1></body>"
+ "</html>";
+const char internal_server_error[] =
+ "<html>"
+ "<head><title>Internal Server Error</title></head>"
+ "<body><h1>500 Internal Server Error</h1></body>"
+ "</html>";
+const char not_implemented[] =
+ "<html>"
+ "<head><title>Not Implemented</title></head>"
+ "<body><h1>501 Not Implemented</h1></body>"
+ "</html>";
+const char bad_gateway[] =
+ "<html>"
+ "<head><title>Bad Gateway</title></head>"
+ "<body><h1>502 Bad Gateway</h1></body>"
+ "</html>";
+const char service_unavailable[] =
+ "<html>"
+ "<head><title>Service Unavailable</title></head>"
+ "<body><h1>503 Service Unavailable</h1></body>"
+ "</html>";
+
+std::string to_string(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return ok;
+ case reply::created:
+ return created;
+ case reply::accepted:
+ return accepted;
+ case reply::no_content:
+ return no_content;
+ case reply::multiple_choices:
+ return multiple_choices;
+ case reply::moved_permanently:
+ return moved_permanently;
+ case reply::moved_temporarily:
+ return moved_temporarily;
+ case reply::not_modified:
+ return not_modified;
+ case reply::bad_request:
+ return bad_request;
+ case reply::unauthorized:
+ return unauthorized;
+ case reply::forbidden:
+ return forbidden;
+ case reply::not_found:
+ return not_found;
+ case reply::internal_server_error:
+ return internal_server_error;
+ case reply::not_implemented:
+ return not_implemented;
+ case reply::bad_gateway:
+ return bad_gateway;
+ case reply::service_unavailable:
+ return service_unavailable;
+ default:
+ return internal_server_error;
+ }
+}
+
+} // namespace stock_replies
+
+reply reply::stock_reply(reply::status_type status)
+{
+ reply rep;
+ rep.status = status;
+ rep.content = stock_replies::to_string(status);
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = "text/html";
+ return rep;
+}
+
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/reply.hpp b/doc/html/boost_asio/example/cpp03/http/server2/reply.hpp
new file mode 100644
index 0000000000..fd386217ef
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/reply.hpp
@@ -0,0 +1,64 @@
+//
+// reply.hpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_REPLY_HPP
+#define HTTP_SERVER2_REPLY_HPP
+
+#include <string>
+#include <vector>
+#include <boost/asio.hpp>
+#include "header.hpp"
+
+namespace http {
+namespace server2 {
+
+/// A reply to be sent to a client.
+struct reply
+{
+ /// The status of the reply.
+ enum status_type
+ {
+ ok = 200,
+ created = 201,
+ accepted = 202,
+ no_content = 204,
+ multiple_choices = 300,
+ moved_permanently = 301,
+ moved_temporarily = 302,
+ not_modified = 304,
+ bad_request = 400,
+ unauthorized = 401,
+ forbidden = 403,
+ not_found = 404,
+ internal_server_error = 500,
+ not_implemented = 501,
+ bad_gateway = 502,
+ service_unavailable = 503
+ } status;
+
+ /// The headers to be included in the reply.
+ std::vector<header> headers;
+
+ /// The content to be sent in the reply.
+ std::string content;
+
+ /// Convert the reply into a vector of buffers. The buffers do not own the
+ /// underlying memory blocks, therefore the reply object must remain valid and
+ /// not be changed until the write operation has completed.
+ std::vector<boost::asio::const_buffer> to_buffers();
+
+ /// Get a stock reply.
+ static reply stock_reply(status_type status);
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_REPLY_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/request.hpp b/doc/html/boost_asio/example/cpp03/http/server2/request.hpp
new file mode 100644
index 0000000000..0d70416209
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/request.hpp
@@ -0,0 +1,34 @@
+//
+// request.hpp
+// ~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_REQUEST_HPP
+#define HTTP_SERVER2_REQUEST_HPP
+
+#include <string>
+#include <vector>
+#include "header.hpp"
+
+namespace http {
+namespace server2 {
+
+/// A request received from a client.
+struct request
+{
+ std::string method;
+ std::string uri;
+ int http_version_major;
+ int http_version_minor;
+ std::vector<header> headers;
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_REQUEST_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/request_handler.cpp b/doc/html/boost_asio/example/cpp03/http/server2/request_handler.cpp
new file mode 100644
index 0000000000..84f50b8732
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/request_handler.cpp
@@ -0,0 +1,122 @@
+//
+// request_handler.cpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_handler.hpp"
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <boost/lexical_cast.hpp>
+#include "mime_types.hpp"
+#include "reply.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server2 {
+
+request_handler::request_handler(const std::string& doc_root)
+ : doc_root_(doc_root)
+{
+}
+
+void request_handler::handle_request(const request& req, reply& rep)
+{
+ // Decode url to path.
+ std::string request_path;
+ if (!url_decode(req.uri, request_path))
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // Request path must be absolute and not contain "..".
+ if (request_path.empty() || request_path[0] != '/'
+ || request_path.find("..") != std::string::npos)
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // If path ends in slash (i.e. is a directory) then add "index.html".
+ if (request_path[request_path.size() - 1] == '/')
+ {
+ request_path += "index.html";
+ }
+
+ // Determine the file extension.
+ std::size_t last_slash_pos = request_path.find_last_of("/");
+ std::size_t last_dot_pos = request_path.find_last_of(".");
+ std::string extension;
+ if (last_dot_pos != std::string::npos && last_dot_pos > last_slash_pos)
+ {
+ extension = request_path.substr(last_dot_pos + 1);
+ }
+
+ // Open the file to send back.
+ std::string full_path = doc_root_ + request_path;
+ std::ifstream is(full_path.c_str(), std::ios::in | std::ios::binary);
+ if (!is)
+ {
+ rep = reply::stock_reply(reply::not_found);
+ return;
+ }
+
+ // Fill out the reply to be sent to the client.
+ rep.status = reply::ok;
+ char buf[512];
+ while (is.read(buf, sizeof(buf)).gcount() > 0)
+ rep.content.append(buf, is.gcount());
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = mime_types::extension_to_type(extension);
+}
+
+bool request_handler::url_decode(const std::string& in, std::string& out)
+{
+ out.clear();
+ out.reserve(in.size());
+ for (std::size_t i = 0; i < in.size(); ++i)
+ {
+ if (in[i] == '%')
+ {
+ if (i + 3 <= in.size())
+ {
+ int value = 0;
+ std::istringstream is(in.substr(i + 1, 2));
+ if (is >> std::hex >> value)
+ {
+ out += static_cast<char>(value);
+ i += 2;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else if (in[i] == '+')
+ {
+ out += ' ';
+ }
+ else
+ {
+ out += in[i];
+ }
+ }
+ return true;
+}
+
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/request_handler.hpp b/doc/html/boost_asio/example/cpp03/http/server2/request_handler.hpp
new file mode 100644
index 0000000000..75d8d0d0ba
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/request_handler.hpp
@@ -0,0 +1,46 @@
+//
+// request_handler.hpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_REQUEST_HANDLER_HPP
+#define HTTP_SERVER2_REQUEST_HANDLER_HPP
+
+#include <string>
+#include <boost/noncopyable.hpp>
+
+namespace http {
+namespace server2 {
+
+struct reply;
+struct request;
+
+/// The common handler for all incoming requests.
+class request_handler
+ : private boost::noncopyable
+{
+public:
+ /// Construct with a directory containing files to be served.
+ explicit request_handler(const std::string& doc_root);
+
+ /// Handle a request and produce a reply.
+ void handle_request(const request& req, reply& rep);
+
+private:
+ /// The directory containing the files to be served.
+ std::string doc_root_;
+
+ /// Perform URL-decoding on a string. Returns false if the encoding was
+ /// invalid.
+ static bool url_decode(const std::string& in, std::string& out);
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_REQUEST_HANDLER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/request_parser.cpp b/doc/html/boost_asio/example/cpp03/http/server2/request_parser.cpp
new file mode 100644
index 0000000000..8e2e4637e6
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/request_parser.cpp
@@ -0,0 +1,315 @@
+//
+// request_parser.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_parser.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server2 {
+
+request_parser::request_parser()
+ : state_(method_start)
+{
+}
+
+void request_parser::reset()
+{
+ state_ = method_start;
+}
+
+boost::tribool request_parser::consume(request& req, char input)
+{
+ switch (state_)
+ {
+ case method_start:
+ if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ state_ = method;
+ req.method.push_back(input);
+ return boost::indeterminate;
+ }
+ case method:
+ if (input == ' ')
+ {
+ state_ = uri;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.method.push_back(input);
+ return boost::indeterminate;
+ }
+ case uri:
+ if (input == ' ')
+ {
+ state_ = http_version_h;
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.uri.push_back(input);
+ return boost::indeterminate;
+ }
+ case http_version_h:
+ if (input == 'H')
+ {
+ state_ = http_version_t_1;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_t_1:
+ if (input == 'T')
+ {
+ state_ = http_version_t_2;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_t_2:
+ if (input == 'T')
+ {
+ state_ = http_version_p;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_p:
+ if (input == 'P')
+ {
+ state_ = http_version_slash;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_slash:
+ if (input == '/')
+ {
+ req.http_version_major = 0;
+ req.http_version_minor = 0;
+ state_ = http_version_major_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_major_start:
+ if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ state_ = http_version_major;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_major:
+ if (input == '.')
+ {
+ state_ = http_version_minor_start;
+ return boost::indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_minor_start:
+ if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ state_ = http_version_minor;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_minor:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_1;
+ return boost::indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case expecting_newline_1:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case header_line_start:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_3;
+ return boost::indeterminate;
+ }
+ else if (!req.headers.empty() && (input == ' ' || input == '\t'))
+ {
+ state_ = header_lws;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.push_back(header());
+ req.headers.back().name.push_back(input);
+ state_ = header_name;
+ return boost::indeterminate;
+ }
+ case header_lws:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return boost::indeterminate;
+ }
+ else if (input == ' ' || input == '\t')
+ {
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ state_ = header_value;
+ req.headers.back().value.push_back(input);
+ return boost::indeterminate;
+ }
+ case header_name:
+ if (input == ':')
+ {
+ state_ = space_before_header_value;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.back().name.push_back(input);
+ return boost::indeterminate;
+ }
+ case space_before_header_value:
+ if (input == ' ')
+ {
+ state_ = header_value;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case header_value:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.back().value.push_back(input);
+ return boost::indeterminate;
+ }
+ case expecting_newline_2:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case expecting_newline_3:
+ return (input == '\n');
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_char(int c)
+{
+ return c >= 0 && c <= 127;
+}
+
+bool request_parser::is_ctl(int c)
+{
+ return (c >= 0 && c <= 31) || (c == 127);
+}
+
+bool request_parser::is_tspecial(int c)
+{
+ switch (c)
+ {
+ case '(': case ')': case '<': case '>': case '@':
+ case ',': case ';': case ':': case '\\': case '"':
+ case '/': case '[': case ']': case '?': case '=':
+ case '{': case '}': case ' ': case '\t':
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_digit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/request_parser.hpp b/doc/html/boost_asio/example/cpp03/http/server2/request_parser.hpp
new file mode 100644
index 0000000000..a8c6945492
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/request_parser.hpp
@@ -0,0 +1,95 @@
+//
+// request_parser.hpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_REQUEST_PARSER_HPP
+#define HTTP_SERVER2_REQUEST_PARSER_HPP
+
+#include <boost/logic/tribool.hpp>
+#include <boost/tuple/tuple.hpp>
+
+namespace http {
+namespace server2 {
+
+struct request;
+
+/// Parser for incoming requests.
+class request_parser
+{
+public:
+ /// Construct ready to parse the request method.
+ request_parser();
+
+ /// Reset to initial parser state.
+ void reset();
+
+ /// Parse some data. The tribool return value is true when a complete request
+ /// has been parsed, false if the data is invalid, indeterminate when more
+ /// data is required. The InputIterator return value indicates how much of the
+ /// input has been consumed.
+ template <typename InputIterator>
+ boost::tuple<boost::tribool, InputIterator> parse(request& req,
+ InputIterator begin, InputIterator end)
+ {
+ while (begin != end)
+ {
+ boost::tribool result = consume(req, *begin++);
+ if (result || !result)
+ return boost::make_tuple(result, begin);
+ }
+ boost::tribool result = boost::indeterminate;
+ return boost::make_tuple(result, begin);
+ }
+
+private:
+ /// Handle the next character of input.
+ boost::tribool consume(request& req, char input);
+
+ /// Check if a byte is an HTTP character.
+ static bool is_char(int c);
+
+ /// Check if a byte is an HTTP control character.
+ static bool is_ctl(int c);
+
+ /// Check if a byte is defined as an HTTP tspecial character.
+ static bool is_tspecial(int c);
+
+ /// Check if a byte is a digit.
+ static bool is_digit(int c);
+
+ /// The current state of the parser.
+ enum state
+ {
+ method_start,
+ method,
+ uri,
+ http_version_h,
+ http_version_t_1,
+ http_version_t_2,
+ http_version_p,
+ http_version_slash,
+ http_version_major_start,
+ http_version_major,
+ http_version_minor_start,
+ http_version_minor,
+ expecting_newline_1,
+ header_line_start,
+ header_lws,
+ header_name,
+ space_before_header_value,
+ header_value,
+ expecting_newline_2,
+ expecting_newline_3
+ } state_;
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_REQUEST_PARSER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/server.cpp b/doc/html/boost_asio/example/cpp03/http/server2/server.cpp
new file mode 100644
index 0000000000..c3504d2764
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/server.cpp
@@ -0,0 +1,77 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "server.hpp"
+#include <boost/bind.hpp>
+
+namespace http {
+namespace server2 {
+
+server::server(const std::string& address, const std::string& port,
+ const std::string& doc_root, std::size_t io_service_pool_size)
+ : io_service_pool_(io_service_pool_size),
+ signals_(io_service_pool_.get_io_service()),
+ acceptor_(io_service_pool_.get_io_service()),
+ new_connection_(),
+ request_handler_(doc_root)
+{
+ // Register to handle the signals that indicate when the server should exit.
+ // It is safe to register for the same signal multiple times in a program,
+ // provided all registration for the specified signal is made through Asio.
+ signals_.add(SIGINT);
+ signals_.add(SIGTERM);
+#if defined(SIGQUIT)
+ signals_.add(SIGQUIT);
+#endif // defined(SIGQUIT)
+ signals_.async_wait(boost::bind(&server::handle_stop, this));
+
+ // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR).
+ boost::asio::ip::tcp::resolver resolver(acceptor_.get_io_service());
+ boost::asio::ip::tcp::resolver::query query(address, port);
+ boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(query);
+ acceptor_.open(endpoint.protocol());
+ acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
+ acceptor_.bind(endpoint);
+ acceptor_.listen();
+
+ start_accept();
+}
+
+void server::run()
+{
+ io_service_pool_.run();
+}
+
+void server::start_accept()
+{
+ new_connection_.reset(new connection(
+ io_service_pool_.get_io_service(), request_handler_));
+ acceptor_.async_accept(new_connection_->socket(),
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error));
+}
+
+void server::handle_accept(const boost::system::error_code& e)
+{
+ if (!e)
+ {
+ new_connection_->start();
+ }
+
+ start_accept();
+}
+
+void server::handle_stop()
+{
+ io_service_pool_.stop();
+}
+
+} // namespace server2
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server2/server.hpp b/doc/html/boost_asio/example/cpp03/http/server2/server.hpp
new file mode 100644
index 0000000000..412a00cee1
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server2/server.hpp
@@ -0,0 +1,68 @@
+//
+// server.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER2_SERVER_HPP
+#define HTTP_SERVER2_SERVER_HPP
+
+#include <boost/asio.hpp>
+#include <string>
+#include <vector>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include "connection.hpp"
+#include "io_service_pool.hpp"
+#include "request_handler.hpp"
+
+namespace http {
+namespace server2 {
+
+/// The top-level class of the HTTP server.
+class server
+ : private boost::noncopyable
+{
+public:
+ /// Construct the server to listen on the specified TCP address and port, and
+ /// serve up files from the given directory.
+ explicit server(const std::string& address, const std::string& port,
+ const std::string& doc_root, std::size_t io_service_pool_size);
+
+ /// Run the server's io_service loop.
+ void run();
+
+private:
+ /// Initiate an asynchronous accept operation.
+ void start_accept();
+
+ /// Handle completion of an asynchronous accept operation.
+ void handle_accept(const boost::system::error_code& e);
+
+ /// Handle a request to stop the server.
+ void handle_stop();
+
+ /// The pool of io_service objects used to perform asynchronous operations.
+ io_service_pool io_service_pool_;
+
+ /// The signal_set is used to register for process termination notifications.
+ boost::asio::signal_set signals_;
+
+ /// Acceptor used to listen for incoming connections.
+ boost::asio::ip::tcp::acceptor acceptor_;
+
+ /// The next connection to be accepted.
+ connection_ptr new_connection_;
+
+ /// The handler for all incoming requests.
+ request_handler request_handler_;
+};
+
+} // namespace server2
+} // namespace http
+
+#endif // HTTP_SERVER2_SERVER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/connection.cpp b/doc/html/boost_asio/example/cpp03/http/server3/connection.cpp
new file mode 100644
index 0000000000..5f77f03752
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/connection.cpp
@@ -0,0 +1,98 @@
+//
+// connection.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "connection.hpp"
+#include <vector>
+#include <boost/bind.hpp>
+#include "request_handler.hpp"
+
+namespace http {
+namespace server3 {
+
+connection::connection(boost::asio::io_service& io_service,
+ request_handler& handler)
+ : strand_(io_service),
+ socket_(io_service),
+ request_handler_(handler)
+{
+}
+
+boost::asio::ip::tcp::socket& connection::socket()
+{
+ return socket_;
+}
+
+void connection::start()
+{
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ strand_.wrap(
+ boost::bind(&connection::handle_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred)));
+}
+
+void connection::handle_read(const boost::system::error_code& e,
+ std::size_t bytes_transferred)
+{
+ if (!e)
+ {
+ boost::tribool result;
+ boost::tie(result, boost::tuples::ignore) = request_parser_.parse(
+ request_, buffer_.data(), buffer_.data() + bytes_transferred);
+
+ if (result)
+ {
+ request_handler_.handle_request(request_, reply_);
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ strand_.wrap(
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error)));
+ }
+ else if (!result)
+ {
+ reply_ = reply::stock_reply(reply::bad_request);
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ strand_.wrap(
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error)));
+ }
+ else
+ {
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ strand_.wrap(
+ boost::bind(&connection::handle_read, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred)));
+ }
+ }
+
+ // If an error occurs then no new asynchronous operations are started. This
+ // means that all shared_ptr references to the connection object will
+ // disappear and the object will be destroyed automatically after this
+ // handler returns. The connection class's destructor closes the socket.
+}
+
+void connection::handle_write(const boost::system::error_code& e)
+{
+ if (!e)
+ {
+ // Initiate graceful connection closure.
+ boost::system::error_code ignored_ec;
+ socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ignored_ec);
+ }
+
+ // No new asynchronous operations are started. This means that all shared_ptr
+ // references to the connection object will disappear and the object will be
+ // destroyed automatically after this handler returns. The connection class's
+ // destructor closes the socket.
+}
+
+} // namespace server3
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/connection.hpp b/doc/html/boost_asio/example/cpp03/http/server3/connection.hpp
new file mode 100644
index 0000000000..e552c4a38c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/connection.hpp
@@ -0,0 +1,78 @@
+//
+// connection.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_CONNECTION_HPP
+#define HTTP_SERVER3_CONNECTION_HPP
+
+#include <boost/asio.hpp>
+#include <boost/array.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include "reply.hpp"
+#include "request.hpp"
+#include "request_handler.hpp"
+#include "request_parser.hpp"
+
+namespace http {
+namespace server3 {
+
+/// Represents a single connection from a client.
+class connection
+ : public boost::enable_shared_from_this<connection>,
+ private boost::noncopyable
+{
+public:
+ /// Construct a connection with the given io_service.
+ explicit connection(boost::asio::io_service& io_service,
+ request_handler& handler);
+
+ /// Get the socket associated with the connection.
+ boost::asio::ip::tcp::socket& socket();
+
+ /// Start the first asynchronous operation for the connection.
+ void start();
+
+private:
+ /// Handle completion of a read operation.
+ void handle_read(const boost::system::error_code& e,
+ std::size_t bytes_transferred);
+
+ /// Handle completion of a write operation.
+ void handle_write(const boost::system::error_code& e);
+
+ /// Strand to ensure the connection's handlers are not called concurrently.
+ boost::asio::io_service::strand strand_;
+
+ /// Socket for the connection.
+ boost::asio::ip::tcp::socket socket_;
+
+ /// The handler used to process the incoming request.
+ request_handler& request_handler_;
+
+ /// Buffer for incoming data.
+ boost::array<char, 8192> buffer_;
+
+ /// The incoming request.
+ request request_;
+
+ /// The parser for the incoming request.
+ request_parser request_parser_;
+
+ /// The reply to be sent back to the client.
+ reply reply_;
+};
+
+typedef boost::shared_ptr<connection> connection_ptr;
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_CONNECTION_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/header.hpp b/doc/html/boost_asio/example/cpp03/http/server3/header.hpp
new file mode 100644
index 0000000000..54e034ba29
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/header.hpp
@@ -0,0 +1,28 @@
+//
+// header.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_HEADER_HPP
+#define HTTP_SERVER3_HEADER_HPP
+
+#include <string>
+
+namespace http {
+namespace server3 {
+
+struct header
+{
+ std::string name;
+ std::string value;
+};
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/main.cpp b/doc/html/boost_asio/example/cpp03/http/server3/main.cpp
new file mode 100644
index 0000000000..ee1812e425
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/main.cpp
@@ -0,0 +1,46 @@
+//
+// main.cpp
+// ~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
+#include "server.hpp"
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 5)
+ {
+ std::cerr << "Usage: http_server <address> <port> <threads> <doc_root>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " receiver 0.0.0.0 80 1 .\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " receiver 0::0 80 1 .\n";
+ return 1;
+ }
+
+ // Initialise the server.
+ std::size_t num_threads = boost::lexical_cast<std::size_t>(argv[3]);
+ http::server3::server s(argv[1], argv[2], argv[4], num_threads);
+
+ // Run the server until stopped.
+ s.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/mime_types.cpp b/doc/html/boost_asio/example/cpp03/http/server3/mime_types.cpp
new file mode 100644
index 0000000000..97aba9db57
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/mime_types.cpp
@@ -0,0 +1,46 @@
+//
+// mime_types.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "mime_types.hpp"
+
+namespace http {
+namespace server3 {
+namespace mime_types {
+
+struct mapping
+{
+ const char* extension;
+ const char* mime_type;
+} mappings[] =
+{
+ { "gif", "image/gif" },
+ { "htm", "text/html" },
+ { "html", "text/html" },
+ { "jpg", "image/jpeg" },
+ { "png", "image/png" },
+ { 0, 0 } // Marks end of list.
+};
+
+std::string extension_to_type(const std::string& extension)
+{
+ for (mapping* m = mappings; m->extension; ++m)
+ {
+ if (m->extension == extension)
+ {
+ return m->mime_type;
+ }
+ }
+
+ return "text/plain";
+}
+
+} // namespace mime_types
+} // namespace server3
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/mime_types.hpp b/doc/html/boost_asio/example/cpp03/http/server3/mime_types.hpp
new file mode 100644
index 0000000000..e4793e0613
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/mime_types.hpp
@@ -0,0 +1,27 @@
+//
+// mime_types.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_MIME_TYPES_HPP
+#define HTTP_SERVER3_MIME_TYPES_HPP
+
+#include <string>
+
+namespace http {
+namespace server3 {
+namespace mime_types {
+
+/// Convert a file extension into a MIME type.
+std::string extension_to_type(const std::string& extension);
+
+} // namespace mime_types
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_MIME_TYPES_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/reply.cpp b/doc/html/boost_asio/example/cpp03/http/server3/reply.cpp
new file mode 100644
index 0000000000..a8a2f3e7b9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/reply.cpp
@@ -0,0 +1,256 @@
+//
+// reply.cpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "reply.hpp"
+#include <string>
+#include <boost/lexical_cast.hpp>
+
+namespace http {
+namespace server3 {
+
+namespace status_strings {
+
+const std::string ok =
+ "HTTP/1.0 200 OK\r\n";
+const std::string created =
+ "HTTP/1.0 201 Created\r\n";
+const std::string accepted =
+ "HTTP/1.0 202 Accepted\r\n";
+const std::string no_content =
+ "HTTP/1.0 204 No Content\r\n";
+const std::string multiple_choices =
+ "HTTP/1.0 300 Multiple Choices\r\n";
+const std::string moved_permanently =
+ "HTTP/1.0 301 Moved Permanently\r\n";
+const std::string moved_temporarily =
+ "HTTP/1.0 302 Moved Temporarily\r\n";
+const std::string not_modified =
+ "HTTP/1.0 304 Not Modified\r\n";
+const std::string bad_request =
+ "HTTP/1.0 400 Bad Request\r\n";
+const std::string unauthorized =
+ "HTTP/1.0 401 Unauthorized\r\n";
+const std::string forbidden =
+ "HTTP/1.0 403 Forbidden\r\n";
+const std::string not_found =
+ "HTTP/1.0 404 Not Found\r\n";
+const std::string internal_server_error =
+ "HTTP/1.0 500 Internal Server Error\r\n";
+const std::string not_implemented =
+ "HTTP/1.0 501 Not Implemented\r\n";
+const std::string bad_gateway =
+ "HTTP/1.0 502 Bad Gateway\r\n";
+const std::string service_unavailable =
+ "HTTP/1.0 503 Service Unavailable\r\n";
+
+boost::asio::const_buffer to_buffer(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return boost::asio::buffer(ok);
+ case reply::created:
+ return boost::asio::buffer(created);
+ case reply::accepted:
+ return boost::asio::buffer(accepted);
+ case reply::no_content:
+ return boost::asio::buffer(no_content);
+ case reply::multiple_choices:
+ return boost::asio::buffer(multiple_choices);
+ case reply::moved_permanently:
+ return boost::asio::buffer(moved_permanently);
+ case reply::moved_temporarily:
+ return boost::asio::buffer(moved_temporarily);
+ case reply::not_modified:
+ return boost::asio::buffer(not_modified);
+ case reply::bad_request:
+ return boost::asio::buffer(bad_request);
+ case reply::unauthorized:
+ return boost::asio::buffer(unauthorized);
+ case reply::forbidden:
+ return boost::asio::buffer(forbidden);
+ case reply::not_found:
+ return boost::asio::buffer(not_found);
+ case reply::internal_server_error:
+ return boost::asio::buffer(internal_server_error);
+ case reply::not_implemented:
+ return boost::asio::buffer(not_implemented);
+ case reply::bad_gateway:
+ return boost::asio::buffer(bad_gateway);
+ case reply::service_unavailable:
+ return boost::asio::buffer(service_unavailable);
+ default:
+ return boost::asio::buffer(internal_server_error);
+ }
+}
+
+} // namespace status_strings
+
+namespace misc_strings {
+
+const char name_value_separator[] = { ':', ' ' };
+const char crlf[] = { '\r', '\n' };
+
+} // namespace misc_strings
+
+std::vector<boost::asio::const_buffer> reply::to_buffers()
+{
+ std::vector<boost::asio::const_buffer> buffers;
+ buffers.push_back(status_strings::to_buffer(status));
+ for (std::size_t i = 0; i < headers.size(); ++i)
+ {
+ header& h = headers[i];
+ buffers.push_back(boost::asio::buffer(h.name));
+ buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator));
+ buffers.push_back(boost::asio::buffer(h.value));
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ }
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ buffers.push_back(boost::asio::buffer(content));
+ return buffers;
+}
+
+namespace stock_replies {
+
+const char ok[] = "";
+const char created[] =
+ "<html>"
+ "<head><title>Created</title></head>"
+ "<body><h1>201 Created</h1></body>"
+ "</html>";
+const char accepted[] =
+ "<html>"
+ "<head><title>Accepted</title></head>"
+ "<body><h1>202 Accepted</h1></body>"
+ "</html>";
+const char no_content[] =
+ "<html>"
+ "<head><title>No Content</title></head>"
+ "<body><h1>204 Content</h1></body>"
+ "</html>";
+const char multiple_choices[] =
+ "<html>"
+ "<head><title>Multiple Choices</title></head>"
+ "<body><h1>300 Multiple Choices</h1></body>"
+ "</html>";
+const char moved_permanently[] =
+ "<html>"
+ "<head><title>Moved Permanently</title></head>"
+ "<body><h1>301 Moved Permanently</h1></body>"
+ "</html>";
+const char moved_temporarily[] =
+ "<html>"
+ "<head><title>Moved Temporarily</title></head>"
+ "<body><h1>302 Moved Temporarily</h1></body>"
+ "</html>";
+const char not_modified[] =
+ "<html>"
+ "<head><title>Not Modified</title></head>"
+ "<body><h1>304 Not Modified</h1></body>"
+ "</html>";
+const char bad_request[] =
+ "<html>"
+ "<head><title>Bad Request</title></head>"
+ "<body><h1>400 Bad Request</h1></body>"
+ "</html>";
+const char unauthorized[] =
+ "<html>"
+ "<head><title>Unauthorized</title></head>"
+ "<body><h1>401 Unauthorized</h1></body>"
+ "</html>";
+const char forbidden[] =
+ "<html>"
+ "<head><title>Forbidden</title></head>"
+ "<body><h1>403 Forbidden</h1></body>"
+ "</html>";
+const char not_found[] =
+ "<html>"
+ "<head><title>Not Found</title></head>"
+ "<body><h1>404 Not Found</h1></body>"
+ "</html>";
+const char internal_server_error[] =
+ "<html>"
+ "<head><title>Internal Server Error</title></head>"
+ "<body><h1>500 Internal Server Error</h1></body>"
+ "</html>";
+const char not_implemented[] =
+ "<html>"
+ "<head><title>Not Implemented</title></head>"
+ "<body><h1>501 Not Implemented</h1></body>"
+ "</html>";
+const char bad_gateway[] =
+ "<html>"
+ "<head><title>Bad Gateway</title></head>"
+ "<body><h1>502 Bad Gateway</h1></body>"
+ "</html>";
+const char service_unavailable[] =
+ "<html>"
+ "<head><title>Service Unavailable</title></head>"
+ "<body><h1>503 Service Unavailable</h1></body>"
+ "</html>";
+
+std::string to_string(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return ok;
+ case reply::created:
+ return created;
+ case reply::accepted:
+ return accepted;
+ case reply::no_content:
+ return no_content;
+ case reply::multiple_choices:
+ return multiple_choices;
+ case reply::moved_permanently:
+ return moved_permanently;
+ case reply::moved_temporarily:
+ return moved_temporarily;
+ case reply::not_modified:
+ return not_modified;
+ case reply::bad_request:
+ return bad_request;
+ case reply::unauthorized:
+ return unauthorized;
+ case reply::forbidden:
+ return forbidden;
+ case reply::not_found:
+ return not_found;
+ case reply::internal_server_error:
+ return internal_server_error;
+ case reply::not_implemented:
+ return not_implemented;
+ case reply::bad_gateway:
+ return bad_gateway;
+ case reply::service_unavailable:
+ return service_unavailable;
+ default:
+ return internal_server_error;
+ }
+}
+
+} // namespace stock_replies
+
+reply reply::stock_reply(reply::status_type status)
+{
+ reply rep;
+ rep.status = status;
+ rep.content = stock_replies::to_string(status);
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = "text/html";
+ return rep;
+}
+
+} // namespace server3
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/reply.hpp b/doc/html/boost_asio/example/cpp03/http/server3/reply.hpp
new file mode 100644
index 0000000000..fa3c7e8f7f
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/reply.hpp
@@ -0,0 +1,64 @@
+//
+// reply.hpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_REPLY_HPP
+#define HTTP_SERVER3_REPLY_HPP
+
+#include <string>
+#include <vector>
+#include <boost/asio.hpp>
+#include "header.hpp"
+
+namespace http {
+namespace server3 {
+
+/// A reply to be sent to a client.
+struct reply
+{
+ /// The status of the reply.
+ enum status_type
+ {
+ ok = 200,
+ created = 201,
+ accepted = 202,
+ no_content = 204,
+ multiple_choices = 300,
+ moved_permanently = 301,
+ moved_temporarily = 302,
+ not_modified = 304,
+ bad_request = 400,
+ unauthorized = 401,
+ forbidden = 403,
+ not_found = 404,
+ internal_server_error = 500,
+ not_implemented = 501,
+ bad_gateway = 502,
+ service_unavailable = 503
+ } status;
+
+ /// The headers to be included in the reply.
+ std::vector<header> headers;
+
+ /// The content to be sent in the reply.
+ std::string content;
+
+ /// Convert the reply into a vector of buffers. The buffers do not own the
+ /// underlying memory blocks, therefore the reply object must remain valid and
+ /// not be changed until the write operation has completed.
+ std::vector<boost::asio::const_buffer> to_buffers();
+
+ /// Get a stock reply.
+ static reply stock_reply(status_type status);
+};
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_REPLY_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/request.hpp b/doc/html/boost_asio/example/cpp03/http/server3/request.hpp
new file mode 100644
index 0000000000..388f80b6f9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/request.hpp
@@ -0,0 +1,34 @@
+//
+// request.hpp
+// ~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_REQUEST_HPP
+#define HTTP_SERVER3_REQUEST_HPP
+
+#include <string>
+#include <vector>
+#include "header.hpp"
+
+namespace http {
+namespace server3 {
+
+/// A request received from a client.
+struct request
+{
+ std::string method;
+ std::string uri;
+ int http_version_major;
+ int http_version_minor;
+ std::vector<header> headers;
+};
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_REQUEST_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/request_handler.cpp b/doc/html/boost_asio/example/cpp03/http/server3/request_handler.cpp
new file mode 100644
index 0000000000..611d06c311
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/request_handler.cpp
@@ -0,0 +1,122 @@
+//
+// request_handler.cpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_handler.hpp"
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <boost/lexical_cast.hpp>
+#include "mime_types.hpp"
+#include "reply.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server3 {
+
+request_handler::request_handler(const std::string& doc_root)
+ : doc_root_(doc_root)
+{
+}
+
+void request_handler::handle_request(const request& req, reply& rep)
+{
+ // Decode url to path.
+ std::string request_path;
+ if (!url_decode(req.uri, request_path))
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // Request path must be absolute and not contain "..".
+ if (request_path.empty() || request_path[0] != '/'
+ || request_path.find("..") != std::string::npos)
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // If path ends in slash (i.e. is a directory) then add "index.html".
+ if (request_path[request_path.size() - 1] == '/')
+ {
+ request_path += "index.html";
+ }
+
+ // Determine the file extension.
+ std::size_t last_slash_pos = request_path.find_last_of("/");
+ std::size_t last_dot_pos = request_path.find_last_of(".");
+ std::string extension;
+ if (last_dot_pos != std::string::npos && last_dot_pos > last_slash_pos)
+ {
+ extension = request_path.substr(last_dot_pos + 1);
+ }
+
+ // Open the file to send back.
+ std::string full_path = doc_root_ + request_path;
+ std::ifstream is(full_path.c_str(), std::ios::in | std::ios::binary);
+ if (!is)
+ {
+ rep = reply::stock_reply(reply::not_found);
+ return;
+ }
+
+ // Fill out the reply to be sent to the client.
+ rep.status = reply::ok;
+ char buf[512];
+ while (is.read(buf, sizeof(buf)).gcount() > 0)
+ rep.content.append(buf, is.gcount());
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = mime_types::extension_to_type(extension);
+}
+
+bool request_handler::url_decode(const std::string& in, std::string& out)
+{
+ out.clear();
+ out.reserve(in.size());
+ for (std::size_t i = 0; i < in.size(); ++i)
+ {
+ if (in[i] == '%')
+ {
+ if (i + 3 <= in.size())
+ {
+ int value = 0;
+ std::istringstream is(in.substr(i + 1, 2));
+ if (is >> std::hex >> value)
+ {
+ out += static_cast<char>(value);
+ i += 2;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else if (in[i] == '+')
+ {
+ out += ' ';
+ }
+ else
+ {
+ out += in[i];
+ }
+ }
+ return true;
+}
+
+} // namespace server3
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/request_handler.hpp b/doc/html/boost_asio/example/cpp03/http/server3/request_handler.hpp
new file mode 100644
index 0000000000..167b3771d5
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/request_handler.hpp
@@ -0,0 +1,46 @@
+//
+// request_handler.hpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_REQUEST_HANDLER_HPP
+#define HTTP_SERVER3_REQUEST_HANDLER_HPP
+
+#include <string>
+#include <boost/noncopyable.hpp>
+
+namespace http {
+namespace server3 {
+
+struct reply;
+struct request;
+
+/// The common handler for all incoming requests.
+class request_handler
+ : private boost::noncopyable
+{
+public:
+ /// Construct with a directory containing files to be served.
+ explicit request_handler(const std::string& doc_root);
+
+ /// Handle a request and produce a reply.
+ void handle_request(const request& req, reply& rep);
+
+private:
+ /// The directory containing the files to be served.
+ std::string doc_root_;
+
+ /// Perform URL-decoding on a string. Returns false if the encoding was
+ /// invalid.
+ static bool url_decode(const std::string& in, std::string& out);
+};
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_REQUEST_HANDLER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/request_parser.cpp b/doc/html/boost_asio/example/cpp03/http/server3/request_parser.cpp
new file mode 100644
index 0000000000..9ef5e7c773
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/request_parser.cpp
@@ -0,0 +1,315 @@
+//
+// request_parser.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_parser.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server3 {
+
+request_parser::request_parser()
+ : state_(method_start)
+{
+}
+
+void request_parser::reset()
+{
+ state_ = method_start;
+}
+
+boost::tribool request_parser::consume(request& req, char input)
+{
+ switch (state_)
+ {
+ case method_start:
+ if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ state_ = method;
+ req.method.push_back(input);
+ return boost::indeterminate;
+ }
+ case method:
+ if (input == ' ')
+ {
+ state_ = uri;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.method.push_back(input);
+ return boost::indeterminate;
+ }
+ case uri:
+ if (input == ' ')
+ {
+ state_ = http_version_h;
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.uri.push_back(input);
+ return boost::indeterminate;
+ }
+ case http_version_h:
+ if (input == 'H')
+ {
+ state_ = http_version_t_1;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_t_1:
+ if (input == 'T')
+ {
+ state_ = http_version_t_2;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_t_2:
+ if (input == 'T')
+ {
+ state_ = http_version_p;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_p:
+ if (input == 'P')
+ {
+ state_ = http_version_slash;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_slash:
+ if (input == '/')
+ {
+ req.http_version_major = 0;
+ req.http_version_minor = 0;
+ state_ = http_version_major_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_major_start:
+ if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ state_ = http_version_major;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_major:
+ if (input == '.')
+ {
+ state_ = http_version_minor_start;
+ return boost::indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_minor_start:
+ if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ state_ = http_version_minor;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case http_version_minor:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_1;
+ return boost::indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case expecting_newline_1:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case header_line_start:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_3;
+ return boost::indeterminate;
+ }
+ else if (!req.headers.empty() && (input == ' ' || input == '\t'))
+ {
+ state_ = header_lws;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.push_back(header());
+ req.headers.back().name.push_back(input);
+ state_ = header_name;
+ return boost::indeterminate;
+ }
+ case header_lws:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return boost::indeterminate;
+ }
+ else if (input == ' ' || input == '\t')
+ {
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ state_ = header_value;
+ req.headers.back().value.push_back(input);
+ return boost::indeterminate;
+ }
+ case header_name:
+ if (input == ':')
+ {
+ state_ = space_before_header_value;
+ return boost::indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.back().name.push_back(input);
+ return boost::indeterminate;
+ }
+ case space_before_header_value:
+ if (input == ' ')
+ {
+ state_ = header_value;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case header_value:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return boost::indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return false;
+ }
+ else
+ {
+ req.headers.back().value.push_back(input);
+ return boost::indeterminate;
+ }
+ case expecting_newline_2:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return boost::indeterminate;
+ }
+ else
+ {
+ return false;
+ }
+ case expecting_newline_3:
+ return (input == '\n');
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_char(int c)
+{
+ return c >= 0 && c <= 127;
+}
+
+bool request_parser::is_ctl(int c)
+{
+ return (c >= 0 && c <= 31) || (c == 127);
+}
+
+bool request_parser::is_tspecial(int c)
+{
+ switch (c)
+ {
+ case '(': case ')': case '<': case '>': case '@':
+ case ',': case ';': case ':': case '\\': case '"':
+ case '/': case '[': case ']': case '?': case '=':
+ case '{': case '}': case ' ': case '\t':
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_digit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+} // namespace server3
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/request_parser.hpp b/doc/html/boost_asio/example/cpp03/http/server3/request_parser.hpp
new file mode 100644
index 0000000000..20da2d55e7
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/request_parser.hpp
@@ -0,0 +1,95 @@
+//
+// request_parser.hpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_REQUEST_PARSER_HPP
+#define HTTP_SERVER3_REQUEST_PARSER_HPP
+
+#include <boost/logic/tribool.hpp>
+#include <boost/tuple/tuple.hpp>
+
+namespace http {
+namespace server3 {
+
+struct request;
+
+/// Parser for incoming requests.
+class request_parser
+{
+public:
+ /// Construct ready to parse the request method.
+ request_parser();
+
+ /// Reset to initial parser state.
+ void reset();
+
+ /// Parse some data. The tribool return value is true when a complete request
+ /// has been parsed, false if the data is invalid, indeterminate when more
+ /// data is required. The InputIterator return value indicates how much of the
+ /// input has been consumed.
+ template <typename InputIterator>
+ boost::tuple<boost::tribool, InputIterator> parse(request& req,
+ InputIterator begin, InputIterator end)
+ {
+ while (begin != end)
+ {
+ boost::tribool result = consume(req, *begin++);
+ if (result || !result)
+ return boost::make_tuple(result, begin);
+ }
+ boost::tribool result = boost::indeterminate;
+ return boost::make_tuple(result, begin);
+ }
+
+private:
+ /// Handle the next character of input.
+ boost::tribool consume(request& req, char input);
+
+ /// Check if a byte is an HTTP character.
+ static bool is_char(int c);
+
+ /// Check if a byte is an HTTP control character.
+ static bool is_ctl(int c);
+
+ /// Check if a byte is defined as an HTTP tspecial character.
+ static bool is_tspecial(int c);
+
+ /// Check if a byte is a digit.
+ static bool is_digit(int c);
+
+ /// The current state of the parser.
+ enum state
+ {
+ method_start,
+ method,
+ uri,
+ http_version_h,
+ http_version_t_1,
+ http_version_t_2,
+ http_version_p,
+ http_version_slash,
+ http_version_major_start,
+ http_version_major,
+ http_version_minor_start,
+ http_version_minor,
+ expecting_newline_1,
+ header_line_start,
+ header_lws,
+ header_name,
+ space_before_header_value,
+ header_value,
+ expecting_newline_2,
+ expecting_newline_3
+ } state_;
+};
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_REQUEST_PARSER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/server.cpp b/doc/html/boost_asio/example/cpp03/http/server3/server.cpp
new file mode 100644
index 0000000000..3ce54d736c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/server.cpp
@@ -0,0 +1,90 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "server.hpp"
+#include <boost/thread/thread.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <vector>
+
+namespace http {
+namespace server3 {
+
+server::server(const std::string& address, const std::string& port,
+ const std::string& doc_root, std::size_t thread_pool_size)
+ : thread_pool_size_(thread_pool_size),
+ signals_(io_service_),
+ acceptor_(io_service_),
+ new_connection_(),
+ request_handler_(doc_root)
+{
+ // Register to handle the signals that indicate when the server should exit.
+ // It is safe to register for the same signal multiple times in a program,
+ // provided all registration for the specified signal is made through Asio.
+ signals_.add(SIGINT);
+ signals_.add(SIGTERM);
+#if defined(SIGQUIT)
+ signals_.add(SIGQUIT);
+#endif // defined(SIGQUIT)
+ signals_.async_wait(boost::bind(&server::handle_stop, this));
+
+ // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR).
+ boost::asio::ip::tcp::resolver resolver(io_service_);
+ boost::asio::ip::tcp::resolver::query query(address, port);
+ boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve(query);
+ acceptor_.open(endpoint.protocol());
+ acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
+ acceptor_.bind(endpoint);
+ acceptor_.listen();
+
+ start_accept();
+}
+
+void server::run()
+{
+ // Create a pool of threads to run all of the io_services.
+ std::vector<boost::shared_ptr<boost::thread> > threads;
+ for (std::size_t i = 0; i < thread_pool_size_; ++i)
+ {
+ boost::shared_ptr<boost::thread> thread(new boost::thread(
+ boost::bind(&boost::asio::io_service::run, &io_service_)));
+ threads.push_back(thread);
+ }
+
+ // Wait for all threads in the pool to exit.
+ for (std::size_t i = 0; i < threads.size(); ++i)
+ threads[i]->join();
+}
+
+void server::start_accept()
+{
+ new_connection_.reset(new connection(io_service_, request_handler_));
+ acceptor_.async_accept(new_connection_->socket(),
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error));
+}
+
+void server::handle_accept(const boost::system::error_code& e)
+{
+ if (!e)
+ {
+ new_connection_->start();
+ }
+
+ start_accept();
+}
+
+void server::handle_stop()
+{
+ io_service_.stop();
+}
+
+} // namespace server3
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server3/server.hpp b/doc/html/boost_asio/example/cpp03/http/server3/server.hpp
new file mode 100644
index 0000000000..5ff6bf3c4f
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server3/server.hpp
@@ -0,0 +1,70 @@
+//
+// server.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER3_SERVER_HPP
+#define HTTP_SERVER3_SERVER_HPP
+
+#include <boost/asio.hpp>
+#include <string>
+#include <vector>
+#include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
+#include "connection.hpp"
+#include "request_handler.hpp"
+
+namespace http {
+namespace server3 {
+
+/// The top-level class of the HTTP server.
+class server
+ : private boost::noncopyable
+{
+public:
+ /// Construct the server to listen on the specified TCP address and port, and
+ /// serve up files from the given directory.
+ explicit server(const std::string& address, const std::string& port,
+ const std::string& doc_root, std::size_t thread_pool_size);
+
+ /// Run the server's io_service loop.
+ void run();
+
+private:
+ /// Initiate an asynchronous accept operation.
+ void start_accept();
+
+ /// Handle completion of an asynchronous accept operation.
+ void handle_accept(const boost::system::error_code& e);
+
+ /// Handle a request to stop the server.
+ void handle_stop();
+
+ /// The number of threads that will call io_service::run().
+ std::size_t thread_pool_size_;
+
+ /// The io_service used to perform asynchronous operations.
+ boost::asio::io_service io_service_;
+
+ /// The signal_set is used to register for process termination notifications.
+ boost::asio::signal_set signals_;
+
+ /// Acceptor used to listen for incoming connections.
+ boost::asio::ip::tcp::acceptor acceptor_;
+
+ /// The next connection to be accepted.
+ connection_ptr new_connection_;
+
+ /// The handler for all incoming requests.
+ request_handler request_handler_;
+};
+
+} // namespace server3
+} // namespace http
+
+#endif // HTTP_SERVER3_SERVER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/file_handler.cpp b/doc/html/boost_asio/example/cpp03/http/server4/file_handler.cpp
new file mode 100644
index 0000000000..d1cdb0e2f0
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/file_handler.cpp
@@ -0,0 +1,122 @@
+//
+// file_handler.cpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "file_handler.hpp"
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <boost/lexical_cast.hpp>
+#include "mime_types.hpp"
+#include "reply.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server4 {
+
+file_handler::file_handler(const std::string& doc_root)
+ : doc_root_(doc_root)
+{
+}
+
+void file_handler::operator()(const request& req, reply& rep)
+{
+ // Decode url to path.
+ std::string request_path;
+ if (!url_decode(req.uri, request_path))
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // Request path must be absolute and not contain "..".
+ if (request_path.empty() || request_path[0] != '/'
+ || request_path.find("..") != std::string::npos)
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // If path ends in slash (i.e. is a directory) then add "index.html".
+ if (request_path[request_path.size() - 1] == '/')
+ {
+ request_path += "index.html";
+ }
+
+ // Determine the file extension.
+ std::size_t last_slash_pos = request_path.find_last_of("/");
+ std::size_t last_dot_pos = request_path.find_last_of(".");
+ std::string extension;
+ if (last_dot_pos != std::string::npos && last_dot_pos > last_slash_pos)
+ {
+ extension = request_path.substr(last_dot_pos + 1);
+ }
+
+ // Open the file to send back.
+ std::string full_path = doc_root_ + request_path;
+ std::ifstream is(full_path.c_str(), std::ios::in | std::ios::binary);
+ if (!is)
+ {
+ rep = reply::stock_reply(reply::not_found);
+ return;
+ }
+
+ // Fill out the reply to be sent to the client.
+ rep.status = reply::ok;
+ char buf[512];
+ while (is.read(buf, sizeof(buf)).gcount() > 0)
+ rep.content.append(buf, is.gcount());
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = mime_types::extension_to_type(extension);
+}
+
+bool file_handler::url_decode(const std::string& in, std::string& out)
+{
+ out.clear();
+ out.reserve(in.size());
+ for (std::size_t i = 0; i < in.size(); ++i)
+ {
+ if (in[i] == '%')
+ {
+ if (i + 3 <= in.size())
+ {
+ int value = 0;
+ std::istringstream is(in.substr(i + 1, 2));
+ if (is >> std::hex >> value)
+ {
+ out += static_cast<char>(value);
+ i += 2;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else if (in[i] == '+')
+ {
+ out += ' ';
+ }
+ else
+ {
+ out += in[i];
+ }
+ }
+ return true;
+}
+
+} // namespace server4
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/file_handler.hpp b/doc/html/boost_asio/example/cpp03/http/server4/file_handler.hpp
new file mode 100644
index 0000000000..678da526e8
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/file_handler.hpp
@@ -0,0 +1,44 @@
+//
+// file_handler.hpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_FILE_HANDLER_HPP
+#define HTTP_SERVER4_FILE_HANDLER_HPP
+
+#include <string>
+
+namespace http {
+namespace server4 {
+
+struct reply;
+struct request;
+
+/// The common handler for all incoming requests.
+class file_handler
+{
+public:
+ /// Construct with a directory containing files to be served.
+ explicit file_handler(const std::string& doc_root);
+
+ /// Handle a request and produce a reply.
+ void operator()(const request& req, reply& rep);
+
+private:
+ /// The directory containing the files to be served.
+ std::string doc_root_;
+
+ /// Perform URL-decoding on a string. Returns false if the encoding was
+ /// invalid.
+ static bool url_decode(const std::string& in, std::string& out);
+};
+
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_FILE_HANDLER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/header.hpp b/doc/html/boost_asio/example/cpp03/http/server4/header.hpp
new file mode 100644
index 0000000000..4478e1de39
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/header.hpp
@@ -0,0 +1,28 @@
+//
+// header.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_HEADER_HPP
+#define HTTP_SERVER4_HEADER_HPP
+
+#include <string>
+
+namespace http {
+namespace server4 {
+
+struct header
+{
+ std::string name;
+ std::string value;
+};
+
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/main.cpp b/doc/html/boost_asio/example/cpp03/http/server4/main.cpp
new file mode 100644
index 0000000000..48c3ec516c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/main.cpp
@@ -0,0 +1,58 @@
+//
+// main.cpp
+// ~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <signal.h>
+#include "server.hpp"
+#include "file_handler.hpp"
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 4)
+ {
+ std::cerr << "Usage: http_server <address> <port> <doc_root>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " receiver 0.0.0.0 80 .\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " receiver 0::0 80 .\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ // Launch the initial server coroutine.
+ http::server4::server(io_service, argv[1], argv[2],
+ http::server4::file_handler(argv[3]))();
+
+ // Wait for signals indicating time to shut down.
+ boost::asio::signal_set signals(io_service);
+ signals.add(SIGINT);
+ signals.add(SIGTERM);
+#if defined(SIGQUIT)
+ signals.add(SIGQUIT);
+#endif // defined(SIGQUIT)
+ signals.async_wait(boost::bind(
+ &boost::asio::io_service::stop, &io_service));
+
+ // Run the server.
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/mime_types.cpp b/doc/html/boost_asio/example/cpp03/http/server4/mime_types.cpp
new file mode 100644
index 0000000000..255f628e89
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/mime_types.cpp
@@ -0,0 +1,46 @@
+//
+// mime_types.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "mime_types.hpp"
+
+namespace http {
+namespace server4 {
+namespace mime_types {
+
+struct mapping
+{
+ const char* extension;
+ const char* mime_type;
+} mappings[] =
+{
+ { "gif", "image/gif" },
+ { "htm", "text/html" },
+ { "html", "text/html" },
+ { "jpg", "image/jpeg" },
+ { "png", "image/png" },
+ { 0, 0 } // Marks end of list.
+};
+
+std::string extension_to_type(const std::string& extension)
+{
+ for (mapping* m = mappings; m->extension; ++m)
+ {
+ if (m->extension == extension)
+ {
+ return m->mime_type;
+ }
+ }
+
+ return "text/plain";
+}
+
+} // namespace mime_types
+} // namespace server4
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/mime_types.hpp b/doc/html/boost_asio/example/cpp03/http/server4/mime_types.hpp
new file mode 100644
index 0000000000..7f3f04f9ce
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/mime_types.hpp
@@ -0,0 +1,27 @@
+//
+// mime_types.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_MIME_TYPES_HPP
+#define HTTP_SERVER4_MIME_TYPES_HPP
+
+#include <string>
+
+namespace http {
+namespace server4 {
+namespace mime_types {
+
+/// Convert a file extension into a MIME type.
+std::string extension_to_type(const std::string& extension);
+
+} // namespace mime_types
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_MIME_TYPES_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/reply.cpp b/doc/html/boost_asio/example/cpp03/http/server4/reply.cpp
new file mode 100644
index 0000000000..b69247c2e6
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/reply.cpp
@@ -0,0 +1,256 @@
+//
+// reply.cpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "reply.hpp"
+#include <string>
+#include <boost/lexical_cast.hpp>
+
+namespace http {
+namespace server4 {
+
+namespace status_strings {
+
+const std::string ok =
+ "HTTP/1.0 200 OK\r\n";
+const std::string created =
+ "HTTP/1.0 201 Created\r\n";
+const std::string accepted =
+ "HTTP/1.0 202 Accepted\r\n";
+const std::string no_content =
+ "HTTP/1.0 204 No Content\r\n";
+const std::string multiple_choices =
+ "HTTP/1.0 300 Multiple Choices\r\n";
+const std::string moved_permanently =
+ "HTTP/1.0 301 Moved Permanently\r\n";
+const std::string moved_temporarily =
+ "HTTP/1.0 302 Moved Temporarily\r\n";
+const std::string not_modified =
+ "HTTP/1.0 304 Not Modified\r\n";
+const std::string bad_request =
+ "HTTP/1.0 400 Bad Request\r\n";
+const std::string unauthorized =
+ "HTTP/1.0 401 Unauthorized\r\n";
+const std::string forbidden =
+ "HTTP/1.0 403 Forbidden\r\n";
+const std::string not_found =
+ "HTTP/1.0 404 Not Found\r\n";
+const std::string internal_server_error =
+ "HTTP/1.0 500 Internal Server Error\r\n";
+const std::string not_implemented =
+ "HTTP/1.0 501 Not Implemented\r\n";
+const std::string bad_gateway =
+ "HTTP/1.0 502 Bad Gateway\r\n";
+const std::string service_unavailable =
+ "HTTP/1.0 503 Service Unavailable\r\n";
+
+boost::asio::const_buffer to_buffer(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return boost::asio::buffer(ok);
+ case reply::created:
+ return boost::asio::buffer(created);
+ case reply::accepted:
+ return boost::asio::buffer(accepted);
+ case reply::no_content:
+ return boost::asio::buffer(no_content);
+ case reply::multiple_choices:
+ return boost::asio::buffer(multiple_choices);
+ case reply::moved_permanently:
+ return boost::asio::buffer(moved_permanently);
+ case reply::moved_temporarily:
+ return boost::asio::buffer(moved_temporarily);
+ case reply::not_modified:
+ return boost::asio::buffer(not_modified);
+ case reply::bad_request:
+ return boost::asio::buffer(bad_request);
+ case reply::unauthorized:
+ return boost::asio::buffer(unauthorized);
+ case reply::forbidden:
+ return boost::asio::buffer(forbidden);
+ case reply::not_found:
+ return boost::asio::buffer(not_found);
+ case reply::internal_server_error:
+ return boost::asio::buffer(internal_server_error);
+ case reply::not_implemented:
+ return boost::asio::buffer(not_implemented);
+ case reply::bad_gateway:
+ return boost::asio::buffer(bad_gateway);
+ case reply::service_unavailable:
+ return boost::asio::buffer(service_unavailable);
+ default:
+ return boost::asio::buffer(internal_server_error);
+ }
+}
+
+} // namespace status_strings
+
+namespace misc_strings {
+
+const char name_value_separator[] = { ':', ' ' };
+const char crlf[] = { '\r', '\n' };
+
+} // namespace misc_strings
+
+std::vector<boost::asio::const_buffer> reply::to_buffers()
+{
+ std::vector<boost::asio::const_buffer> buffers;
+ buffers.push_back(status_strings::to_buffer(status));
+ for (std::size_t i = 0; i < headers.size(); ++i)
+ {
+ header& h = headers[i];
+ buffers.push_back(boost::asio::buffer(h.name));
+ buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator));
+ buffers.push_back(boost::asio::buffer(h.value));
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ }
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ buffers.push_back(boost::asio::buffer(content));
+ return buffers;
+}
+
+namespace stock_replies {
+
+const char ok[] = "";
+const char created[] =
+ "<html>"
+ "<head><title>Created</title></head>"
+ "<body><h1>201 Created</h1></body>"
+ "</html>";
+const char accepted[] =
+ "<html>"
+ "<head><title>Accepted</title></head>"
+ "<body><h1>202 Accepted</h1></body>"
+ "</html>";
+const char no_content[] =
+ "<html>"
+ "<head><title>No Content</title></head>"
+ "<body><h1>204 Content</h1></body>"
+ "</html>";
+const char multiple_choices[] =
+ "<html>"
+ "<head><title>Multiple Choices</title></head>"
+ "<body><h1>300 Multiple Choices</h1></body>"
+ "</html>";
+const char moved_permanently[] =
+ "<html>"
+ "<head><title>Moved Permanently</title></head>"
+ "<body><h1>301 Moved Permanently</h1></body>"
+ "</html>";
+const char moved_temporarily[] =
+ "<html>"
+ "<head><title>Moved Temporarily</title></head>"
+ "<body><h1>302 Moved Temporarily</h1></body>"
+ "</html>";
+const char not_modified[] =
+ "<html>"
+ "<head><title>Not Modified</title></head>"
+ "<body><h1>304 Not Modified</h1></body>"
+ "</html>";
+const char bad_request[] =
+ "<html>"
+ "<head><title>Bad Request</title></head>"
+ "<body><h1>400 Bad Request</h1></body>"
+ "</html>";
+const char unauthorized[] =
+ "<html>"
+ "<head><title>Unauthorized</title></head>"
+ "<body><h1>401 Unauthorized</h1></body>"
+ "</html>";
+const char forbidden[] =
+ "<html>"
+ "<head><title>Forbidden</title></head>"
+ "<body><h1>403 Forbidden</h1></body>"
+ "</html>";
+const char not_found[] =
+ "<html>"
+ "<head><title>Not Found</title></head>"
+ "<body><h1>404 Not Found</h1></body>"
+ "</html>";
+const char internal_server_error[] =
+ "<html>"
+ "<head><title>Internal Server Error</title></head>"
+ "<body><h1>500 Internal Server Error</h1></body>"
+ "</html>";
+const char not_implemented[] =
+ "<html>"
+ "<head><title>Not Implemented</title></head>"
+ "<body><h1>501 Not Implemented</h1></body>"
+ "</html>";
+const char bad_gateway[] =
+ "<html>"
+ "<head><title>Bad Gateway</title></head>"
+ "<body><h1>502 Bad Gateway</h1></body>"
+ "</html>";
+const char service_unavailable[] =
+ "<html>"
+ "<head><title>Service Unavailable</title></head>"
+ "<body><h1>503 Service Unavailable</h1></body>"
+ "</html>";
+
+std::string to_string(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return ok;
+ case reply::created:
+ return created;
+ case reply::accepted:
+ return accepted;
+ case reply::no_content:
+ return no_content;
+ case reply::multiple_choices:
+ return multiple_choices;
+ case reply::moved_permanently:
+ return moved_permanently;
+ case reply::moved_temporarily:
+ return moved_temporarily;
+ case reply::not_modified:
+ return not_modified;
+ case reply::bad_request:
+ return bad_request;
+ case reply::unauthorized:
+ return unauthorized;
+ case reply::forbidden:
+ return forbidden;
+ case reply::not_found:
+ return not_found;
+ case reply::internal_server_error:
+ return internal_server_error;
+ case reply::not_implemented:
+ return not_implemented;
+ case reply::bad_gateway:
+ return bad_gateway;
+ case reply::service_unavailable:
+ return service_unavailable;
+ default:
+ return internal_server_error;
+ }
+}
+
+} // namespace stock_replies
+
+reply reply::stock_reply(reply::status_type status)
+{
+ reply rep;
+ rep.status = status;
+ rep.content = stock_replies::to_string(status);
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = boost::lexical_cast<std::string>(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = "text/html";
+ return rep;
+}
+
+} // namespace server4
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/reply.hpp b/doc/html/boost_asio/example/cpp03/http/server4/reply.hpp
new file mode 100644
index 0000000000..1f744a7a17
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/reply.hpp
@@ -0,0 +1,64 @@
+//
+// reply.hpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_REPLY_HPP
+#define HTTP_SERVER4_REPLY_HPP
+
+#include <string>
+#include <vector>
+#include <boost/asio.hpp>
+#include "header.hpp"
+
+namespace http {
+namespace server4 {
+
+/// A reply to be sent to a client.
+struct reply
+{
+ /// The status of the reply.
+ enum status_type
+ {
+ ok = 200,
+ created = 201,
+ accepted = 202,
+ no_content = 204,
+ multiple_choices = 300,
+ moved_permanently = 301,
+ moved_temporarily = 302,
+ not_modified = 304,
+ bad_request = 400,
+ unauthorized = 401,
+ forbidden = 403,
+ not_found = 404,
+ internal_server_error = 500,
+ not_implemented = 501,
+ bad_gateway = 502,
+ service_unavailable = 503
+ } status;
+
+ /// The headers to be included in the reply.
+ std::vector<header> headers;
+
+ /// The content to be sent in the reply.
+ std::string content;
+
+ /// Convert the reply into a vector of buffers. The buffers do not own the
+ /// underlying memory blocks, therefore the reply object must remain valid and
+ /// not be changed until the write operation has completed.
+ std::vector<boost::asio::const_buffer> to_buffers();
+
+ /// Get a stock reply.
+ static reply stock_reply(status_type status);
+};
+
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_REPLY_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/request.hpp b/doc/html/boost_asio/example/cpp03/http/server4/request.hpp
new file mode 100644
index 0000000000..ade91fa965
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/request.hpp
@@ -0,0 +1,46 @@
+//
+// request.hpp
+// ~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_REQUEST_HPP
+#define HTTP_SERVER4_REQUEST_HPP
+
+#include <string>
+#include <vector>
+#include "header.hpp"
+
+namespace http {
+namespace server4 {
+
+/// A request received from a client.
+struct request
+{
+ /// The request method, e.g. "GET", "POST".
+ std::string method;
+
+ /// The requested URI, such as a path to a file.
+ std::string uri;
+
+ /// Major version number, usually 1.
+ int http_version_major;
+
+ /// Minor version number, usually 0 or 1.
+ int http_version_minor;
+
+ /// The headers included with the request.
+ std::vector<header> headers;
+
+ /// The optional content sent with the request.
+ std::string content;
+};
+
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_REQUEST_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/request_parser.cpp b/doc/html/boost_asio/example/cpp03/http/server4/request_parser.cpp
new file mode 100644
index 0000000000..1031e7046c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/request_parser.cpp
@@ -0,0 +1,226 @@
+//
+// request_parser.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_parser.hpp"
+#include <algorithm>
+#include <cctype>
+#include <boost/lexical_cast.hpp>
+#include "request.hpp"
+
+namespace http {
+namespace server4 {
+
+// Enable the pseudo-keywords reenter, yield and fork.
+#include <boost/asio/yield.hpp>
+
+std::string request_parser::content_length_name_ = "Content-Length";
+
+boost::tribool request_parser::consume(request& req, char c)
+{
+ reenter (this)
+ {
+ req.method.clear();
+ req.uri.clear();
+ req.http_version_major = 0;
+ req.http_version_minor = 0;
+ req.headers.clear();
+ req.content.clear();
+ content_length_ = 0;
+
+ // Request method.
+ while (is_char(c) && !is_ctl(c) && !is_tspecial(c) && c != ' ')
+ {
+ req.method.push_back(c);
+ yield return boost::indeterminate;
+ }
+ if (req.method.empty())
+ return false;
+
+ // Space.
+ if (c != ' ') return false;
+ yield return boost::indeterminate;
+
+ // URI.
+ while (!is_ctl(c) && c != ' ')
+ {
+ req.uri.push_back(c);
+ yield return boost::indeterminate;
+ }
+ if (req.uri.empty()) return false;
+
+ // Space.
+ if (c != ' ') return false;
+ yield return boost::indeterminate;
+
+ // HTTP protocol identifier.
+ if (c != 'H') return false;
+ yield return boost::indeterminate;
+ if (c != 'T') return false;
+ yield return boost::indeterminate;
+ if (c != 'T') return false;
+ yield return boost::indeterminate;
+ if (c != 'P') return false;
+ yield return boost::indeterminate;
+
+ // Slash.
+ if (c != '/') return false;
+ yield return boost::indeterminate;
+
+ // Major version number.
+ if (!is_digit(c)) return false;
+ while (is_digit(c))
+ {
+ req.http_version_major = req.http_version_major * 10 + c - '0';
+ yield return boost::indeterminate;
+ }
+
+ // Dot.
+ if (c != '.') return false;
+ yield return boost::indeterminate;
+
+ // Minor version number.
+ if (!is_digit(c)) return false;
+ while (is_digit(c))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + c - '0';
+ yield return boost::indeterminate;
+ }
+
+ // CRLF.
+ if (c != '\r') return false;
+ yield return boost::indeterminate;
+ if (c != '\n') return false;
+ yield return boost::indeterminate;
+
+ // Headers.
+ while ((is_char(c) && !is_ctl(c) && !is_tspecial(c) && c != '\r')
+ || (c == ' ' || c == '\t'))
+ {
+ if (c == ' ' || c == '\t')
+ {
+ // Leading whitespace. Must be continuation of previous header's value.
+ if (req.headers.empty()) return false;
+ while (c == ' ' || c == '\t')
+ yield return boost::indeterminate;
+ }
+ else
+ {
+ // Start the next header.
+ req.headers.push_back(header());
+
+ // Header name.
+ while (is_char(c) && !is_ctl(c) && !is_tspecial(c) && c != ':')
+ {
+ req.headers.back().name.push_back(c);
+ yield return boost::indeterminate;
+ }
+
+ // Colon and space separates the header name from the header value.
+ if (c != ':') return false;
+ yield return boost::indeterminate;
+ if (c != ' ') return false;
+ yield return boost::indeterminate;
+ }
+
+ // Header value.
+ while (is_char(c) && !is_ctl(c) && c != '\r')
+ {
+ req.headers.back().value.push_back(c);
+ yield return boost::indeterminate;
+ }
+
+ // CRLF.
+ if (c != '\r') return false;
+ yield return boost::indeterminate;
+ if (c != '\n') return false;
+ yield return boost::indeterminate;
+ }
+
+ // CRLF.
+ if (c != '\r') return false;
+ yield return boost::indeterminate;
+ if (c != '\n') return false;
+
+ // Check for optional Content-Length header.
+ for (std::size_t i = 0; i < req.headers.size(); ++i)
+ {
+ if (headers_equal(req.headers[i].name, content_length_name_))
+ {
+ try
+ {
+ content_length_ =
+ boost::lexical_cast<std::size_t>(req.headers[i].value);
+ }
+ catch (boost::bad_lexical_cast&)
+ {
+ return false;
+ }
+ }
+ }
+
+ // Content.
+ while (req.content.size() < content_length_)
+ {
+ yield return boost::indeterminate;
+ req.content.push_back(c);
+ }
+ }
+
+ return true;
+}
+
+// Disable the pseudo-keywords reenter, yield and fork.
+#include <boost/asio/unyield.hpp>
+
+bool request_parser::is_char(int c)
+{
+ return c >= 0 && c <= 127;
+}
+
+bool request_parser::is_ctl(int c)
+{
+ return (c >= 0 && c <= 31) || (c == 127);
+}
+
+bool request_parser::is_tspecial(int c)
+{
+ switch (c)
+ {
+ case '(': case ')': case '<': case '>': case '@':
+ case ',': case ';': case ':': case '\\': case '"':
+ case '/': case '[': case ']': case '?': case '=':
+ case '{': case '}': case ' ': case '\t':
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_digit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+bool request_parser::tolower_compare(char a, char b)
+{
+ return std::tolower(a) == std::tolower(b);
+}
+
+bool request_parser::headers_equal(const std::string& a, const std::string& b)
+{
+ if (a.length() != b.length())
+ return false;
+
+ return std::equal(a.begin(), a.end(), b.begin(),
+ &request_parser::tolower_compare);
+}
+
+} // namespace server4
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/request_parser.hpp b/doc/html/boost_asio/example/cpp03/http/server4/request_parser.hpp
new file mode 100644
index 0000000000..34d4c47f58
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/request_parser.hpp
@@ -0,0 +1,78 @@
+//
+// request_parser.hpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_REQUEST_PARSER_HPP
+#define HTTP_SERVER4_REQUEST_PARSER_HPP
+
+#include <string>
+#include <boost/logic/tribool.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <boost/asio/coroutine.hpp>
+
+namespace http {
+namespace server4 {
+
+struct request;
+
+/// Parser for incoming requests.
+class request_parser : boost::asio::coroutine
+{
+public:
+ /// Parse some data. The tribool return value is true when a complete request
+ /// has been parsed, false if the data is invalid, indeterminate when more
+ /// data is required. The InputIterator return value indicates how much of the
+ /// input has been consumed.
+ template <typename InputIterator>
+ boost::tuple<boost::tribool, InputIterator> parse(request& req,
+ InputIterator begin, InputIterator end)
+ {
+ while (begin != end)
+ {
+ boost::tribool result = consume(req, *begin++);
+ if (result || !result)
+ return boost::make_tuple(result, begin);
+ }
+ boost::tribool result = boost::indeterminate;
+ return boost::make_tuple(result, begin);
+ }
+
+private:
+ /// The name of the content length header.
+ static std::string content_length_name_;
+
+ /// Content length as decoded from headers. Defaults to 0.
+ std::size_t content_length_;
+
+ /// Handle the next character of input.
+ boost::tribool consume(request& req, char input);
+
+ /// Check if a byte is an HTTP character.
+ static bool is_char(int c);
+
+ /// Check if a byte is an HTTP control character.
+ static bool is_ctl(int c);
+
+ /// Check if a byte is defined as an HTTP tspecial character.
+ static bool is_tspecial(int c);
+
+ /// Check if a byte is a digit.
+ static bool is_digit(int c);
+
+ /// Check if two characters are equal, without regard to case.
+ static bool tolower_compare(char a, char b);
+
+ /// Check whether the two request header names match.
+ bool headers_equal(const std::string& a, const std::string& b);
+};
+
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_REQUEST_PARSER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/server.cpp b/doc/html/boost_asio/example/cpp03/http/server4/server.cpp
new file mode 100644
index 0000000000..66aa329339
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/server.cpp
@@ -0,0 +1,121 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "server.hpp"
+#include "request.hpp"
+#include "reply.hpp"
+
+namespace http {
+namespace server4 {
+
+server::server(boost::asio::io_service& io_service,
+ const std::string& address, const std::string& port,
+ boost::function<void(const request&, reply&)> request_handler)
+ : request_handler_(request_handler)
+{
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query query(address, port);
+ acceptor_.reset(new tcp::acceptor(io_service, *resolver.resolve(query)));
+}
+
+// Enable the pseudo-keywords reenter, yield and fork.
+#include <boost/asio/yield.hpp>
+
+void server::operator()(boost::system::error_code ec, std::size_t length)
+{
+ // In this example we keep the error handling code in one place by
+ // hoisting it outside the coroutine. An alternative approach would be to
+ // check the value of ec after each yield for an asynchronous operation.
+ if (!ec)
+ {
+ // On reentering a coroutine, control jumps to the location of the last
+ // yield or fork. The argument to the "reenter" pseudo-keyword can be a
+ // pointer or reference to an object of type coroutine.
+ reenter (this)
+ {
+ // Loop to accept incoming connections.
+ do
+ {
+ // Create a new socket for the next incoming connection.
+ socket_.reset(new tcp::socket(acceptor_->get_io_service()));
+
+ // Accept a new connection. The "yield" pseudo-keyword saves the current
+ // line number and exits the coroutine's "reenter" block. We use the
+ // server coroutine as the completion handler for the async_accept
+ // operation. When the asynchronous operation completes, the io_service
+ // invokes the function call operator, we "reenter" the coroutine, and
+ // then control resumes at the following line.
+ yield acceptor_->async_accept(*socket_, *this);
+
+ // We "fork" by cloning a new server coroutine to handle the connection.
+ // After forking we have a parent coroutine and a child coroutine. Both
+ // parent and child continue execution at the following line. They can
+ // be distinguished using the functions coroutine::is_parent() and
+ // coroutine::is_child().
+ fork server(*this)();
+
+ // The parent continues looping to accept the next incoming connection.
+ // The child exits the loop and processes the connection.
+ } while (is_parent());
+
+ // Create the objects needed to receive a request on the connection.
+ buffer_.reset(new boost::array<char, 8192>);
+ request_.reset(new request);
+
+ // Loop until a complete request (or an invalid one) has been received.
+ do
+ {
+ // Receive some more data. When control resumes at the following line,
+ // the ec and length parameters reflect the result of the asynchronous
+ // operation.
+ yield socket_->async_read_some(boost::asio::buffer(*buffer_), *this);
+
+ // Parse the data we just received.
+ boost::tie(valid_request_, boost::tuples::ignore)
+ = request_parser_.parse(*request_,
+ buffer_->data(), buffer_->data() + length);
+
+ // An indeterminate result means we need more data, so keep looping.
+ } while (boost::indeterminate(valid_request_));
+
+ // Create the reply object that will be sent back to the client.
+ reply_.reset(new reply);
+
+ if (valid_request_)
+ {
+ // A valid request was received. Call the user-supplied function object
+ // to process the request and compose a reply.
+ request_handler_(*request_, *reply_);
+ }
+ else
+ {
+ // The request was invalid.
+ *reply_ = reply::stock_reply(reply::bad_request);
+ }
+
+ // Send the reply back to the client.
+ yield boost::asio::async_write(*socket_, reply_->to_buffers(), *this);
+
+ // Initiate graceful connection closure.
+ socket_->shutdown(tcp::socket::shutdown_both, ec);
+ }
+ }
+
+ // If an error occurs then the coroutine is not reentered. Consequently, no
+ // new asynchronous operations are started. This means that all shared_ptr
+ // references will disappear and the resources associated with the coroutine
+ // will be destroyed automatically after this function call returns.
+}
+
+// Disable the pseudo-keywords reenter, yield and fork.
+#include <boost/asio/unyield.hpp>
+
+} // namespace server4
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp03/http/server4/server.hpp b/doc/html/boost_asio/example/cpp03/http/server4/server.hpp
new file mode 100644
index 0000000000..7d01701af9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/http/server4/server.hpp
@@ -0,0 +1,73 @@
+//
+// server.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER4_SERVER_HPP
+#define HTTP_SERVER4_SERVER_HPP
+
+#include <boost/asio.hpp>
+#include <string>
+#include <boost/array.hpp>
+#include <boost/function.hpp>
+#include <boost/shared_ptr.hpp>
+#include "request_parser.hpp"
+
+namespace http {
+namespace server4 {
+
+struct request;
+struct reply;
+
+/// The top-level coroutine of the HTTP server.
+class server : boost::asio::coroutine
+{
+public:
+ /// Construct the server to listen on the specified TCP address and port, and
+ /// serve up files from the given directory.
+ explicit server(boost::asio::io_service& io_service,
+ const std::string& address, const std::string& port,
+ boost::function<void(const request&, reply&)> request_handler);
+
+ /// Perform work associated with the server.
+ void operator()(
+ boost::system::error_code ec = boost::system::error_code(),
+ std::size_t length = 0);
+
+private:
+ typedef boost::asio::ip::tcp tcp;
+
+ /// The user-supplied handler for all incoming requests.
+ boost::function<void(const request&, reply&)> request_handler_;
+
+ /// Acceptor used to listen for incoming connections.
+ boost::shared_ptr<tcp::acceptor> acceptor_;
+
+ /// The current connection from a client.
+ boost::shared_ptr<tcp::socket> socket_;
+
+ /// Buffer for incoming data.
+ boost::shared_ptr<boost::array<char, 8192> > buffer_;
+
+ /// The incoming request.
+ boost::shared_ptr<request> request_;
+
+ /// Whether the request is valid or not.
+ boost::tribool valid_request_;
+
+ /// The parser for the incoming request.
+ request_parser request_parser_;
+
+ /// The reply to be sent back to the client.
+ boost::shared_ptr<reply> reply_;
+};
+
+} // namespace server4
+} // namespace http
+
+#endif // HTTP_SERVER4_SERVER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/icmp/icmp_header.hpp b/doc/html/boost_asio/example/cpp03/icmp/icmp_header.hpp
new file mode 100644
index 0000000000..12272e21a8
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/icmp/icmp_header.hpp
@@ -0,0 +1,94 @@
+//
+// icmp_header.hpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef ICMP_HEADER_HPP
+#define ICMP_HEADER_HPP
+
+#include <istream>
+#include <ostream>
+#include <algorithm>
+
+// ICMP header for both IPv4 and IPv6.
+//
+// The wire format of an ICMP header is:
+//
+// 0 8 16 31
+// +---------------+---------------+------------------------------+ ---
+// | | | | ^
+// | type | code | checksum | |
+// | | | | |
+// +---------------+---------------+------------------------------+ 8 bytes
+// | | | |
+// | identifier | sequence number | |
+// | | | v
+// +-------------------------------+------------------------------+ ---
+
+class icmp_header
+{
+public:
+ enum { echo_reply = 0, destination_unreachable = 3, source_quench = 4,
+ redirect = 5, echo_request = 8, time_exceeded = 11, parameter_problem = 12,
+ timestamp_request = 13, timestamp_reply = 14, info_request = 15,
+ info_reply = 16, address_request = 17, address_reply = 18 };
+
+ icmp_header() { std::fill(rep_, rep_ + sizeof(rep_), 0); }
+
+ unsigned char type() const { return rep_[0]; }
+ unsigned char code() const { return rep_[1]; }
+ unsigned short checksum() const { return decode(2, 3); }
+ unsigned short identifier() const { return decode(4, 5); }
+ unsigned short sequence_number() const { return decode(6, 7); }
+
+ void type(unsigned char n) { rep_[0] = n; }
+ void code(unsigned char n) { rep_[1] = n; }
+ void checksum(unsigned short n) { encode(2, 3, n); }
+ void identifier(unsigned short n) { encode(4, 5, n); }
+ void sequence_number(unsigned short n) { encode(6, 7, n); }
+
+ friend std::istream& operator>>(std::istream& is, icmp_header& header)
+ { return is.read(reinterpret_cast<char*>(header.rep_), 8); }
+
+ friend std::ostream& operator<<(std::ostream& os, const icmp_header& header)
+ { return os.write(reinterpret_cast<const char*>(header.rep_), 8); }
+
+private:
+ unsigned short decode(int a, int b) const
+ { return (rep_[a] << 8) + rep_[b]; }
+
+ void encode(int a, int b, unsigned short n)
+ {
+ rep_[a] = static_cast<unsigned char>(n >> 8);
+ rep_[b] = static_cast<unsigned char>(n & 0xFF);
+ }
+
+ unsigned char rep_[8];
+};
+
+template <typename Iterator>
+void compute_checksum(icmp_header& header,
+ Iterator body_begin, Iterator body_end)
+{
+ unsigned int sum = (header.type() << 8) + header.code()
+ + header.identifier() + header.sequence_number();
+
+ Iterator body_iter = body_begin;
+ while (body_iter != body_end)
+ {
+ sum += (static_cast<unsigned char>(*body_iter++) << 8);
+ if (body_iter != body_end)
+ sum += static_cast<unsigned char>(*body_iter++);
+ }
+
+ sum = (sum >> 16) + (sum & 0xFFFF);
+ sum += (sum >> 16);
+ header.checksum(static_cast<unsigned short>(~sum));
+}
+
+#endif // ICMP_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/icmp/ipv4_header.hpp b/doc/html/boost_asio/example/cpp03/icmp/ipv4_header.hpp
new file mode 100644
index 0000000000..b724707d50
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/icmp/ipv4_header.hpp
@@ -0,0 +1,102 @@
+//
+// ipv4_header.hpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef IPV4_HEADER_HPP
+#define IPV4_HEADER_HPP
+
+#include <algorithm>
+#include <boost/asio/ip/address_v4.hpp>
+
+// Packet header for IPv4.
+//
+// The wire format of an IPv4 header is:
+//
+// 0 8 16 31
+// +-------+-------+---------------+------------------------------+ ---
+// | | | | | ^
+// |version|header | type of | total length in bytes | |
+// | (4) | length| service | | |
+// +-------+-------+---------------+-+-+-+------------------------+ |
+// | | | | | | |
+// | identification |0|D|M| fragment offset | |
+// | | |F|F| | |
+// +---------------+---------------+-+-+-+------------------------+ |
+// | | | | |
+// | time to live | protocol | header checksum | 20 bytes
+// | | | | |
+// +---------------+---------------+------------------------------+ |
+// | | |
+// | source IPv4 address | |
+// | | |
+// +--------------------------------------------------------------+ |
+// | | |
+// | destination IPv4 address | |
+// | | v
+// +--------------------------------------------------------------+ ---
+// | | ^
+// | | |
+// / options (if any) / 0 - 40
+// / / bytes
+// | | |
+// | | v
+// +--------------------------------------------------------------+ ---
+
+class ipv4_header
+{
+public:
+ ipv4_header() { std::fill(rep_, rep_ + sizeof(rep_), 0); }
+
+ unsigned char version() const { return (rep_[0] >> 4) & 0xF; }
+ unsigned short header_length() const { return (rep_[0] & 0xF) * 4; }
+ unsigned char type_of_service() const { return rep_[1]; }
+ unsigned short total_length() const { return decode(2, 3); }
+ unsigned short identification() const { return decode(4, 5); }
+ bool dont_fragment() const { return (rep_[6] & 0x40) != 0; }
+ bool more_fragments() const { return (rep_[6] & 0x20) != 0; }
+ unsigned short fragment_offset() const { return decode(6, 7) & 0x1FFF; }
+ unsigned int time_to_live() const { return rep_[8]; }
+ unsigned char protocol() const { return rep_[9]; }
+ unsigned short header_checksum() const { return decode(10, 11); }
+
+ boost::asio::ip::address_v4 source_address() const
+ {
+ boost::asio::ip::address_v4::bytes_type bytes
+ = { { rep_[12], rep_[13], rep_[14], rep_[15] } };
+ return boost::asio::ip::address_v4(bytes);
+ }
+
+ boost::asio::ip::address_v4 destination_address() const
+ {
+ boost::asio::ip::address_v4::bytes_type bytes
+ = { { rep_[16], rep_[17], rep_[18], rep_[19] } };
+ return boost::asio::ip::address_v4(bytes);
+ }
+
+ friend std::istream& operator>>(std::istream& is, ipv4_header& header)
+ {
+ is.read(reinterpret_cast<char*>(header.rep_), 20);
+ if (header.version() != 4)
+ is.setstate(std::ios::failbit);
+ std::streamsize options_length = header.header_length() - 20;
+ if (options_length < 0 || options_length > 40)
+ is.setstate(std::ios::failbit);
+ else
+ is.read(reinterpret_cast<char*>(header.rep_) + 20, options_length);
+ return is;
+ }
+
+private:
+ unsigned short decode(int a, int b) const
+ { return (rep_[a] << 8) + rep_[b]; }
+
+ unsigned char rep_[60];
+};
+
+#endif // IPV4_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/icmp/ping.cpp b/doc/html/boost_asio/example/cpp03/icmp/ping.cpp
new file mode 100644
index 0000000000..a9aa57f808
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/icmp/ping.cpp
@@ -0,0 +1,162 @@
+//
+// ping.cpp
+// ~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <istream>
+#include <iostream>
+#include <ostream>
+
+#include "icmp_header.hpp"
+#include "ipv4_header.hpp"
+
+using boost::asio::ip::icmp;
+using boost::asio::deadline_timer;
+namespace posix_time = boost::posix_time;
+
+class pinger
+{
+public:
+ pinger(boost::asio::io_service& io_service, const char* destination)
+ : resolver_(io_service), socket_(io_service, icmp::v4()),
+ timer_(io_service), sequence_number_(0), num_replies_(0)
+ {
+ icmp::resolver::query query(icmp::v4(), destination, "");
+ destination_ = *resolver_.resolve(query);
+
+ start_send();
+ start_receive();
+ }
+
+private:
+ void start_send()
+ {
+ std::string body("\"Hello!\" from Asio ping.");
+
+ // Create an ICMP header for an echo request.
+ icmp_header echo_request;
+ echo_request.type(icmp_header::echo_request);
+ echo_request.code(0);
+ echo_request.identifier(get_identifier());
+ echo_request.sequence_number(++sequence_number_);
+ compute_checksum(echo_request, body.begin(), body.end());
+
+ // Encode the request packet.
+ boost::asio::streambuf request_buffer;
+ std::ostream os(&request_buffer);
+ os << echo_request << body;
+
+ // Send the request.
+ time_sent_ = posix_time::microsec_clock::universal_time();
+ socket_.send_to(request_buffer.data(), destination_);
+
+ // Wait up to five seconds for a reply.
+ num_replies_ = 0;
+ timer_.expires_at(time_sent_ + posix_time::seconds(5));
+ timer_.async_wait(boost::bind(&pinger::handle_timeout, this));
+ }
+
+ void handle_timeout()
+ {
+ if (num_replies_ == 0)
+ std::cout << "Request timed out" << std::endl;
+
+ // Requests must be sent no less than one second apart.
+ timer_.expires_at(time_sent_ + posix_time::seconds(1));
+ timer_.async_wait(boost::bind(&pinger::start_send, this));
+ }
+
+ void start_receive()
+ {
+ // Discard any data already in the buffer.
+ reply_buffer_.consume(reply_buffer_.size());
+
+ // Wait for a reply. We prepare the buffer to receive up to 64KB.
+ socket_.async_receive(reply_buffer_.prepare(65536),
+ boost::bind(&pinger::handle_receive, this, _2));
+ }
+
+ void handle_receive(std::size_t length)
+ {
+ // The actual number of bytes received is committed to the buffer so that we
+ // can extract it using a std::istream object.
+ reply_buffer_.commit(length);
+
+ // Decode the reply packet.
+ std::istream is(&reply_buffer_);
+ ipv4_header ipv4_hdr;
+ icmp_header icmp_hdr;
+ is >> ipv4_hdr >> icmp_hdr;
+
+ // We can receive all ICMP packets received by the host, so we need to
+ // filter out only the echo replies that match the our identifier and
+ // expected sequence number.
+ if (is && icmp_hdr.type() == icmp_header::echo_reply
+ && icmp_hdr.identifier() == get_identifier()
+ && icmp_hdr.sequence_number() == sequence_number_)
+ {
+ // If this is the first reply, interrupt the five second timeout.
+ if (num_replies_++ == 0)
+ timer_.cancel();
+
+ // Print out some information about the reply packet.
+ posix_time::ptime now = posix_time::microsec_clock::universal_time();
+ std::cout << length - ipv4_hdr.header_length()
+ << " bytes from " << ipv4_hdr.source_address()
+ << ": icmp_seq=" << icmp_hdr.sequence_number()
+ << ", ttl=" << ipv4_hdr.time_to_live()
+ << ", time=" << (now - time_sent_).total_milliseconds() << " ms"
+ << std::endl;
+ }
+
+ start_receive();
+ }
+
+ static unsigned short get_identifier()
+ {
+#if defined(BOOST_ASIO_WINDOWS)
+ return static_cast<unsigned short>(::GetCurrentProcessId());
+#else
+ return static_cast<unsigned short>(::getpid());
+#endif
+ }
+
+ icmp::resolver resolver_;
+ icmp::endpoint destination_;
+ icmp::socket socket_;
+ deadline_timer timer_;
+ unsigned short sequence_number_;
+ posix_time::ptime time_sent_;
+ boost::asio::streambuf reply_buffer_;
+ std::size_t num_replies_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: ping <host>" << std::endl;
+#if !defined(BOOST_ASIO_WINDOWS)
+ std::cerr << "(You may need to run this program as root.)" << std::endl;
+#endif
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ pinger p(io_service, argv[1]);
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << std::endl;
+ }
+}
diff --git a/doc/html/boost_asio/example/cpp03/invocation/prioritised_handlers.cpp b/doc/html/boost_asio/example/cpp03/invocation/prioritised_handlers.cpp
new file mode 100644
index 0000000000..67ffee545a
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/invocation/prioritised_handlers.cpp
@@ -0,0 +1,162 @@
+//
+// prioritised_handlers.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/function.hpp>
+#include <iostream>
+#include <queue>
+
+using boost::asio::ip::tcp;
+
+class handler_priority_queue
+{
+public:
+ void add(int priority, boost::function<void()> function)
+ {
+ handlers_.push(queued_handler(priority, function));
+ }
+
+ void execute_all()
+ {
+ while (!handlers_.empty())
+ {
+ queued_handler handler = handlers_.top();
+ handler.execute();
+ handlers_.pop();
+ }
+ }
+
+ // A generic wrapper class for handlers to allow the invocation to be hooked.
+ template <typename Handler>
+ class wrapped_handler
+ {
+ public:
+ wrapped_handler(handler_priority_queue& q, int p, Handler h)
+ : queue_(q), priority_(p), handler_(h)
+ {
+ }
+
+ void operator()()
+ {
+ handler_();
+ }
+
+ template <typename Arg1>
+ void operator()(Arg1 arg1)
+ {
+ handler_(arg1);
+ }
+
+ template <typename Arg1, typename Arg2>
+ void operator()(Arg1 arg1, Arg2 arg2)
+ {
+ handler_(arg1, arg2);
+ }
+
+ //private:
+ handler_priority_queue& queue_;
+ int priority_;
+ Handler handler_;
+ };
+
+ template <typename Handler>
+ wrapped_handler<Handler> wrap(int priority, Handler handler)
+ {
+ return wrapped_handler<Handler>(*this, priority, handler);
+ }
+
+private:
+ class queued_handler
+ {
+ public:
+ queued_handler(int p, boost::function<void()> f)
+ : priority_(p), function_(f)
+ {
+ }
+
+ void execute()
+ {
+ function_();
+ }
+
+ friend bool operator<(const queued_handler& a,
+ const queued_handler& b)
+ {
+ return a.priority_ < b.priority_;
+ }
+
+ private:
+ int priority_;
+ boost::function<void()> function_;
+ };
+
+ std::priority_queue<queued_handler> handlers_;
+};
+
+// Custom invocation hook for wrapped handlers.
+template <typename Function, typename Handler>
+void asio_handler_invoke(Function f,
+ handler_priority_queue::wrapped_handler<Handler>* h)
+{
+ h->queue_.add(h->priority_, f);
+}
+
+//----------------------------------------------------------------------
+
+void high_priority_handler(const boost::system::error_code& /*ec*/)
+{
+ std::cout << "High priority handler\n";
+}
+
+void middle_priority_handler(const boost::system::error_code& /*ec*/)
+{
+ std::cout << "Middle priority handler\n";
+}
+
+void low_priority_handler()
+{
+ std::cout << "Low priority handler\n";
+}
+
+int main()
+{
+ boost::asio::io_service io_service;
+
+ handler_priority_queue pri_queue;
+
+ // Post a completion handler to be run immediately.
+ io_service.post(pri_queue.wrap(0, low_priority_handler));
+
+ // Start an asynchronous accept that will complete immediately.
+ tcp::endpoint endpoint(boost::asio::ip::address_v4::loopback(), 0);
+ tcp::acceptor acceptor(io_service, endpoint);
+ tcp::socket server_socket(io_service);
+ acceptor.async_accept(server_socket,
+ pri_queue.wrap(100, high_priority_handler));
+ tcp::socket client_socket(io_service);
+ client_socket.connect(acceptor.local_endpoint());
+
+ // Set a deadline timer to expire immediately.
+ boost::asio::deadline_timer timer(io_service);
+ timer.expires_at(boost::posix_time::neg_infin);
+ timer.async_wait(pri_queue.wrap(42, middle_priority_handler));
+
+ while (io_service.run_one())
+ {
+ // The custom invocation hook adds the handlers to the priority queue
+ // rather than executing them from within the poll_one() call.
+ while (io_service.poll_one())
+ ;
+
+ pri_queue.execute_all();
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/iostreams/daytime_client.cpp b/doc/html/boost_asio/example/cpp03/iostreams/daytime_client.cpp
new file mode 100644
index 0000000000..20ed37211f
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/iostreams/daytime_client.cpp
@@ -0,0 +1,44 @@
+//
+// daytime_client.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: daytime_client <host>" << std::endl;
+ return 1;
+ }
+
+ tcp::iostream s(argv[1], "daytime");
+ if (!s)
+ {
+ std::cout << "Unable to connect: " << s.error().message() << std::endl;
+ return 1;
+ }
+
+ std::string line;
+ std::getline(s, line);
+ std::cout << line << std::endl;
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/iostreams/daytime_server.cpp b/doc/html/boost_asio/example/cpp03/iostreams/daytime_server.cpp
new file mode 100644
index 0000000000..7d7c3f0889
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/iostreams/daytime_server.cpp
@@ -0,0 +1,51 @@
+//
+// daytime_server.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <ctime>
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+std::string make_daytime_string()
+{
+ using namespace std; // For time_t, time and ctime;
+ time_t now = time(0);
+ return ctime(&now);
+}
+
+int main()
+{
+ try
+ {
+ boost::asio::io_service io_service;
+
+ tcp::endpoint endpoint(tcp::v4(), 13);
+ tcp::acceptor acceptor(io_service, endpoint);
+
+ for (;;)
+ {
+ tcp::iostream stream;
+ boost::system::error_code ec;
+ acceptor.accept(*stream.rdbuf(), ec);
+ if (!ec)
+ {
+ stream << make_daytime_string();
+ }
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/iostreams/http_client.cpp b/doc/html/boost_asio/example/cpp03/iostreams/http_client.cpp
new file mode 100644
index 0000000000..5f2bfc8736
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/iostreams/http_client.cpp
@@ -0,0 +1,91 @@
+//
+// sync_client.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <istream>
+#include <ostream>
+#include <string>
+#include <boost/asio/ip/tcp.hpp>
+
+using boost::asio::ip::tcp;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cout << "Usage: http_client <server> <path>\n";
+ std::cout << "Example:\n";
+ std::cout << " http_client www.boost.org /LICENSE_1_0.txt\n";
+ return 1;
+ }
+
+ boost::asio::ip::tcp::iostream s;
+
+ // The entire sequence of I/O operations must complete within 60 seconds.
+ // If an expiry occurs, the socket is automatically closed and the stream
+ // becomes bad.
+ s.expires_from_now(boost::posix_time::seconds(60));
+
+ // Establish a connection to the server.
+ s.connect(argv[1], "http");
+ if (!s)
+ {
+ std::cout << "Unable to connect: " << s.error().message() << "\n";
+ return 1;
+ }
+
+ // Send the request. We specify the "Connection: close" header so that the
+ // server will close the socket after transmitting the response. This will
+ // allow us to treat all data up until the EOF as the content.
+ s << "GET " << argv[2] << " HTTP/1.0\r\n";
+ s << "Host: " << argv[1] << "\r\n";
+ s << "Accept: */*\r\n";
+ s << "Connection: close\r\n\r\n";
+
+ // By default, the stream is tied with itself. This means that the stream
+ // automatically flush the buffered output before attempting a read. It is
+ // not necessary not explicitly flush the stream at this point.
+
+ // Check that response is OK.
+ std::string http_version;
+ s >> http_version;
+ unsigned int status_code;
+ s >> status_code;
+ std::string status_message;
+ std::getline(s, status_message);
+ if (!s || http_version.substr(0, 5) != "HTTP/")
+ {
+ std::cout << "Invalid response\n";
+ return 1;
+ }
+ if (status_code != 200)
+ {
+ std::cout << "Response returned with status code " << status_code << "\n";
+ return 1;
+ }
+
+ // Process the response headers, which are terminated by a blank line.
+ std::string header;
+ while (std::getline(s, header) && header != "\r")
+ std::cout << header << "\n";
+ std::cout << "\n";
+
+ // Write the remaining data to output.
+ std::cout << s.rdbuf();
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/local/connect_pair.cpp b/doc/html/boost_asio/example/cpp03/local/connect_pair.cpp
new file mode 100644
index 0000000000..1d8a7f3196
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/local/connect_pair.cpp
@@ -0,0 +1,142 @@
+//
+// connect_pair.cpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <cctype>
+#include <boost/asio.hpp>
+#include <boost/thread/thread.hpp>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+
+#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+
+using boost::asio::local::stream_protocol;
+
+class uppercase_filter
+{
+public:
+ uppercase_filter(boost::asio::io_service& io_service)
+ : socket_(io_service)
+ {
+ }
+
+ stream_protocol::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ // Wait for request.
+ socket_.async_read_some(boost::asio::buffer(data_),
+ boost::bind(&uppercase_filter::handle_read,
+ this, boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+
+private:
+ void handle_read(const boost::system::error_code& ec, std::size_t size)
+ {
+ if (!ec)
+ {
+ // Compute result.
+ for (std::size_t i = 0; i < size; ++i)
+ data_[i] = std::toupper(data_[i]);
+
+ // Send result.
+ boost::asio::async_write(socket_, boost::asio::buffer(data_, size),
+ boost::bind(&uppercase_filter::handle_write,
+ this, boost::asio::placeholders::error));
+ }
+ else
+ {
+ throw boost::system::system_error(ec);
+ }
+ }
+
+ void handle_write(const boost::system::error_code& ec)
+ {
+ if (!ec)
+ {
+ // Wait for request.
+ socket_.async_read_some(boost::asio::buffer(data_),
+ boost::bind(&uppercase_filter::handle_read,
+ this, boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ throw boost::system::system_error(ec);
+ }
+ }
+
+ stream_protocol::socket socket_;
+ boost::array<char, 512> data_;
+};
+
+void run(boost::asio::io_service* io_service)
+{
+ try
+ {
+ io_service->run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception in thread: " << e.what() << "\n";
+ std::exit(1);
+ }
+}
+
+int main()
+{
+ try
+ {
+ boost::asio::io_service io_service;
+
+ // Create filter and establish a connection to it.
+ uppercase_filter filter(io_service);
+ stream_protocol::socket socket(io_service);
+ boost::asio::local::connect_pair(socket, filter.socket());
+ filter.start();
+
+ // The io_service runs in a background thread to perform filtering.
+ boost::thread thread(boost::bind(run, &io_service));
+
+ for (;;)
+ {
+ // Collect request from user.
+ std::cout << "Enter a string: ";
+ std::string request;
+ std::getline(std::cin, request);
+
+ // Send request to filter.
+ boost::asio::write(socket, boost::asio::buffer(request));
+
+ // Wait for reply from filter.
+ std::vector<char> reply(request.size());
+ boost::asio::read(socket, boost::asio::buffer(reply));
+
+ // Show reply to user.
+ std::cout << "Result: ";
+ std::cout.write(&reply[0], request.size());
+ std::cout << std::endl;
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ std::exit(1);
+ }
+}
+
+#else // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+# error Local sockets not available on this platform.
+#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
diff --git a/doc/html/boost_asio/example/cpp03/local/iostream_client.cpp b/doc/html/boost_asio/example/cpp03/local/iostream_client.cpp
new file mode 100644
index 0000000000..d2e0621c82
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/local/iostream_client.cpp
@@ -0,0 +1,62 @@
+//
+// stream_client.cpp
+// ~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstring>
+#include <iostream>
+#include <boost/asio.hpp>
+
+#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+
+using boost::asio::local::stream_protocol;
+
+enum { max_length = 1024 };
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: iostream_client <file>\n";
+ return 1;
+ }
+
+ stream_protocol::endpoint ep(argv[1]);
+ stream_protocol::iostream s(ep);
+ if (!s)
+ {
+ std::cerr << "Unable to connect: " << s.error().message() << std::endl;
+ return 1;
+ }
+
+ using namespace std; // For strlen.
+ std::cout << "Enter message: ";
+ char request[max_length];
+ std::cin.getline(request, max_length);
+ size_t length = strlen(request);
+ s << request;
+
+ char reply[max_length];
+ s.read(reply, length);
+ std::cout << "Reply is: ";
+ std::cout.write(reply, length);
+ std::cout << "\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
+
+#else // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+# error Local sockets not available on this platform.
+#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
diff --git a/doc/html/boost_asio/example/cpp03/local/stream_client.cpp b/doc/html/boost_asio/example/cpp03/local/stream_client.cpp
new file mode 100644
index 0000000000..f0f7b978ca
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/local/stream_client.cpp
@@ -0,0 +1,61 @@
+//
+// stream_client.cpp
+// ~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <boost/asio.hpp>
+
+#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+
+using boost::asio::local::stream_protocol;
+
+enum { max_length = 1024 };
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: stream_client <file>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ stream_protocol::socket s(io_service);
+ s.connect(stream_protocol::endpoint(argv[1]));
+
+ using namespace std; // For strlen.
+ std::cout << "Enter message: ";
+ char request[max_length];
+ std::cin.getline(request, max_length);
+ size_t request_length = strlen(request);
+ boost::asio::write(s, boost::asio::buffer(request, request_length));
+
+ char reply[max_length];
+ size_t reply_length = boost::asio::read(s,
+ boost::asio::buffer(reply, request_length));
+ std::cout << "Reply is: ";
+ std::cout.write(reply, reply_length);
+ std::cout << "\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
+
+#else // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+# error Local sockets not available on this platform.
+#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
diff --git a/doc/html/boost_asio/example/cpp03/local/stream_server.cpp b/doc/html/boost_asio/example/cpp03/local/stream_server.cpp
new file mode 100644
index 0000000000..a376a82139
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/local/stream_server.cpp
@@ -0,0 +1,141 @@
+//
+// stream_server.cpp
+// ~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdio>
+#include <iostream>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/asio.hpp>
+
+#if defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+
+using boost::asio::local::stream_protocol;
+
+class session
+ : public boost::enable_shared_from_this<session>
+{
+public:
+ session(boost::asio::io_service& io_service)
+ : socket_(io_service)
+ {
+ }
+
+ stream_protocol::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ socket_.async_read_some(boost::asio::buffer(data_),
+ boost::bind(&session::handle_read,
+ shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+
+ void handle_read(const boost::system::error_code& error,
+ size_t bytes_transferred)
+ {
+ if (!error)
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(data_, bytes_transferred),
+ boost::bind(&session::handle_write,
+ shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ socket_.async_read_some(boost::asio::buffer(data_),
+ boost::bind(&session::handle_read,
+ shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+
+private:
+ // The socket used to communicate with the client.
+ stream_protocol::socket socket_;
+
+ // Buffer used to store data received from the client.
+ boost::array<char, 1024> data_;
+};
+
+typedef boost::shared_ptr<session> session_ptr;
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, const std::string& file)
+ : io_service_(io_service),
+ acceptor_(io_service, stream_protocol::endpoint(file))
+ {
+ session_ptr new_session(new session(io_service_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(session_ptr new_session,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_session->start();
+ }
+
+ new_session.reset(new session(io_service_));
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ stream_protocol::acceptor acceptor_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: stream_server <file>\n";
+ std::cerr << "*** WARNING: existing file is removed ***\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ std::remove(argv[1]);
+ server s(io_service, argv[1]);
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
+
+#else // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
+# error Local sockets not available on this platform.
+#endif // defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
diff --git a/doc/html/boost_asio/example/cpp03/multicast/receiver.cpp b/doc/html/boost_asio/example/cpp03/multicast/receiver.cpp
new file mode 100644
index 0000000000..da98a5f21c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/multicast/receiver.cpp
@@ -0,0 +1,93 @@
+//
+// receiver.cpp
+// ~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+#include "boost/bind.hpp"
+
+const short multicast_port = 30001;
+
+class receiver
+{
+public:
+ receiver(boost::asio::io_service& io_service,
+ const boost::asio::ip::address& listen_address,
+ const boost::asio::ip::address& multicast_address)
+ : socket_(io_service)
+ {
+ // Create the socket so that multiple may be bound to the same address.
+ boost::asio::ip::udp::endpoint listen_endpoint(
+ listen_address, multicast_port);
+ socket_.open(listen_endpoint.protocol());
+ socket_.set_option(boost::asio::ip::udp::socket::reuse_address(true));
+ socket_.bind(listen_endpoint);
+
+ // Join the multicast group.
+ socket_.set_option(
+ boost::asio::ip::multicast::join_group(multicast_address));
+
+ socket_.async_receive_from(
+ boost::asio::buffer(data_, max_length), sender_endpoint_,
+ boost::bind(&receiver::handle_receive_from, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+
+ void handle_receive_from(const boost::system::error_code& error,
+ size_t bytes_recvd)
+ {
+ if (!error)
+ {
+ std::cout.write(data_, bytes_recvd);
+ std::cout << std::endl;
+
+ socket_.async_receive_from(
+ boost::asio::buffer(data_, max_length), sender_endpoint_,
+ boost::bind(&receiver::handle_receive_from, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+
+private:
+ boost::asio::ip::udp::socket socket_;
+ boost::asio::ip::udp::endpoint sender_endpoint_;
+ enum { max_length = 1024 };
+ char data_[max_length];
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: receiver <listen_address> <multicast_address>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " receiver 0.0.0.0 239.255.0.1\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " receiver 0::0 ff31::8000:1234\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ receiver r(io_service,
+ boost::asio::ip::address::from_string(argv[1]),
+ boost::asio::ip::address::from_string(argv[2]));
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/multicast/sender.cpp b/doc/html/boost_asio/example/cpp03/multicast/sender.cpp
new file mode 100644
index 0000000000..42e763429c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/multicast/sender.cpp
@@ -0,0 +1,99 @@
+//
+// sender.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <boost/asio.hpp>
+#include "boost/bind.hpp"
+#include "boost/date_time/posix_time/posix_time_types.hpp"
+
+const short multicast_port = 30001;
+const int max_message_count = 10;
+
+class sender
+{
+public:
+ sender(boost::asio::io_service& io_service,
+ const boost::asio::ip::address& multicast_address)
+ : endpoint_(multicast_address, multicast_port),
+ socket_(io_service, endpoint_.protocol()),
+ timer_(io_service),
+ message_count_(0)
+ {
+ std::ostringstream os;
+ os << "Message " << message_count_++;
+ message_ = os.str();
+
+ socket_.async_send_to(
+ boost::asio::buffer(message_), endpoint_,
+ boost::bind(&sender::handle_send_to, this,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_send_to(const boost::system::error_code& error)
+ {
+ if (!error && message_count_ < max_message_count)
+ {
+ timer_.expires_from_now(boost::posix_time::seconds(1));
+ timer_.async_wait(
+ boost::bind(&sender::handle_timeout, this,
+ boost::asio::placeholders::error));
+ }
+ }
+
+ void handle_timeout(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ std::ostringstream os;
+ os << "Message " << message_count_++;
+ message_ = os.str();
+
+ socket_.async_send_to(
+ boost::asio::buffer(message_), endpoint_,
+ boost::bind(&sender::handle_send_to, this,
+ boost::asio::placeholders::error));
+ }
+ }
+
+private:
+ boost::asio::ip::udp::endpoint endpoint_;
+ boost::asio::ip::udp::socket socket_;
+ boost::asio::deadline_timer timer_;
+ int message_count_;
+ std::string message_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: sender <multicast_address>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " sender 239.255.0.1\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " sender ff31::8000:1234\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ sender s(io_service, boost::asio::ip::address::from_string(argv[1]));
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/nonblocking/third_party_lib.cpp b/doc/html/boost_asio/example/cpp03/nonblocking/third_party_lib.cpp
new file mode 100644
index 0000000000..cbaef56e2c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/nonblocking/third_party_lib.cpp
@@ -0,0 +1,242 @@
+//
+// third_party_lib.cpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/array.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <iostream>
+
+using boost::asio::ip::tcp;
+
+namespace third_party_lib {
+
+// Simulation of a third party library that wants to perform read and write
+// operations directly on a socket. It needs to be polled to determine whether
+// it requires a read or write operation, and notified when the socket is ready
+// for reading or writing.
+class session
+{
+public:
+ session(tcp::socket& socket)
+ : socket_(socket),
+ state_(reading)
+ {
+ }
+
+ // Returns true if the third party library wants to be notified when the
+ // socket is ready for reading.
+ bool want_read() const
+ {
+ return state_ == reading;
+ }
+
+ // Notify that third party library that it should perform its read operation.
+ void do_read(boost::system::error_code& ec)
+ {
+ if (std::size_t len = socket_.read_some(boost::asio::buffer(data_), ec))
+ {
+ write_buffer_ = boost::asio::buffer(data_, len);
+ state_ = writing;
+ }
+ }
+
+ // Returns true if the third party library wants to be notified when the
+ // socket is ready for writing.
+ bool want_write() const
+ {
+ return state_ == writing;
+ }
+
+ // Notify that third party library that it should perform its write operation.
+ void do_write(boost::system::error_code& ec)
+ {
+ if (std::size_t len = socket_.write_some(
+ boost::asio::buffer(write_buffer_), ec))
+ {
+ write_buffer_ = write_buffer_ + len;
+ state_ = boost::asio::buffer_size(write_buffer_) > 0 ? writing : reading;
+ }
+ }
+
+private:
+ tcp::socket& socket_;
+ enum { reading, writing } state_;
+ boost::array<char, 128> data_;
+ boost::asio::const_buffer write_buffer_;
+};
+
+} // namespace third_party_lib
+
+// The glue between asio's sockets and the third party library.
+class connection
+ : public boost::enable_shared_from_this<connection>
+{
+public:
+ typedef boost::shared_ptr<connection> pointer;
+
+ static pointer create(boost::asio::io_service& io_service)
+ {
+ return pointer(new connection(io_service));
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ // Put the socket into non-blocking mode.
+ socket_.non_blocking(true);
+
+ start_operations();
+ }
+
+private:
+ connection(boost::asio::io_service& io_service)
+ : socket_(io_service),
+ session_impl_(socket_),
+ read_in_progress_(false),
+ write_in_progress_(false)
+ {
+ }
+
+ void start_operations()
+ {
+ // Start a read operation if the third party library wants one.
+ if (session_impl_.want_read() && !read_in_progress_)
+ {
+ read_in_progress_ = true;
+ socket_.async_read_some(
+ boost::asio::null_buffers(),
+ boost::bind(&connection::handle_read,
+ shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+
+ // Start a write operation if the third party library wants one.
+ if (session_impl_.want_write() && !write_in_progress_)
+ {
+ write_in_progress_ = true;
+ socket_.async_write_some(
+ boost::asio::null_buffers(),
+ boost::bind(&connection::handle_write,
+ shared_from_this(),
+ boost::asio::placeholders::error));
+ }
+ }
+
+ void handle_read(boost::system::error_code ec)
+ {
+ read_in_progress_ = false;
+
+ // Notify third party library that it can perform a read.
+ if (!ec)
+ session_impl_.do_read(ec);
+
+ // The third party library successfully performed a read on the socket.
+ // Start new read or write operations based on what it now wants.
+ if (!ec || ec == boost::asio::error::would_block)
+ start_operations();
+
+ // Otherwise, an error occurred. Closing the socket cancels any outstanding
+ // asynchronous read or write operations. The connection object will be
+ // destroyed automatically once those outstanding operations complete.
+ else
+ socket_.close();
+ }
+
+ void handle_write(boost::system::error_code ec)
+ {
+ write_in_progress_ = false;
+
+ // Notify third party library that it can perform a write.
+ if (!ec)
+ session_impl_.do_write(ec);
+
+ // The third party library successfully performed a write on the socket.
+ // Start new read or write operations based on what it now wants.
+ if (!ec || ec == boost::asio::error::would_block)
+ start_operations();
+
+ // Otherwise, an error occurred. Closing the socket cancels any outstanding
+ // asynchronous read or write operations. The connection object will be
+ // destroyed automatically once those outstanding operations complete.
+ else
+ socket_.close();
+ }
+
+private:
+ tcp::socket socket_;
+ third_party_lib::session session_impl_;
+ bool read_in_progress_;
+ bool write_in_progress_;
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, unsigned short port)
+ : acceptor_(io_service, tcp::endpoint(tcp::v4(), port))
+ {
+ start_accept();
+ }
+
+private:
+ void start_accept()
+ {
+ connection::pointer new_connection =
+ connection::create(acceptor_.get_io_service());
+
+ acceptor_.async_accept(new_connection->socket(),
+ boost::bind(&server::handle_accept, this, new_connection,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(connection::pointer new_connection,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_connection->start();
+ }
+
+ start_accept();
+ }
+
+ tcp::acceptor acceptor_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: third_party_lib <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/porthopper/client.cpp b/doc/html/boost_asio/example/cpp03/porthopper/client.cpp
new file mode 100644
index 0000000000..ba607a7054
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/porthopper/client.cpp
@@ -0,0 +1,193 @@
+//
+// client.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/lambda/lambda.hpp>
+#include <boost/lambda/bind.hpp>
+#include <boost/lambda/if.hpp>
+#include <boost/shared_ptr.hpp>
+#include <algorithm>
+#include <cstdlib>
+#include <exception>
+#include <iostream>
+#include <string>
+#include "protocol.hpp"
+
+using namespace boost;
+using boost::asio::ip::tcp;
+using boost::asio::ip::udp;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: client <host> <port>\n";
+ return 1;
+ }
+ using namespace std; // For atoi.
+ std::string host_name = argv[1];
+ std::string port = argv[2];
+
+ boost::asio::io_service io_service;
+
+ // Determine the location of the server.
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query query(host_name, port);
+ tcp::endpoint remote_endpoint = *resolver.resolve(query);
+
+ // Establish the control connection to the server.
+ tcp::socket control_socket(io_service);
+ control_socket.connect(remote_endpoint);
+
+ // Create a datagram socket to receive data from the server.
+ boost::shared_ptr<udp::socket> data_socket(
+ new udp::socket(io_service, udp::endpoint(udp::v4(), 0)));
+
+ // Determine what port we will receive data on.
+ udp::endpoint data_endpoint = data_socket->local_endpoint();
+
+ // Ask the server to start sending us data.
+ control_request start = control_request::start(data_endpoint.port());
+ boost::asio::write(control_socket, start.to_buffers());
+
+ unsigned long last_frame_number = 0;
+ for (;;)
+ {
+ // Receive 50 messages on the current data socket.
+ for (int i = 0; i < 50; ++i)
+ {
+ // Receive a frame from the server.
+ frame f;
+ data_socket->receive(f.to_buffers(), 0);
+ if (f.number() > last_frame_number)
+ {
+ last_frame_number = f.number();
+ std::cout << "\n" << f.payload();
+ }
+ }
+
+ // Time to switch to a new socket. To ensure seamless handover we will
+ // continue to receive packets using the old socket until data arrives on
+ // the new one.
+ std::cout << " Starting renegotiation";
+
+ // Create the new data socket.
+ boost::shared_ptr<udp::socket> new_data_socket(
+ new udp::socket(io_service, udp::endpoint(udp::v4(), 0)));
+
+ // Determine the new port we will use to receive data.
+ udp::endpoint new_data_endpoint = new_data_socket->local_endpoint();
+
+ // Ask the server to switch over to the new port.
+ control_request change = control_request::change(
+ data_endpoint.port(), new_data_endpoint.port());
+ boost::system::error_code control_result;
+ boost::asio::async_write(control_socket, change.to_buffers(),
+ (
+ lambda::var(control_result) = lambda::_1
+ ));
+
+ // Try to receive a frame from the server on the new data socket. If we
+ // successfully receive a frame on this new data socket we can consider
+ // the renegotation complete. In that case we will close the old data
+ // socket, which will cause any outstanding receive operation on it to be
+ // cancelled.
+ frame f1;
+ boost::system::error_code new_data_socket_result;
+ new_data_socket->async_receive(f1.to_buffers(),
+ (
+ // Note: lambda::_1 is the first argument to the callback handler,
+ // which in this case is the error code for the operation.
+ lambda::var(new_data_socket_result) = lambda::_1,
+ lambda::if_(!lambda::_1)
+ [
+ // We have successfully received a frame on the new data socket,
+ // so we can close the old data socket. This will cancel any
+ // outstanding receive operation on the old data socket.
+ lambda::var(data_socket) = boost::shared_ptr<udp::socket>()
+ ]
+ ));
+
+ // This loop will continue until we have successfully completed the
+ // renegotiation (i.e. received a frame on the new data socket), or some
+ // unrecoverable error occurs.
+ bool done = false;
+ while (!done)
+ {
+ // Even though we're performing a renegotation, we want to continue
+ // receiving data as smoothly as possible. Therefore we will continue to
+ // try to receive a frame from the server on the old data socket. If we
+ // receive a frame on this socket we will interrupt the io_service,
+ // print the frame, and resume waiting for the other operations to
+ // complete.
+ frame f2;
+ done = true; // Let's be optimistic.
+ if (data_socket) // Might have been closed by new_data_socket's handler.
+ {
+ data_socket->async_receive(f2.to_buffers(), 0,
+ (
+ lambda::if_(!lambda::_1)
+ [
+ // We have successfully received a frame on the old data
+ // socket. Stop the io_service so that we can print it.
+ lambda::bind(&boost::asio::io_service::stop, &io_service),
+ lambda::var(done) = false
+ ]
+ ));
+ }
+
+ // Run the operations in parallel. This will block until all operations
+ // have finished, or until the io_service is interrupted. (No threads!)
+ io_service.reset();
+ io_service.run();
+
+ // If the io_service.run() was interrupted then we have received a frame
+ // on the old data socket. We need to keep waiting for the renegotation
+ // operations to complete.
+ if (!done)
+ {
+ if (f2.number() > last_frame_number)
+ {
+ last_frame_number = f2.number();
+ std::cout << "\n" << f2.payload();
+ }
+ }
+ }
+
+ // Since the loop has finished, we have either successfully completed
+ // the renegotation, or an error has occurred. First we'll check for
+ // errors.
+ if (control_result)
+ throw boost::system::system_error(control_result);
+ if (new_data_socket_result)
+ throw boost::system::system_error(new_data_socket_result);
+
+ // If we get here it means we have successfully started receiving data on
+ // the new data socket. This new data socket will be used from now on
+ // (until the next time we renegotiate).
+ std::cout << " Renegotiation complete";
+ data_socket = new_data_socket;
+ data_endpoint = new_data_endpoint;
+ if (f1.number() > last_frame_number)
+ {
+ last_frame_number = f1.number();
+ std::cout << "\n" << f1.payload();
+ }
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/porthopper/protocol.hpp b/doc/html/boost_asio/example/cpp03/porthopper/protocol.hpp
new file mode 100644
index 0000000000..272aa876eb
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/porthopper/protocol.hpp
@@ -0,0 +1,156 @@
+//
+// protocol.hpp
+// ~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef PORTHOPPER_PROTOCOL_HPP
+#define PORTHOPPER_PROTOCOL_HPP
+
+#include <boost/array.hpp>
+#include <boost/asio.hpp>
+#include <cstring>
+#include <iomanip>
+#include <string>
+#include <strstream>
+
+// This request is sent by the client to the server over a TCP connection.
+// The client uses it to perform three functions:
+// - To request that data start being sent to a given port.
+// - To request that data is no longer sent to a given port.
+// - To change the target port to another.
+class control_request
+{
+public:
+ // Construct an empty request. Used when receiving.
+ control_request()
+ {
+ }
+
+ // Create a request to start sending data to a given port.
+ static const control_request start(unsigned short port)
+ {
+ return control_request(0, port);
+ }
+
+ // Create a request to stop sending data to a given port.
+ static const control_request stop(unsigned short port)
+ {
+ return control_request(port, 0);
+ }
+
+ // Create a request to change the port that data is sent to.
+ static const control_request change(
+ unsigned short old_port, unsigned short new_port)
+ {
+ return control_request(old_port, new_port);
+ }
+
+ // Get the old port. Returns 0 for start requests.
+ unsigned short old_port() const
+ {
+ std::istrstream is(data_, encoded_port_size);
+ unsigned short port = 0;
+ is >> std::setw(encoded_port_size) >> std::hex >> port;
+ return port;
+ }
+
+ // Get the new port. Returns 0 for stop requests.
+ unsigned short new_port() const
+ {
+ std::istrstream is(data_ + encoded_port_size, encoded_port_size);
+ unsigned short port = 0;
+ is >> std::setw(encoded_port_size) >> std::hex >> port;
+ return port;
+ }
+
+ // Obtain buffers for reading from or writing to a socket.
+ boost::array<boost::asio::mutable_buffer, 1> to_buffers()
+ {
+ boost::array<boost::asio::mutable_buffer, 1> buffers
+ = { { boost::asio::buffer(data_) } };
+ return buffers;
+ }
+
+private:
+ // Construct with specified old and new ports.
+ control_request(unsigned short old_port_number,
+ unsigned short new_port_number)
+ {
+ std::ostrstream os(data_, control_request_size);
+ os << std::setw(encoded_port_size) << std::hex << old_port_number;
+ os << std::setw(encoded_port_size) << std::hex << new_port_number;
+ }
+
+ // The length in bytes of a control_request and its components.
+ enum
+ {
+ encoded_port_size = 4, // 16-bit port in hex.
+ control_request_size = encoded_port_size * 2
+ };
+
+ // The encoded request data.
+ char data_[control_request_size];
+};
+
+// This frame is sent from the server to subscribed clients over UDP.
+class frame
+{
+public:
+ // The maximum allowable length of the payload.
+ enum { payload_size = 32 };
+
+ // Construct an empty frame. Used when receiving.
+ frame()
+ {
+ }
+
+ // Construct a frame with specified frame number and payload.
+ frame(unsigned long frame_number, const std::string& payload_data)
+ {
+ std::ostrstream os(data_, frame_size);
+ os << std::setw(encoded_number_size) << std::hex << frame_number;
+ os << std::setw(payload_size)
+ << std::setfill(' ') << payload_data.substr(0, payload_size);
+ }
+
+ // Get the frame number.
+ unsigned long number() const
+ {
+ std::istrstream is(data_, encoded_number_size);
+ unsigned long frame_number = 0;
+ is >> std::setw(encoded_number_size) >> std::hex >> frame_number;
+ return frame_number;
+ }
+
+ // Get the payload data.
+ const std::string payload() const
+ {
+ return std::string(data_ + encoded_number_size, payload_size);
+ }
+
+ // Obtain buffers for reading from or writing to a socket.
+ boost::array<boost::asio::mutable_buffer, 1> to_buffers()
+ {
+ boost::array<boost::asio::mutable_buffer, 1> buffers
+ = { { boost::asio::buffer(data_) } };
+ return buffers;
+ }
+
+private:
+ // The length in bytes of a frame and its components.
+ enum
+ {
+ encoded_number_size = 8, // Frame number in hex.
+ frame_size = encoded_number_size + payload_size
+ };
+
+ // The encoded frame data.
+ char data_[frame_size];
+};
+
+#endif // PORTHOPPER_PROTOCOL_HPP
diff --git a/doc/html/boost_asio/example/cpp03/porthopper/server.cpp b/doc/html/boost_asio/example/cpp03/porthopper/server.cpp
new file mode 100644
index 0000000000..0fdc7e011b
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/porthopper/server.cpp
@@ -0,0 +1,187 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <cmath>
+#include <cstdlib>
+#include <exception>
+#include <iostream>
+#include <set>
+#include "protocol.hpp"
+
+using boost::asio::ip::tcp;
+using boost::asio::ip::udp;
+
+typedef boost::shared_ptr<tcp::socket> tcp_socket_ptr;
+typedef boost::shared_ptr<boost::asio::deadline_timer> timer_ptr;
+typedef boost::shared_ptr<control_request> control_request_ptr;
+
+class server
+{
+public:
+ // Construct the server to wait for incoming control connections.
+ server(boost::asio::io_service& io_service, unsigned short port)
+ : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
+ timer_(io_service),
+ udp_socket_(io_service, udp::endpoint(udp::v4(), 0)),
+ next_frame_number_(1)
+ {
+ // Start waiting for a new control connection.
+ tcp_socket_ptr new_socket(new tcp::socket(acceptor_.get_io_service()));
+ acceptor_.async_accept(*new_socket,
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error, new_socket));
+
+ // Start the timer used to generate outgoing frames.
+ timer_.expires_from_now(boost::posix_time::milliseconds(100));
+ timer_.async_wait(boost::bind(&server::handle_timer, this));
+ }
+
+ // Handle a new control connection.
+ void handle_accept(const boost::system::error_code& ec, tcp_socket_ptr socket)
+ {
+ if (!ec)
+ {
+ // Start receiving control requests on the connection.
+ control_request_ptr request(new control_request);
+ boost::asio::async_read(*socket, request->to_buffers(),
+ boost::bind(&server::handle_control_request, this,
+ boost::asio::placeholders::error, socket, request));
+ }
+
+ // Start waiting for a new control connection.
+ tcp_socket_ptr new_socket(new tcp::socket(acceptor_.get_io_service()));
+ acceptor_.async_accept(*new_socket,
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error, new_socket));
+ }
+
+ // Handle a new control request.
+ void handle_control_request(const boost::system::error_code& ec,
+ tcp_socket_ptr socket, control_request_ptr request)
+ {
+ if (!ec)
+ {
+ // Delay handling of the control request to simulate network latency.
+ timer_ptr delay_timer(
+ new boost::asio::deadline_timer(acceptor_.get_io_service()));
+ delay_timer->expires_from_now(boost::posix_time::seconds(2));
+ delay_timer->async_wait(
+ boost::bind(&server::handle_control_request_timer, this,
+ socket, request, delay_timer));
+ }
+ }
+
+ void handle_control_request_timer(tcp_socket_ptr socket,
+ control_request_ptr request, timer_ptr /*delay_timer*/)
+ {
+ // Determine what address this client is connected from, since
+ // subscriptions must be stored on the server as a complete endpoint, not
+ // just a port. We use the non-throwing overload of remote_endpoint() since
+ // it may fail if the socket is no longer connected.
+ boost::system::error_code ec;
+ tcp::endpoint remote_endpoint = socket->remote_endpoint(ec);
+ if (!ec)
+ {
+ // Remove old port subscription, if any.
+ if (unsigned short old_port = request->old_port())
+ {
+ udp::endpoint old_endpoint(remote_endpoint.address(), old_port);
+ subscribers_.erase(old_endpoint);
+ std::cout << "Removing subscription " << old_endpoint << std::endl;
+ }
+
+ // Add new port subscription, if any.
+ if (unsigned short new_port = request->new_port())
+ {
+ udp::endpoint new_endpoint(remote_endpoint.address(), new_port);
+ subscribers_.insert(new_endpoint);
+ std::cout << "Adding subscription " << new_endpoint << std::endl;
+ }
+ }
+
+ // Wait for next control request on this connection.
+ boost::asio::async_read(*socket, request->to_buffers(),
+ boost::bind(&server::handle_control_request, this,
+ boost::asio::placeholders::error, socket, request));
+ }
+
+ // Every time the timer fires we will generate a new frame and send it to all
+ // subscribers.
+ void handle_timer()
+ {
+ // Generate payload.
+ double x = next_frame_number_ * 0.2;
+ double y = std::sin(x);
+ int char_index = static_cast<int>((y + 1.0) * (frame::payload_size / 2));
+ std::string payload;
+ for (int i = 0; i < frame::payload_size; ++i)
+ payload += (i == char_index ? '*' : '.');
+
+ // Create the frame to be sent to all subscribers.
+ frame f(next_frame_number_++, payload);
+
+ // Send frame to all subscribers. We can use synchronous calls here since
+ // UDP send operations typically do not block.
+ std::set<udp::endpoint>::iterator j;
+ for (j = subscribers_.begin(); j != subscribers_.end(); ++j)
+ {
+ boost::system::error_code ec;
+ udp_socket_.send_to(f.to_buffers(), *j, 0, ec);
+ }
+
+ // Wait for next timeout.
+ timer_.expires_from_now(boost::posix_time::milliseconds(100));
+ timer_.async_wait(boost::bind(&server::handle_timer, this));
+ }
+
+private:
+ // The acceptor used to accept incoming control connections.
+ tcp::acceptor acceptor_;
+
+ // The timer used for generating data.
+ boost::asio::deadline_timer timer_;
+
+ // The socket used to send data to subscribers.
+ udp::socket udp_socket_;
+
+ // The next frame number.
+ unsigned long next_frame_number_;
+
+ // The set of endpoints that are subscribed.
+ std::set<udp::endpoint> subscribers_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/serialization/client.cpp b/doc/html/boost_asio/example/cpp03/serialization/client.cpp
new file mode 100644
index 0000000000..2d1f609b45
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/serialization/client.cpp
@@ -0,0 +1,125 @@
+//
+// client.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <iostream>
+#include <vector>
+#include "connection.hpp" // Must come before boost/serialization headers.
+#include <boost/serialization/vector.hpp>
+#include "stock.hpp"
+
+namespace s11n_example {
+
+/// Downloads stock quote information from a server.
+class client
+{
+public:
+ /// Constructor starts the asynchronous connect operation.
+ client(boost::asio::io_service& io_service,
+ const std::string& host, const std::string& service)
+ : connection_(io_service)
+ {
+ // Resolve the host name into an IP address.
+ boost::asio::ip::tcp::resolver resolver(io_service);
+ boost::asio::ip::tcp::resolver::query query(host, service);
+ boost::asio::ip::tcp::resolver::iterator endpoint_iterator =
+ resolver.resolve(query);
+
+ // Start an asynchronous connect operation.
+ boost::asio::async_connect(connection_.socket(), endpoint_iterator,
+ boost::bind(&client::handle_connect, this,
+ boost::asio::placeholders::error));
+ }
+
+ /// Handle completion of a connect operation.
+ void handle_connect(const boost::system::error_code& e)
+ {
+ if (!e)
+ {
+ // Successfully established connection. Start operation to read the list
+ // of stocks. The connection::async_read() function will automatically
+ // decode the data that is read from the underlying socket.
+ connection_.async_read(stocks_,
+ boost::bind(&client::handle_read, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ // An error occurred. Log it and return. Since we are not starting a new
+ // operation the io_service will run out of work to do and the client will
+ // exit.
+ std::cerr << e.message() << std::endl;
+ }
+ }
+
+ /// Handle completion of a read operation.
+ void handle_read(const boost::system::error_code& e)
+ {
+ if (!e)
+ {
+ // Print out the data that was received.
+ for (std::size_t i = 0; i < stocks_.size(); ++i)
+ {
+ std::cout << "Stock number " << i << "\n";
+ std::cout << " code: " << stocks_[i].code << "\n";
+ std::cout << " name: " << stocks_[i].name << "\n";
+ std::cout << " open_price: " << stocks_[i].open_price << "\n";
+ std::cout << " high_price: " << stocks_[i].high_price << "\n";
+ std::cout << " low_price: " << stocks_[i].low_price << "\n";
+ std::cout << " last_price: " << stocks_[i].last_price << "\n";
+ std::cout << " buy_price: " << stocks_[i].buy_price << "\n";
+ std::cout << " buy_quantity: " << stocks_[i].buy_quantity << "\n";
+ std::cout << " sell_price: " << stocks_[i].sell_price << "\n";
+ std::cout << " sell_quantity: " << stocks_[i].sell_quantity << "\n";
+ }
+ }
+ else
+ {
+ // An error occurred.
+ std::cerr << e.message() << std::endl;
+ }
+
+ // Since we are not starting a new operation the io_service will run out of
+ // work to do and the client will exit.
+ }
+
+private:
+ /// The connection to the server.
+ connection connection_;
+
+ /// The data received from the server.
+ std::vector<stock> stocks_;
+};
+
+} // namespace s11n_example
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 3)
+ {
+ std::cerr << "Usage: client <host> <port>" << std::endl;
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ s11n_example::client client(io_service, argv[1], argv[2]);
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/serialization/connection.hpp b/doc/html/boost_asio/example/cpp03/serialization/connection.hpp
new file mode 100644
index 0000000000..41a24ab224
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/serialization/connection.hpp
@@ -0,0 +1,188 @@
+//
+// connection.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SERIALIZATION_CONNECTION_HPP
+#define SERIALIZATION_CONNECTION_HPP
+
+#include <boost/asio.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/tuple/tuple.hpp>
+#include <iomanip>
+#include <string>
+#include <sstream>
+#include <vector>
+
+namespace s11n_example {
+
+/// The connection class provides serialization primitives on top of a socket.
+/**
+ * Each message sent using this class consists of:
+ * @li An 8-byte header containing the length of the serialized data in
+ * hexadecimal.
+ * @li The serialized data.
+ */
+class connection
+{
+public:
+ /// Constructor.
+ connection(boost::asio::io_service& io_service)
+ : socket_(io_service)
+ {
+ }
+
+ /// Get the underlying socket. Used for making a connection or for accepting
+ /// an incoming connection.
+ boost::asio::ip::tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ /// Asynchronously write a data structure to the socket.
+ template <typename T, typename Handler>
+ void async_write(const T& t, Handler handler)
+ {
+ // Serialize the data first so we know how large it is.
+ std::ostringstream archive_stream;
+ boost::archive::text_oarchive archive(archive_stream);
+ archive << t;
+ outbound_data_ = archive_stream.str();
+
+ // Format the header.
+ std::ostringstream header_stream;
+ header_stream << std::setw(header_length)
+ << std::hex << outbound_data_.size();
+ if (!header_stream || header_stream.str().size() != header_length)
+ {
+ // Something went wrong, inform the caller.
+ boost::system::error_code error(boost::asio::error::invalid_argument);
+ socket_.get_io_service().post(boost::bind(handler, error));
+ return;
+ }
+ outbound_header_ = header_stream.str();
+
+ // Write the serialized data to the socket. We use "gather-write" to send
+ // both the header and the data in a single write operation.
+ std::vector<boost::asio::const_buffer> buffers;
+ buffers.push_back(boost::asio::buffer(outbound_header_));
+ buffers.push_back(boost::asio::buffer(outbound_data_));
+ boost::asio::async_write(socket_, buffers, handler);
+ }
+
+ /// Asynchronously read a data structure from the socket.
+ template <typename T, typename Handler>
+ void async_read(T& t, Handler handler)
+ {
+ // Issue a read operation to read exactly the number of bytes in a header.
+ void (connection::*f)(
+ const boost::system::error_code&,
+ T&, boost::tuple<Handler>)
+ = &connection::handle_read_header<T, Handler>;
+ boost::asio::async_read(socket_, boost::asio::buffer(inbound_header_),
+ boost::bind(f,
+ this, boost::asio::placeholders::error, boost::ref(t),
+ boost::make_tuple(handler)));
+ }
+
+ /// Handle a completed read of a message header. The handler is passed using
+ /// a tuple since boost::bind seems to have trouble binding a function object
+ /// created using boost::bind as a parameter.
+ template <typename T, typename Handler>
+ void handle_read_header(const boost::system::error_code& e,
+ T& t, boost::tuple<Handler> handler)
+ {
+ if (e)
+ {
+ boost::get<0>(handler)(e);
+ }
+ else
+ {
+ // Determine the length of the serialized data.
+ std::istringstream is(std::string(inbound_header_, header_length));
+ std::size_t inbound_data_size = 0;
+ if (!(is >> std::hex >> inbound_data_size))
+ {
+ // Header doesn't seem to be valid. Inform the caller.
+ boost::system::error_code error(boost::asio::error::invalid_argument);
+ boost::get<0>(handler)(error);
+ return;
+ }
+
+ // Start an asynchronous call to receive the data.
+ inbound_data_.resize(inbound_data_size);
+ void (connection::*f)(
+ const boost::system::error_code&,
+ T&, boost::tuple<Handler>)
+ = &connection::handle_read_data<T, Handler>;
+ boost::asio::async_read(socket_, boost::asio::buffer(inbound_data_),
+ boost::bind(f, this,
+ boost::asio::placeholders::error, boost::ref(t), handler));
+ }
+ }
+
+ /// Handle a completed read of message data.
+ template <typename T, typename Handler>
+ void handle_read_data(const boost::system::error_code& e,
+ T& t, boost::tuple<Handler> handler)
+ {
+ if (e)
+ {
+ boost::get<0>(handler)(e);
+ }
+ else
+ {
+ // Extract the data structure from the data just received.
+ try
+ {
+ std::string archive_data(&inbound_data_[0], inbound_data_.size());
+ std::istringstream archive_stream(archive_data);
+ boost::archive::text_iarchive archive(archive_stream);
+ archive >> t;
+ }
+ catch (std::exception& e)
+ {
+ // Unable to decode data.
+ boost::system::error_code error(boost::asio::error::invalid_argument);
+ boost::get<0>(handler)(error);
+ return;
+ }
+
+ // Inform caller that data has been received ok.
+ boost::get<0>(handler)(e);
+ }
+ }
+
+private:
+ /// The underlying socket.
+ boost::asio::ip::tcp::socket socket_;
+
+ /// The size of a fixed length header.
+ enum { header_length = 8 };
+
+ /// Holds an outbound header.
+ std::string outbound_header_;
+
+ /// Holds the outbound data.
+ std::string outbound_data_;
+
+ /// Holds an inbound header.
+ char inbound_header_[header_length];
+
+ /// Holds the inbound data.
+ std::vector<char> inbound_data_;
+};
+
+typedef boost::shared_ptr<connection> connection_ptr;
+
+} // namespace s11n_example
+
+#endif // SERIALIZATION_CONNECTION_HPP
diff --git a/doc/html/boost_asio/example/cpp03/serialization/server.cpp b/doc/html/boost_asio/example/cpp03/serialization/server.cpp
new file mode 100644
index 0000000000..8fd045da80
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/serialization/server.cpp
@@ -0,0 +1,123 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <boost/lexical_cast.hpp>
+#include <iostream>
+#include <vector>
+#include "connection.hpp" // Must come before boost/serialization headers.
+#include <boost/serialization/vector.hpp>
+#include "stock.hpp"
+
+namespace s11n_example {
+
+/// Serves stock quote information to any client that connects to it.
+class server
+{
+public:
+ /// Constructor opens the acceptor and starts waiting for the first incoming
+ /// connection.
+ server(boost::asio::io_service& io_service, unsigned short port)
+ : acceptor_(io_service,
+ boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port))
+ {
+ // Create the data to be sent to each client.
+ stock s;
+ s.code = "ABC";
+ s.name = "A Big Company";
+ s.open_price = 4.56;
+ s.high_price = 5.12;
+ s.low_price = 4.33;
+ s.last_price = 4.98;
+ s.buy_price = 4.96;
+ s.buy_quantity = 1000;
+ s.sell_price = 4.99;
+ s.sell_quantity = 2000;
+ stocks_.push_back(s);
+ s.code = "DEF";
+ s.name = "Developer Entertainment Firm";
+ s.open_price = 20.24;
+ s.high_price = 22.88;
+ s.low_price = 19.50;
+ s.last_price = 19.76;
+ s.buy_price = 19.72;
+ s.buy_quantity = 34000;
+ s.sell_price = 19.85;
+ s.sell_quantity = 45000;
+ stocks_.push_back(s);
+
+ // Start an accept operation for a new connection.
+ connection_ptr new_conn(new connection(acceptor_.get_io_service()));
+ acceptor_.async_accept(new_conn->socket(),
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error, new_conn));
+ }
+
+ /// Handle completion of a accept operation.
+ void handle_accept(const boost::system::error_code& e, connection_ptr conn)
+ {
+ if (!e)
+ {
+ // Successfully accepted a new connection. Send the list of stocks to the
+ // client. The connection::async_write() function will automatically
+ // serialize the data structure for us.
+ conn->async_write(stocks_,
+ boost::bind(&server::handle_write, this,
+ boost::asio::placeholders::error, conn));
+ }
+
+ // Start an accept operation for a new connection.
+ connection_ptr new_conn(new connection(acceptor_.get_io_service()));
+ acceptor_.async_accept(new_conn->socket(),
+ boost::bind(&server::handle_accept, this,
+ boost::asio::placeholders::error, new_conn));
+ }
+
+ /// Handle completion of a write operation.
+ void handle_write(const boost::system::error_code& e, connection_ptr conn)
+ {
+ // Nothing to do. The socket will be closed automatically when the last
+ // reference to the connection object goes away.
+ }
+
+private:
+ /// The acceptor object used to accept incoming socket connections.
+ boost::asio::ip::tcp::acceptor acceptor_;
+
+ /// The data to be sent to each client.
+ std::vector<stock> stocks_;
+};
+
+} // namespace s11n_example
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 2)
+ {
+ std::cerr << "Usage: server <port>" << std::endl;
+ return 1;
+ }
+ unsigned short port = boost::lexical_cast<unsigned short>(argv[1]);
+
+ boost::asio::io_service io_service;
+ s11n_example::server server(io_service, port);
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/serialization/stock.hpp b/doc/html/boost_asio/example/cpp03/serialization/stock.hpp
new file mode 100644
index 0000000000..67a5d3f49b
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/serialization/stock.hpp
@@ -0,0 +1,50 @@
+//
+// stock.hpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SERIALIZATION_STOCK_HPP
+#define SERIALIZATION_STOCK_HPP
+
+#include <string>
+
+namespace s11n_example {
+
+/// Structure to hold information about a single stock.
+struct stock
+{
+ std::string code;
+ std::string name;
+ double open_price;
+ double high_price;
+ double low_price;
+ double last_price;
+ double buy_price;
+ int buy_quantity;
+ double sell_price;
+ int sell_quantity;
+
+ template <typename Archive>
+ void serialize(Archive& ar, const unsigned int version)
+ {
+ ar & code;
+ ar & name;
+ ar & open_price;
+ ar & high_price;
+ ar & low_price;
+ ar & last_price;
+ ar & buy_price;
+ ar & buy_quantity;
+ ar & sell_price;
+ ar & sell_quantity;
+ }
+};
+
+} // namespace s11n_example
+
+#endif // SERIALIZATION_STOCK_HPP
diff --git a/doc/html/boost_asio/example/cpp03/services/basic_logger.hpp b/doc/html/boost_asio/example/cpp03/services/basic_logger.hpp
new file mode 100644
index 0000000000..380fd21500
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/services/basic_logger.hpp
@@ -0,0 +1,83 @@
+//
+// basic_logger.hpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SERVICES_BASIC_LOGGER_HPP
+#define SERVICES_BASIC_LOGGER_HPP
+
+#include <boost/asio.hpp>
+#include <boost/noncopyable.hpp>
+#include <string>
+
+namespace services {
+
+/// Class to provide simple logging functionality. Use the services::logger
+/// typedef.
+template <typename Service>
+class basic_logger
+ : private boost::noncopyable
+{
+public:
+ /// The type of the service that will be used to provide timer operations.
+ typedef Service service_type;
+
+ /// The native implementation type of the timer.
+ typedef typename service_type::impl_type impl_type;
+
+ /// Constructor.
+ /**
+ * This constructor creates a logger.
+ *
+ * @param io_service The io_service object used to locate the logger service.
+ *
+ * @param identifier An identifier for this logger.
+ */
+ explicit basic_logger(boost::asio::io_service& io_service,
+ const std::string& identifier)
+ : service_(boost::asio::use_service<Service>(io_service)),
+ impl_(service_.null())
+ {
+ service_.create(impl_, identifier);
+ }
+
+ /// Destructor.
+ ~basic_logger()
+ {
+ service_.destroy(impl_);
+ }
+
+ /// Get the io_service associated with the object.
+ boost::asio::io_service& get_io_service()
+ {
+ return service_.get_io_service();
+ }
+
+ /// Set the output file for all logger instances.
+ void use_file(const std::string& file)
+ {
+ service_.use_file(impl_, file);
+ }
+
+ /// Log a message.
+ void log(const std::string& message)
+ {
+ service_.log(impl_, message);
+ }
+
+private:
+ /// The backend service implementation.
+ service_type& service_;
+
+ /// The underlying native implementation.
+ impl_type impl_;
+};
+
+} // namespace services
+
+#endif // SERVICES_BASIC_LOGGER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/services/daytime_client.cpp b/doc/html/boost_asio/example/cpp03/services/daytime_client.cpp
new file mode 100644
index 0000000000..c812063acb
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/services/daytime_client.cpp
@@ -0,0 +1,85 @@
+//
+// daytime_client.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <boost/bind.hpp>
+#include <iostream>
+#include "logger.hpp"
+#include "stream_socket_service.hpp"
+
+typedef boost::asio::basic_stream_socket<boost::asio::ip::tcp,
+ services::stream_socket_service<boost::asio::ip::tcp> > debug_stream_socket;
+
+char read_buffer[1024];
+
+void read_handler(const boost::system::error_code& e,
+ std::size_t bytes_transferred, debug_stream_socket* s)
+{
+ if (!e)
+ {
+ std::cout.write(read_buffer, bytes_transferred);
+
+ s->async_read_some(boost::asio::buffer(read_buffer),
+ boost::bind(read_handler, boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred, s));
+ }
+}
+
+void connect_handler(const boost::system::error_code& e, debug_stream_socket* s)
+{
+ if (!e)
+ {
+ s->async_read_some(boost::asio::buffer(read_buffer),
+ boost::bind(read_handler, boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred, s));
+ }
+ else
+ {
+ std::cerr << e.message() << std::endl;
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: daytime_client <host>" << std::endl;
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ // Set the name of the file that all logger instances will use.
+ services::logger logger(io_service, "");
+ logger.use_file("log.txt");
+
+ // Resolve the address corresponding to the given host.
+ boost::asio::ip::tcp::resolver resolver(io_service);
+ boost::asio::ip::tcp::resolver::query query(argv[1], "daytime");
+ boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query);
+
+ // Start an asynchronous connect.
+ debug_stream_socket socket(io_service);
+ boost::asio::async_connect(socket, iterator,
+ boost::bind(connect_handler,
+ boost::asio::placeholders::error, &socket));
+
+ // Run the io_service until all operations have finished.
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/services/logger.hpp b/doc/html/boost_asio/example/cpp03/services/logger.hpp
new file mode 100644
index 0000000000..749620d1ab
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/services/logger.hpp
@@ -0,0 +1,24 @@
+//
+// logger.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SERVICES_LOGGER_HPP
+#define SERVICES_LOGGER_HPP
+
+#include "basic_logger.hpp"
+#include "logger_service.hpp"
+
+namespace services {
+
+/// Typedef for typical logger usage.
+typedef basic_logger<logger_service> logger;
+
+} // namespace services
+
+#endif // SERVICES_LOGGER_HPP
diff --git a/doc/html/boost_asio/example/cpp03/services/logger_service.cpp b/doc/html/boost_asio/example/cpp03/services/logger_service.cpp
new file mode 100644
index 0000000000..23fc764f6b
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/services/logger_service.cpp
@@ -0,0 +1,17 @@
+//
+// logger_service.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "logger_service.hpp"
+
+namespace services {
+
+boost::asio::io_service::id logger_service::id;
+
+} // namespace services
diff --git a/doc/html/boost_asio/example/cpp03/services/logger_service.hpp b/doc/html/boost_asio/example/cpp03/services/logger_service.hpp
new file mode 100644
index 0000000000..d5e76437da
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/services/logger_service.hpp
@@ -0,0 +1,145 @@
+//
+// logger_service.hpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SERVICES_LOGGER_SERVICE_HPP
+#define SERVICES_LOGGER_SERVICE_HPP
+
+#include <boost/asio.hpp>
+#include <boost/thread/thread.hpp>
+#include <boost/bind.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/scoped_ptr.hpp>
+#include <fstream>
+#include <sstream>
+#include <string>
+
+namespace services {
+
+/// Service implementation for the logger.
+class logger_service
+ : public boost::asio::io_service::service
+{
+public:
+ /// The unique service identifier.
+ static boost::asio::io_service::id id;
+
+ /// The backend implementation of a logger.
+ struct logger_impl
+ {
+ explicit logger_impl(const std::string& ident) : identifier(ident) {}
+ std::string identifier;
+ };
+
+ /// The type for an implementation of the logger.
+ typedef logger_impl* impl_type;
+
+ /// Constructor creates a thread to run a private io_service.
+ logger_service(boost::asio::io_service& io_service)
+ : boost::asio::io_service::service(io_service),
+ work_io_service_(),
+ work_(new boost::asio::io_service::work(work_io_service_)),
+ work_thread_(new boost::thread(
+ boost::bind(&boost::asio::io_service::run, &work_io_service_)))
+ {
+ }
+
+ /// Destructor shuts down the private io_service.
+ ~logger_service()
+ {
+ /// Indicate that we have finished with the private io_service. Its
+ /// io_service::run() function will exit once all other work has completed.
+ work_.reset();
+ if (work_thread_)
+ work_thread_->join();
+ }
+
+ /// Destroy all user-defined handler objects owned by the service.
+ void shutdown_service()
+ {
+ }
+
+ /// Return a null logger implementation.
+ impl_type null() const
+ {
+ return 0;
+ }
+
+ /// Create a new logger implementation.
+ void create(impl_type& impl, const std::string& identifier)
+ {
+ impl = new logger_impl(identifier);
+ }
+
+ /// Destroy a logger implementation.
+ void destroy(impl_type& impl)
+ {
+ delete impl;
+ impl = null();
+ }
+
+ /// Set the output file for the logger. The current implementation sets the
+ /// output file for all logger instances, and so the impl parameter is not
+ /// actually needed. It is retained here to illustrate how service functions
+ /// are typically defined.
+ void use_file(impl_type& /*impl*/, const std::string& file)
+ {
+ // Pass the work of opening the file to the background thread.
+ work_io_service_.post(boost::bind(
+ &logger_service::use_file_impl, this, file));
+ }
+
+ /// Log a message.
+ void log(impl_type& impl, const std::string& message)
+ {
+ // Format the text to be logged.
+ std::ostringstream os;
+ os << impl->identifier << ": " << message;
+
+ // Pass the work of opening the file to the background thread.
+ work_io_service_.post(boost::bind(
+ &logger_service::log_impl, this, os.str()));
+ }
+
+private:
+ /// Helper function used to open the output file from within the private
+ /// io_service's thread.
+ void use_file_impl(const std::string& file)
+ {
+ ofstream_.close();
+ ofstream_.clear();
+ ofstream_.open(file.c_str());
+ }
+
+ /// Helper function used to log a message from within the private io_service's
+ /// thread.
+ void log_impl(const std::string& text)
+ {
+ ofstream_ << text << std::endl;
+ }
+
+ /// Private io_service used for performing logging operations.
+ boost::asio::io_service work_io_service_;
+
+ /// Work for the private io_service to perform. If we do not give the
+ /// io_service some work to do then the io_service::run() function will exit
+ /// immediately.
+ boost::scoped_ptr<boost::asio::io_service::work> work_;
+
+ /// Thread used for running the work io_service's run loop.
+ boost::scoped_ptr<boost::thread> work_thread_;
+
+ /// The file to which log messages will be written.
+ std::ofstream ofstream_;
+};
+
+} // namespace services
+
+#endif // SERVICES_LOGGER_SERVICE_HPP
diff --git a/doc/html/boost_asio/example/cpp03/services/stream_socket_service.hpp b/doc/html/boost_asio/example/cpp03/services/stream_socket_service.hpp
new file mode 100644
index 0000000000..4c976604e1
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/services/stream_socket_service.hpp
@@ -0,0 +1,351 @@
+//
+// stream_socket_service.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SERVICES_STREAM_SOCKET_SERVICE_HPP
+#define SERVICES_STREAM_SOCKET_SERVICE_HPP
+
+#include <boost/asio.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/lexical_cast.hpp>
+#include "logger.hpp"
+
+namespace services {
+
+/// Debugging stream socket service that wraps the normal stream socket service.
+template <typename Protocol>
+class stream_socket_service
+ : public boost::asio::io_service::service
+{
+private:
+ /// The type of the wrapped stream socket service.
+ typedef boost::asio::stream_socket_service<Protocol> service_impl_type;
+
+public:
+ /// The unique service identifier.
+ static boost::asio::io_service::id id;
+
+ /// The protocol type.
+ typedef Protocol protocol_type;
+
+ /// The endpoint type.
+ typedef typename Protocol::endpoint endpoint_type;
+
+ /// The implementation type of a stream socket.
+ typedef typename service_impl_type::implementation_type implementation_type;
+
+ /// The native type of a stream socket.
+ typedef typename service_impl_type::native_handle_type native_handle_type;
+
+ /// Construct a new stream socket service for the specified io_service.
+ explicit stream_socket_service(boost::asio::io_service& io_service)
+ : boost::asio::io_service::service(io_service),
+ service_impl_(boost::asio::use_service<service_impl_type>(io_service)),
+ logger_(io_service, "stream_socket")
+ {
+ }
+
+ /// Destroy all user-defined handler objects owned by the service.
+ void shutdown_service()
+ {
+ }
+
+ /// Construct a new stream socket implementation.
+ void construct(implementation_type& impl)
+ {
+ service_impl_.construct(impl);
+ }
+
+ /// Destroy a stream socket implementation.
+ void destroy(implementation_type& impl)
+ {
+ service_impl_.destroy(impl);
+ }
+
+ /// Open a new stream socket implementation.
+ boost::system::error_code open(implementation_type& impl,
+ const protocol_type& protocol, boost::system::error_code& ec)
+ {
+ logger_.log("Opening new socket");
+ return service_impl_.open(impl, protocol, ec);
+ }
+
+ /// Open a stream socket from an existing native socket.
+ boost::system::error_code assign(implementation_type& impl,
+ const protocol_type& protocol, const native_handle_type& native_socket,
+ boost::system::error_code& ec)
+ {
+ logger_.log("Assigning from a native socket");
+ return service_impl_.assign(impl, protocol, native_socket, ec);
+ }
+
+ /// Determine whether the socket is open.
+ bool is_open(const implementation_type& impl) const
+ {
+ logger_.log("Checking if socket is open");
+ return service_impl_.is_open(impl);
+ }
+
+ /// Close a stream socket implementation.
+ boost::system::error_code close(implementation_type& impl,
+ boost::system::error_code& ec)
+ {
+ logger_.log("Closing socket");
+ return service_impl_.close(impl, ec);
+ }
+
+ /// Determine whether the socket is at the out-of-band data mark.
+ bool at_mark(const implementation_type& impl,
+ boost::system::error_code& ec) const
+ {
+ logger_.log("Checking if socket is at out-of-band data mark");
+ return service_impl_.at_mark(impl, ec);
+ }
+
+ /// Determine the number of bytes available for reading.
+ std::size_t available(const implementation_type& impl,
+ boost::system::error_code& ec) const
+ {
+ logger_.log("Determining number of bytes available for reading");
+ return service_impl_.available(impl, ec);
+ }
+
+ /// Bind the stream socket to the specified local endpoint.
+ boost::system::error_code bind(implementation_type& impl,
+ const endpoint_type& endpoint, boost::system::error_code& ec)
+ {
+ logger_.log("Binding socket");
+ return service_impl_.bind(impl, endpoint, ec);
+ }
+
+ /// Connect the stream socket to the specified endpoint.
+ boost::system::error_code connect(implementation_type& impl,
+ const endpoint_type& peer_endpoint, boost::system::error_code& ec)
+ {
+ logger_.log("Connecting socket to " +
+ boost::lexical_cast<std::string>(peer_endpoint));
+ return service_impl_.connect(impl, peer_endpoint, ec);
+ }
+
+ /// Handler to wrap asynchronous connect completion.
+ template <typename Handler>
+ class connect_handler
+ {
+ public:
+ connect_handler(Handler h, logger& l)
+ : handler_(h),
+ logger_(l)
+ {
+ }
+
+ void operator()(const boost::system::error_code& e)
+ {
+ if (e)
+ {
+ std::string msg = "Asynchronous connect failed: ";
+ msg += e.message();
+ logger_.log(msg);
+ }
+ else
+ {
+ logger_.log("Asynchronous connect succeeded");
+ }
+
+ handler_(e);
+ }
+
+ private:
+ Handler handler_;
+ logger& logger_;
+ };
+
+ /// Start an asynchronous connect.
+ template <typename Handler>
+ void async_connect(implementation_type& impl,
+ const endpoint_type& peer_endpoint, Handler handler)
+ {
+ logger_.log("Starting asynchronous connect to " +
+ boost::lexical_cast<std::string>(peer_endpoint));
+ service_impl_.async_connect(impl, peer_endpoint,
+ connect_handler<Handler>(handler, logger_));
+ }
+
+ /// Set a socket option.
+ template <typename Option>
+ boost::system::error_code set_option(implementation_type& impl,
+ const Option& option, boost::system::error_code& ec)
+ {
+ logger_.log("Setting socket option");
+ return service_impl_.set_option(impl, option, ec);
+ }
+
+ /// Get a socket option.
+ template <typename Option>
+ boost::system::error_code get_option(const implementation_type& impl,
+ Option& option, boost::system::error_code& ec) const
+ {
+ logger_.log("Getting socket option");
+ return service_impl_.get_option(impl, option, ec);
+ }
+
+ /// Perform an IO control command on the socket.
+ template <typename IO_Control_Command>
+ boost::system::error_code io_control(implementation_type& impl,
+ IO_Control_Command& command, boost::system::error_code& ec)
+ {
+ logger_.log("Performing IO control command on socket");
+ return service_impl_.io_control(impl, command, ec);
+ }
+
+ /// Get the local endpoint.
+ endpoint_type local_endpoint(const implementation_type& impl,
+ boost::system::error_code& ec) const
+ {
+ logger_.log("Getting socket's local endpoint");
+ return service_impl_.local_endpoint(impl, ec);
+ }
+
+ /// Get the remote endpoint.
+ endpoint_type remote_endpoint(const implementation_type& impl,
+ boost::system::error_code& ec) const
+ {
+ logger_.log("Getting socket's remote endpoint");
+ return service_impl_.remote_endpoint(impl, ec);
+ }
+
+ /// Disable sends or receives on the socket.
+ boost::system::error_code shutdown(implementation_type& impl,
+ boost::asio::socket_base::shutdown_type what,
+ boost::system::error_code& ec)
+ {
+ logger_.log("Shutting down socket");
+ return service_impl_.shutdown(impl, what, ec);
+ }
+
+ /// Send the given data to the peer.
+ template <typename Const_Buffers>
+ std::size_t send(implementation_type& impl, const Const_Buffers& buffers,
+ boost::asio::socket_base::message_flags flags,
+ boost::system::error_code& ec)
+ {
+ logger_.log("Sending data on socket");
+ return service_impl_.send(impl, buffers, flags, ec);
+ }
+
+ /// Handler to wrap asynchronous send completion.
+ template <typename Handler>
+ class send_handler
+ {
+ public:
+ send_handler(Handler h, logger& l)
+ : handler_(h),
+ logger_(l)
+ {
+ }
+
+ void operator()(const boost::system::error_code& e,
+ std::size_t bytes_transferred)
+ {
+ if (e)
+ {
+ std::string msg = "Asynchronous send failed: ";
+ msg += e.message();
+ logger_.log(msg);
+ }
+ else
+ {
+ logger_.log("Asynchronous send succeeded");
+ }
+
+ handler_(e, bytes_transferred);
+ }
+
+ private:
+ Handler handler_;
+ logger& logger_;
+ };
+
+ /// Start an asynchronous send.
+ template <typename Const_Buffers, typename Handler>
+ void async_send(implementation_type& impl, const Const_Buffers& buffers,
+ boost::asio::socket_base::message_flags flags, Handler handler)
+ {
+ logger_.log("Starting asynchronous send");
+ service_impl_.async_send(impl, buffers, flags,
+ send_handler<Handler>(handler, logger_));
+ }
+
+ /// Receive some data from the peer.
+ template <typename Mutable_Buffers>
+ std::size_t receive(implementation_type& impl,
+ const Mutable_Buffers& buffers,
+ boost::asio::socket_base::message_flags flags,
+ boost::system::error_code& ec)
+ {
+ logger_.log("Receiving data on socket");
+ return service_impl_.receive(impl, buffers, flags, ec);
+ }
+
+ /// Handler to wrap asynchronous receive completion.
+ template <typename Handler>
+ class receive_handler
+ {
+ public:
+ receive_handler(Handler h, logger& l)
+ : handler_(h),
+ logger_(l)
+ {
+ }
+
+ void operator()(const boost::system::error_code& e,
+ std::size_t bytes_transferred)
+ {
+ if (e)
+ {
+ std::string msg = "Asynchronous receive failed: ";
+ msg += e.message();
+ logger_.log(msg);
+ }
+ else
+ {
+ logger_.log("Asynchronous receive succeeded");
+ }
+
+ handler_(e, bytes_transferred);
+ }
+
+ private:
+ Handler handler_;
+ logger& logger_;
+ };
+
+ /// Start an asynchronous receive.
+ template <typename Mutable_Buffers, typename Handler>
+ void async_receive(implementation_type& impl, const Mutable_Buffers& buffers,
+ boost::asio::socket_base::message_flags flags, Handler handler)
+ {
+ logger_.log("Starting asynchronous receive");
+ service_impl_.async_receive(impl, buffers, flags,
+ receive_handler<Handler>(handler, logger_));
+ }
+
+private:
+ /// The wrapped stream socket service.
+ service_impl_type& service_impl_;
+
+ /// The logger used for writing debug messages.
+ mutable logger logger_;
+};
+
+template <typename Protocol>
+boost::asio::io_service::id stream_socket_service<Protocol>::id;
+
+} // namespace services
+
+#endif // SERVICES_STREAM_SOCKET_SERVICE_HPP
diff --git a/doc/html/boost_asio/example/cpp03/socks4/socks4.hpp b/doc/html/boost_asio/example/cpp03/socks4/socks4.hpp
new file mode 100644
index 0000000000..07dc1a1ce2
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/socks4/socks4.hpp
@@ -0,0 +1,144 @@
+//
+// socks4.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef SOCKS4_HPP
+#define SOCKS4_HPP
+
+#include <string>
+#include <boost/asio.hpp>
+#include <boost/array.hpp>
+
+namespace socks4 {
+
+const unsigned char version = 0x04;
+
+class request
+{
+public:
+ enum command_type
+ {
+ connect = 0x01,
+ bind = 0x02
+ };
+
+ request(command_type cmd, const boost::asio::ip::tcp::endpoint& endpoint,
+ const std::string& user_id)
+ : version_(version),
+ command_(cmd),
+ user_id_(user_id),
+ null_byte_(0)
+ {
+ // Only IPv4 is supported by the SOCKS 4 protocol.
+ if (endpoint.protocol() != boost::asio::ip::tcp::v4())
+ {
+ throw boost::system::system_error(
+ boost::asio::error::address_family_not_supported);
+ }
+
+ // Convert port number to network byte order.
+ unsigned short port = endpoint.port();
+ port_high_byte_ = (port >> 8) & 0xff;
+ port_low_byte_ = port & 0xff;
+
+ // Save IP address in network byte order.
+ address_ = endpoint.address().to_v4().to_bytes();
+ }
+
+ boost::array<boost::asio::const_buffer, 7> buffers() const
+ {
+ boost::array<boost::asio::const_buffer, 7> bufs =
+ {
+ {
+ boost::asio::buffer(&version_, 1),
+ boost::asio::buffer(&command_, 1),
+ boost::asio::buffer(&port_high_byte_, 1),
+ boost::asio::buffer(&port_low_byte_, 1),
+ boost::asio::buffer(address_),
+ boost::asio::buffer(user_id_),
+ boost::asio::buffer(&null_byte_, 1)
+ }
+ };
+ return bufs;
+ }
+
+private:
+ unsigned char version_;
+ unsigned char command_;
+ unsigned char port_high_byte_;
+ unsigned char port_low_byte_;
+ boost::asio::ip::address_v4::bytes_type address_;
+ std::string user_id_;
+ unsigned char null_byte_;
+};
+
+class reply
+{
+public:
+ enum status_type
+ {
+ request_granted = 0x5a,
+ request_failed = 0x5b,
+ request_failed_no_identd = 0x5c,
+ request_failed_bad_user_id = 0x5d
+ };
+
+ reply()
+ : null_byte_(0),
+ status_()
+ {
+ }
+
+ boost::array<boost::asio::mutable_buffer, 5> buffers()
+ {
+ boost::array<boost::asio::mutable_buffer, 5> bufs =
+ {
+ {
+ boost::asio::buffer(&null_byte_, 1),
+ boost::asio::buffer(&status_, 1),
+ boost::asio::buffer(&port_high_byte_, 1),
+ boost::asio::buffer(&port_low_byte_, 1),
+ boost::asio::buffer(address_)
+ }
+ };
+ return bufs;
+ }
+
+ bool success() const
+ {
+ return null_byte_ == 0 && status_ == request_granted;
+ }
+
+ unsigned char status() const
+ {
+ return status_;
+ }
+
+ boost::asio::ip::tcp::endpoint endpoint() const
+ {
+ unsigned short port = port_high_byte_;
+ port = (port << 8) & 0xff00;
+ port = port | port_low_byte_;
+
+ boost::asio::ip::address_v4 address(address_);
+
+ return boost::asio::ip::tcp::endpoint(address, port);
+ }
+
+private:
+ unsigned char null_byte_;
+ unsigned char status_;
+ unsigned char port_high_byte_;
+ unsigned char port_low_byte_;
+ boost::asio::ip::address_v4::bytes_type address_;
+};
+
+} // namespace socks4
+
+#endif // SOCKS4_HPP
diff --git a/doc/html/boost_asio/example/cpp03/socks4/sync_client.cpp b/doc/html/boost_asio/example/cpp03/socks4/sync_client.cpp
new file mode 100644
index 0000000000..d331969f6c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/socks4/sync_client.cpp
@@ -0,0 +1,95 @@
+//
+// sync_client.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <iomanip>
+#include <ostream>
+#include <string>
+#include <boost/asio.hpp>
+#include <boost/array.hpp>
+#include "socks4.hpp"
+
+using boost::asio::ip::tcp;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 4)
+ {
+ std::cout << "Usage: sync_client <socks4server> <socks4port> <user>\n";
+ std::cout << "Examples:\n";
+ std::cout << " sync_client 127.0.0.1 1080 chris\n";
+ std::cout << " sync_client localhost socks chris\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ // Get a list of endpoints corresponding to the SOCKS 4 server name.
+ tcp::resolver resolver(io_service);
+ tcp::resolver::query socks_query(argv[1], argv[2]);
+ tcp::resolver::iterator endpoint_iterator = resolver.resolve(socks_query);
+
+ // Try each endpoint until we successfully establish a connection to the
+ // SOCKS 4 server.
+ tcp::socket socket(io_service);
+ boost::asio::connect(socket, endpoint_iterator);
+
+ // Get an endpoint for the Boost website. This will be passed to the SOCKS
+ // 4 server. Explicitly specify IPv4 since SOCKS 4 does not support IPv6.
+ tcp::resolver::query http_query(tcp::v4(), "www.boost.org", "http");
+ tcp::endpoint http_endpoint = *resolver.resolve(http_query);
+
+ // Send the request to the SOCKS 4 server.
+ socks4::request socks_request(
+ socks4::request::connect, http_endpoint, argv[3]);
+ boost::asio::write(socket, socks_request.buffers());
+
+ // Receive a response from the SOCKS 4 server.
+ socks4::reply socks_reply;
+ boost::asio::read(socket, socks_reply.buffers());
+
+ // Check whether we successfully negotiated with the SOCKS 4 server.
+ if (!socks_reply.success())
+ {
+ std::cout << "Connection failed.\n";
+ std::cout << "status = 0x" << std::hex << socks_reply.status();
+ return 1;
+ }
+
+ // Form the HTTP request. We specify the "Connection: close" header so that
+ // the server will close the socket after transmitting the response. This
+ // will allow us to treat all data up until the EOF as the response.
+ std::string request =
+ "GET / HTTP/1.0\r\n"
+ "Host: www.boost.org\r\n"
+ "Accept: */*\r\n"
+ "Connection: close\r\n\r\n";
+
+ // Send the HTTP request.
+ boost::asio::write(socket, boost::asio::buffer(request));
+
+ // Read until EOF, writing data to output as we go.
+ boost::array<char, 512> response;
+ boost::system::error_code error;
+ while (std::size_t s = socket.read_some(
+ boost::asio::buffer(response), error))
+ std::cout.write(response.data(), s);
+ if (error != boost::asio::error::eof)
+ throw boost::system::system_error(error);
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/spawn/echo_server.cpp b/doc/html/boost_asio/example/cpp03/spawn/echo_server.cpp
new file mode 100644
index 0000000000..aa718c441b
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/spawn/echo_server.cpp
@@ -0,0 +1,122 @@
+//
+// echo_server.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/deadline_timer.hpp>
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/spawn.hpp>
+#include <boost/asio/write.hpp>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <iostream>
+
+using boost::asio::ip::tcp;
+
+class session : public boost::enable_shared_from_this<session>
+{
+public:
+ explicit session(boost::asio::io_service& io_service)
+ : strand_(io_service),
+ socket_(io_service),
+ timer_(io_service)
+ {
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void go()
+ {
+ boost::asio::spawn(strand_,
+ boost::bind(&session::echo,
+ shared_from_this(), _1));
+ boost::asio::spawn(strand_,
+ boost::bind(&session::timeout,
+ shared_from_this(), _1));
+ }
+
+private:
+ void echo(boost::asio::yield_context yield)
+ {
+ try
+ {
+ char data[128];
+ for (;;)
+ {
+ timer_.expires_from_now(boost::posix_time::seconds(10));
+ std::size_t n = socket_.async_read_some(boost::asio::buffer(data), yield);
+ boost::asio::async_write(socket_, boost::asio::buffer(data, n), yield);
+ }
+ }
+ catch (std::exception& e)
+ {
+ socket_.close();
+ timer_.cancel();
+ }
+ }
+
+ void timeout(boost::asio::yield_context yield)
+ {
+ while (socket_.is_open())
+ {
+ boost::system::error_code ignored_ec;
+ timer_.async_wait(yield[ignored_ec]);
+ if (timer_.expires_from_now() <= boost::posix_time::seconds(0))
+ socket_.close();
+ }
+ }
+
+ boost::asio::io_service::strand strand_;
+ tcp::socket socket_;
+ boost::asio::deadline_timer timer_;
+};
+
+void do_accept(boost::asio::io_service& io_service,
+ unsigned short port, boost::asio::yield_context yield)
+{
+ tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port));
+
+ for (;;)
+ {
+ boost::system::error_code ec;
+ boost::shared_ptr<session> new_session(new session(io_service));
+ acceptor.async_accept(new_session->socket(), yield[ec]);
+ if (!ec) new_session->go();
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ boost::asio::spawn(io_service,
+ boost::bind(do_accept,
+ boost::ref(io_service), atoi(argv[1]), _1));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/ssl/client.cpp b/doc/html/boost_asio/example/cpp03/ssl/client.cpp
new file mode 100644
index 0000000000..8a86865550
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/ssl/client.cpp
@@ -0,0 +1,156 @@
+//
+// client.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/bind.hpp>
+#include <boost/asio.hpp>
+#include <boost/asio/ssl.hpp>
+
+enum { max_length = 1024 };
+
+class client
+{
+public:
+ client(boost::asio::io_service& io_service,
+ boost::asio::ssl::context& context,
+ boost::asio::ip::tcp::resolver::iterator endpoint_iterator)
+ : socket_(io_service, context)
+ {
+ socket_.set_verify_mode(boost::asio::ssl::verify_peer);
+ socket_.set_verify_callback(
+ boost::bind(&client::verify_certificate, this, _1, _2));
+
+ boost::asio::async_connect(socket_.lowest_layer(), endpoint_iterator,
+ boost::bind(&client::handle_connect, this,
+ boost::asio::placeholders::error));
+ }
+
+ bool verify_certificate(bool preverified,
+ boost::asio::ssl::verify_context& ctx)
+ {
+ // The verify callback can be used to check whether the certificate that is
+ // being presented is valid for the peer. For example, RFC 2818 describes
+ // the steps involved in doing this for HTTPS. Consult the OpenSSL
+ // documentation for more details. Note that the callback is called once
+ // for each certificate in the certificate chain, starting from the root
+ // certificate authority.
+
+ // In this example we will simply print the certificate's subject name.
+ char subject_name[256];
+ X509* cert = X509_STORE_CTX_get_current_cert(ctx.native_handle());
+ X509_NAME_oneline(X509_get_subject_name(cert), subject_name, 256);
+ std::cout << "Verifying " << subject_name << "\n";
+
+ return preverified;
+ }
+
+ void handle_connect(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ socket_.async_handshake(boost::asio::ssl::stream_base::client,
+ boost::bind(&client::handle_handshake, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ std::cout << "Connect failed: " << error.message() << "\n";
+ }
+ }
+
+ void handle_handshake(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ std::cout << "Enter message: ";
+ std::cin.getline(request_, max_length);
+ size_t request_length = strlen(request_);
+
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(request_, request_length),
+ boost::bind(&client::handle_write, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ std::cout << "Handshake failed: " << error.message() << "\n";
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error,
+ size_t bytes_transferred)
+ {
+ if (!error)
+ {
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(reply_, bytes_transferred),
+ boost::bind(&client::handle_read, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ std::cout << "Write failed: " << error.message() << "\n";
+ }
+ }
+
+ void handle_read(const boost::system::error_code& error,
+ size_t bytes_transferred)
+ {
+ if (!error)
+ {
+ std::cout << "Reply: ";
+ std::cout.write(reply_, bytes_transferred);
+ std::cout << "\n";
+ }
+ else
+ {
+ std::cout << "Read failed: " << error.message() << "\n";
+ }
+ }
+
+private:
+ boost::asio::ssl::stream<boost::asio::ip::tcp::socket> socket_;
+ char request_[max_length];
+ char reply_[max_length];
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ boost::asio::ip::tcp::resolver resolver(io_service);
+ boost::asio::ip::tcp::resolver::query query(argv[1], argv[2]);
+ boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query);
+
+ boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23);
+ ctx.load_verify_file("ca.pem");
+
+ client c(io_service, ctx, iterator);
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/ssl/server.cpp b/doc/html/boost_asio/example/cpp03/ssl/server.cpp
new file mode 100644
index 0000000000..772b178435
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/ssl/server.cpp
@@ -0,0 +1,170 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/bind.hpp>
+#include <boost/asio.hpp>
+#include <boost/asio/ssl.hpp>
+
+typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> ssl_socket;
+
+class session
+{
+public:
+ session(boost::asio::io_service& io_service,
+ boost::asio::ssl::context& context)
+ : socket_(io_service, context)
+ {
+ }
+
+ ssl_socket::lowest_layer_type& socket()
+ {
+ return socket_.lowest_layer();
+ }
+
+ void start()
+ {
+ socket_.async_handshake(boost::asio::ssl::stream_base::server,
+ boost::bind(&session::handle_handshake, this,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_handshake(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ socket_.async_read_some(boost::asio::buffer(data_, max_length),
+ boost::bind(&session::handle_read, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ delete this;
+ }
+ }
+
+ void handle_read(const boost::system::error_code& error,
+ size_t bytes_transferred)
+ {
+ if (!error)
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(data_, bytes_transferred),
+ boost::bind(&session::handle_write, this,
+ boost::asio::placeholders::error));
+ }
+ else
+ {
+ delete this;
+ }
+ }
+
+ void handle_write(const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ socket_.async_read_some(boost::asio::buffer(data_, max_length),
+ boost::bind(&session::handle_read, this,
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ else
+ {
+ delete this;
+ }
+ }
+
+private:
+ ssl_socket socket_;
+ enum { max_length = 1024 };
+ char data_[max_length];
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, unsigned short port)
+ : io_service_(io_service),
+ acceptor_(io_service,
+ boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port)),
+ context_(boost::asio::ssl::context::sslv23)
+ {
+ context_.set_options(
+ boost::asio::ssl::context::default_workarounds
+ | boost::asio::ssl::context::no_sslv2
+ | boost::asio::ssl::context::single_dh_use);
+ context_.set_password_callback(boost::bind(&server::get_password, this));
+ context_.use_certificate_chain_file("server.pem");
+ context_.use_private_key_file("server.pem", boost::asio::ssl::context::pem);
+ context_.use_tmp_dh_file("dh2048.pem");
+
+ start_accept();
+ }
+
+ std::string get_password() const
+ {
+ return "test";
+ }
+
+ void start_accept()
+ {
+ session* new_session = new session(io_service_, context_);
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(session* new_session,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_session->start();
+ }
+ else
+ {
+ delete new_session;
+ }
+
+ start_accept();
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ boost::asio::ip::tcp::acceptor acceptor_;
+ boost::asio::ssl::context context_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/timeouts/async_tcp_client.cpp b/doc/html/boost_asio/example/cpp03/timeouts/async_tcp_client.cpp
new file mode 100644
index 0000000000..9d52300ab3
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/timeouts/async_tcp_client.cpp
@@ -0,0 +1,306 @@
+//
+// async_tcp_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/deadline_timer.hpp>
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/read_until.hpp>
+#include <boost/asio/streambuf.hpp>
+#include <boost/asio/write.hpp>
+#include <boost/bind.hpp>
+#include <iostream>
+
+using boost::asio::deadline_timer;
+using boost::asio::ip::tcp;
+
+//
+// This class manages socket timeouts by applying the concept of a deadline.
+// Some asynchronous operations are given deadlines by which they must complete.
+// Deadlines are enforced by an "actor" that persists for the lifetime of the
+// client object:
+//
+// +----------------+
+// | |
+// | check_deadline |<---+
+// | | |
+// +----------------+ | async_wait()
+// | |
+// +---------+
+//
+// If the deadline actor determines that the deadline has expired, the socket
+// is closed and any outstanding operations are consequently cancelled.
+//
+// Connection establishment involves trying each endpoint in turn until a
+// connection is successful, or the available endpoints are exhausted. If the
+// deadline actor closes the socket, the connect actor is woken up and moves to
+// the next endpoint.
+//
+// +---------------+
+// | |
+// | start_connect |<---+
+// | | |
+// +---------------+ |
+// | |
+// async_- | +----------------+
+// connect() | | |
+// +--->| handle_connect |
+// | |
+// +----------------+
+// :
+// Once a connection is :
+// made, the connect :
+// actor forks in two - :
+// :
+// an actor for reading : and an actor for
+// inbound messages: : sending heartbeats:
+// :
+// +------------+ : +-------------+
+// | |<- - - - -+- - - - ->| |
+// | start_read | | start_write |<---+
+// | |<---+ | | |
+// +------------+ | +-------------+ | async_wait()
+// | | | |
+// async_- | +-------------+ async_- | +--------------+
+// read_- | | | write() | | |
+// until() +--->| handle_read | +--->| handle_write |
+// | | | |
+// +-------------+ +--------------+
+//
+// The input actor reads messages from the socket, where messages are delimited
+// by the newline character. The deadline for a complete message is 30 seconds.
+//
+// The heartbeat actor sends a heartbeat (a message that consists of a single
+// newline character) every 10 seconds. In this example, no deadline is applied
+// message sending.
+//
+class client
+{
+public:
+ client(boost::asio::io_service& io_service)
+ : stopped_(false),
+ socket_(io_service),
+ deadline_(io_service),
+ heartbeat_timer_(io_service)
+ {
+ }
+
+ // Called by the user of the client class to initiate the connection process.
+ // The endpoint iterator will have been obtained using a tcp::resolver.
+ void start(tcp::resolver::iterator endpoint_iter)
+ {
+ // Start the connect actor.
+ start_connect(endpoint_iter);
+
+ // Start the deadline actor. You will note that we're not setting any
+ // particular deadline here. Instead, the connect and input actors will
+ // update the deadline prior to each asynchronous operation.
+ deadline_.async_wait(boost::bind(&client::check_deadline, this));
+ }
+
+ // This function terminates all the actors to shut down the connection. It
+ // may be called by the user of the client class, or by the class itself in
+ // response to graceful termination or an unrecoverable error.
+ void stop()
+ {
+ stopped_ = true;
+ boost::system::error_code ignored_ec;
+ socket_.close(ignored_ec);
+ deadline_.cancel();
+ heartbeat_timer_.cancel();
+ }
+
+private:
+ void start_connect(tcp::resolver::iterator endpoint_iter)
+ {
+ if (endpoint_iter != tcp::resolver::iterator())
+ {
+ std::cout << "Trying " << endpoint_iter->endpoint() << "...\n";
+
+ // Set a deadline for the connect operation.
+ deadline_.expires_from_now(boost::posix_time::seconds(60));
+
+ // Start the asynchronous connect operation.
+ socket_.async_connect(endpoint_iter->endpoint(),
+ boost::bind(&client::handle_connect,
+ this, _1, endpoint_iter));
+ }
+ else
+ {
+ // There are no more endpoints to try. Shut down the client.
+ stop();
+ }
+ }
+
+ void handle_connect(const boost::system::error_code& ec,
+ tcp::resolver::iterator endpoint_iter)
+ {
+ if (stopped_)
+ return;
+
+ // The async_connect() function automatically opens the socket at the start
+ // of the asynchronous operation. If the socket is closed at this time then
+ // the timeout handler must have run first.
+ if (!socket_.is_open())
+ {
+ std::cout << "Connect timed out\n";
+
+ // Try the next available endpoint.
+ start_connect(++endpoint_iter);
+ }
+
+ // Check if the connect operation failed before the deadline expired.
+ else if (ec)
+ {
+ std::cout << "Connect error: " << ec.message() << "\n";
+
+ // We need to close the socket used in the previous connection attempt
+ // before starting a new one.
+ socket_.close();
+
+ // Try the next available endpoint.
+ start_connect(++endpoint_iter);
+ }
+
+ // Otherwise we have successfully established a connection.
+ else
+ {
+ std::cout << "Connected to " << endpoint_iter->endpoint() << "\n";
+
+ // Start the input actor.
+ start_read();
+
+ // Start the heartbeat actor.
+ start_write();
+ }
+ }
+
+ void start_read()
+ {
+ // Set a deadline for the read operation.
+ deadline_.expires_from_now(boost::posix_time::seconds(30));
+
+ // Start an asynchronous operation to read a newline-delimited message.
+ boost::asio::async_read_until(socket_, input_buffer_, '\n',
+ boost::bind(&client::handle_read, this, _1));
+ }
+
+ void handle_read(const boost::system::error_code& ec)
+ {
+ if (stopped_)
+ return;
+
+ if (!ec)
+ {
+ // Extract the newline-delimited message from the buffer.
+ std::string line;
+ std::istream is(&input_buffer_);
+ std::getline(is, line);
+
+ // Empty messages are heartbeats and so ignored.
+ if (!line.empty())
+ {
+ std::cout << "Received: " << line << "\n";
+ }
+
+ start_read();
+ }
+ else
+ {
+ std::cout << "Error on receive: " << ec.message() << "\n";
+
+ stop();
+ }
+ }
+
+ void start_write()
+ {
+ if (stopped_)
+ return;
+
+ // Start an asynchronous operation to send a heartbeat message.
+ boost::asio::async_write(socket_, boost::asio::buffer("\n", 1),
+ boost::bind(&client::handle_write, this, _1));
+ }
+
+ void handle_write(const boost::system::error_code& ec)
+ {
+ if (stopped_)
+ return;
+
+ if (!ec)
+ {
+ // Wait 10 seconds before sending the next heartbeat.
+ heartbeat_timer_.expires_from_now(boost::posix_time::seconds(10));
+ heartbeat_timer_.async_wait(boost::bind(&client::start_write, this));
+ }
+ else
+ {
+ std::cout << "Error on heartbeat: " << ec.message() << "\n";
+
+ stop();
+ }
+ }
+
+ void check_deadline()
+ {
+ if (stopped_)
+ return;
+
+ // Check whether the deadline has passed. We compare the deadline against
+ // the current time since a new asynchronous operation may have moved the
+ // deadline before this actor had a chance to run.
+ if (deadline_.expires_at() <= deadline_timer::traits_type::now())
+ {
+ // The deadline has passed. The socket is closed so that any outstanding
+ // asynchronous operations are cancelled.
+ socket_.close();
+
+ // There is no longer an active deadline. The expiry is set to positive
+ // infinity so that the actor takes no action until a new deadline is set.
+ deadline_.expires_at(boost::posix_time::pos_infin);
+ }
+
+ // Put the actor back to sleep.
+ deadline_.async_wait(boost::bind(&client::check_deadline, this));
+ }
+
+private:
+ bool stopped_;
+ tcp::socket socket_;
+ boost::asio::streambuf input_buffer_;
+ deadline_timer deadline_;
+ deadline_timer heartbeat_timer_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ tcp::resolver r(io_service);
+ client c(io_service);
+
+ c.start(r.resolve(tcp::resolver::query(argv[1], argv[2])));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp b/doc/html/boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp
new file mode 100644
index 0000000000..765a2a7a71
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp
@@ -0,0 +1,241 @@
+//
+// blocking_tcp_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/connect.hpp>
+#include <boost/asio/deadline_timer.hpp>
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/read_until.hpp>
+#include <boost/asio/streambuf.hpp>
+#include <boost/system/system_error.hpp>
+#include <boost/asio/write.hpp>
+#include <cstdlib>
+#include <iostream>
+#include <string>
+#include <boost/lambda/bind.hpp>
+#include <boost/lambda/lambda.hpp>
+
+using boost::asio::deadline_timer;
+using boost::asio::ip::tcp;
+using boost::lambda::bind;
+using boost::lambda::var;
+using boost::lambda::_1;
+
+//----------------------------------------------------------------------
+
+//
+// This class manages socket timeouts by applying the concept of a deadline.
+// Each asynchronous operation is given a deadline by which it must complete.
+// Deadlines are enforced by an "actor" that persists for the lifetime of the
+// client object:
+//
+// +----------------+
+// | |
+// | check_deadline |<---+
+// | | |
+// +----------------+ | async_wait()
+// | |
+// +---------+
+//
+// If the actor determines that the deadline has expired, the socket is closed
+// and any outstanding operations are consequently cancelled. The socket
+// operations themselves use boost::lambda function objects as completion
+// handlers. For a given socket operation, the client object runs the
+// io_service to block thread execution until the actor completes.
+//
+class client
+{
+public:
+ client()
+ : socket_(io_service_),
+ deadline_(io_service_)
+ {
+ // No deadline is required until the first socket operation is started. We
+ // set the deadline to positive infinity so that the actor takes no action
+ // until a specific deadline is set.
+ deadline_.expires_at(boost::posix_time::pos_infin);
+
+ // Start the persistent actor that checks for deadline expiry.
+ check_deadline();
+ }
+
+ void connect(const std::string& host, const std::string& service,
+ boost::posix_time::time_duration timeout)
+ {
+ // Resolve the host name and service to a list of endpoints.
+ tcp::resolver::query query(host, service);
+ tcp::resolver::iterator iter = tcp::resolver(io_service_).resolve(query);
+
+ // Set a deadline for the asynchronous operation. As a host name may
+ // resolve to multiple endpoints, this function uses the composed operation
+ // async_connect. The deadline applies to the entire operation, rather than
+ // individual connection attempts.
+ deadline_.expires_from_now(timeout);
+
+ // Set up the variable that receives the result of the asynchronous
+ // operation. The error code is set to would_block to signal that the
+ // operation is incomplete. Asio guarantees that its asynchronous
+ // operations will never fail with would_block, so any other value in
+ // ec indicates completion.
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+ // Start the asynchronous operation itself. The boost::lambda function
+ // object is used as a callback and will update the ec variable when the
+ // operation completes. The blocking_udp_client.cpp example shows how you
+ // can use boost::bind rather than boost::lambda.
+ boost::asio::async_connect(socket_, iter, var(ec) = _1);
+
+ // Block until the asynchronous operation has completed.
+ do io_service_.run_one(); while (ec == boost::asio::error::would_block);
+
+ // Determine whether a connection was successfully established. The
+ // deadline actor may have had a chance to run and close our socket, even
+ // though the connect operation notionally succeeded. Therefore we must
+ // check whether the socket is still open before deciding if we succeeded
+ // or failed.
+ if (ec || !socket_.is_open())
+ throw boost::system::system_error(
+ ec ? ec : boost::asio::error::operation_aborted);
+ }
+
+ std::string read_line(boost::posix_time::time_duration timeout)
+ {
+ // Set a deadline for the asynchronous operation. Since this function uses
+ // a composed operation (async_read_until), the deadline applies to the
+ // entire operation, rather than individual reads from the socket.
+ deadline_.expires_from_now(timeout);
+
+ // Set up the variable that receives the result of the asynchronous
+ // operation. The error code is set to would_block to signal that the
+ // operation is incomplete. Asio guarantees that its asynchronous
+ // operations will never fail with would_block, so any other value in
+ // ec indicates completion.
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+ // Start the asynchronous operation itself. The boost::lambda function
+ // object is used as a callback and will update the ec variable when the
+ // operation completes. The blocking_udp_client.cpp example shows how you
+ // can use boost::bind rather than boost::lambda.
+ boost::asio::async_read_until(socket_, input_buffer_, '\n', var(ec) = _1);
+
+ // Block until the asynchronous operation has completed.
+ do io_service_.run_one(); while (ec == boost::asio::error::would_block);
+
+ if (ec)
+ throw boost::system::system_error(ec);
+
+ std::string line;
+ std::istream is(&input_buffer_);
+ std::getline(is, line);
+ return line;
+ }
+
+ void write_line(const std::string& line,
+ boost::posix_time::time_duration timeout)
+ {
+ std::string data = line + "\n";
+
+ // Set a deadline for the asynchronous operation. Since this function uses
+ // a composed operation (async_write), the deadline applies to the entire
+ // operation, rather than individual writes to the socket.
+ deadline_.expires_from_now(timeout);
+
+ // Set up the variable that receives the result of the asynchronous
+ // operation. The error code is set to would_block to signal that the
+ // operation is incomplete. Asio guarantees that its asynchronous
+ // operations will never fail with would_block, so any other value in
+ // ec indicates completion.
+ boost::system::error_code ec = boost::asio::error::would_block;
+
+ // Start the asynchronous operation itself. The boost::lambda function
+ // object is used as a callback and will update the ec variable when the
+ // operation completes. The blocking_udp_client.cpp example shows how you
+ // can use boost::bind rather than boost::lambda.
+ boost::asio::async_write(socket_, boost::asio::buffer(data), var(ec) = _1);
+
+ // Block until the asynchronous operation has completed.
+ do io_service_.run_one(); while (ec == boost::asio::error::would_block);
+
+ if (ec)
+ throw boost::system::system_error(ec);
+ }
+
+private:
+ void check_deadline()
+ {
+ // Check whether the deadline has passed. We compare the deadline against
+ // the current time since a new asynchronous operation may have moved the
+ // deadline before this actor had a chance to run.
+ if (deadline_.expires_at() <= deadline_timer::traits_type::now())
+ {
+ // The deadline has passed. The socket is closed so that any outstanding
+ // asynchronous operations are cancelled. This allows the blocked
+ // connect(), read_line() or write_line() functions to return.
+ boost::system::error_code ignored_ec;
+ socket_.close(ignored_ec);
+
+ // There is no longer an active deadline. The expiry is set to positive
+ // infinity so that the actor takes no action until a new deadline is set.
+ deadline_.expires_at(boost::posix_time::pos_infin);
+ }
+
+ // Put the actor back to sleep.
+ deadline_.async_wait(bind(&client::check_deadline, this));
+ }
+
+ boost::asio::io_service io_service_;
+ tcp::socket socket_;
+ deadline_timer deadline_;
+ boost::asio::streambuf input_buffer_;
+};
+
+//----------------------------------------------------------------------
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 4)
+ {
+ std::cerr << "Usage: blocking_tcp <host> <port> <message>\n";
+ return 1;
+ }
+
+ client c;
+ c.connect(argv[1], argv[2], boost::posix_time::seconds(10));
+
+ boost::posix_time::ptime time_sent =
+ boost::posix_time::microsec_clock::universal_time();
+
+ c.write_line(argv[3], boost::posix_time::seconds(10));
+
+ for (;;)
+ {
+ std::string line = c.read_line(boost::posix_time::seconds(10));
+
+ // Keep going until we get back the line that was sent.
+ if (line == argv[3])
+ break;
+ }
+
+ boost::posix_time::ptime time_received =
+ boost::posix_time::microsec_clock::universal_time();
+
+ std::cout << "Round trip time: ";
+ std::cout << (time_received - time_sent).total_microseconds();
+ std::cout << " microseconds\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp b/doc/html/boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp
new file mode 100644
index 0000000000..fd81522cc9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp
@@ -0,0 +1,182 @@
+//
+// blocking_udp_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/deadline_timer.hpp>
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/udp.hpp>
+#include <cstdlib>
+#include <boost/bind.hpp>
+#include <boost/date_time/posix_time/posix_time_types.hpp>
+#include <iostream>
+
+using boost::asio::deadline_timer;
+using boost::asio::ip::udp;
+
+//----------------------------------------------------------------------
+
+//
+// This class manages socket timeouts by applying the concept of a deadline.
+// Each asynchronous operation is given a deadline by which it must complete.
+// Deadlines are enforced by an "actor" that persists for the lifetime of the
+// client object:
+//
+// +----------------+
+// | |
+// | check_deadline |<---+
+// | | |
+// +----------------+ | async_wait()
+// | |
+// +---------+
+//
+// If the actor determines that the deadline has expired, any outstanding
+// socket operations are cancelled. The socket operations themselves are
+// implemented as transient actors:
+//
+// +---------------+
+// | |
+// | receive |
+// | |
+// +---------------+
+// |
+// async_- | +----------------+
+// receive() | | |
+// +--->| handle_receive |
+// | |
+// +----------------+
+//
+// The client object runs the io_service to block thread execution until the
+// actor completes.
+//
+class client
+{
+public:
+ client(const udp::endpoint& listen_endpoint)
+ : socket_(io_service_, listen_endpoint),
+ deadline_(io_service_)
+ {
+ // No deadline is required until the first socket operation is started. We
+ // set the deadline to positive infinity so that the actor takes no action
+ // until a specific deadline is set.
+ deadline_.expires_at(boost::posix_time::pos_infin);
+
+ // Start the persistent actor that checks for deadline expiry.
+ check_deadline();
+ }
+
+ std::size_t receive(const boost::asio::mutable_buffer& buffer,
+ boost::posix_time::time_duration timeout, boost::system::error_code& ec)
+ {
+ // Set a deadline for the asynchronous operation.
+ deadline_.expires_from_now(timeout);
+
+ // Set up the variables that receive the result of the asynchronous
+ // operation. The error code is set to would_block to signal that the
+ // operation is incomplete. Asio guarantees that its asynchronous
+ // operations will never fail with would_block, so any other value in
+ // ec indicates completion.
+ ec = boost::asio::error::would_block;
+ std::size_t length = 0;
+
+ // Start the asynchronous operation itself. The handle_receive function
+ // used as a callback will update the ec and length variables.
+ socket_.async_receive(boost::asio::buffer(buffer),
+ boost::bind(&client::handle_receive, _1, _2, &ec, &length));
+
+ // Block until the asynchronous operation has completed.
+ do io_service_.run_one(); while (ec == boost::asio::error::would_block);
+
+ return length;
+ }
+
+private:
+ void check_deadline()
+ {
+ // Check whether the deadline has passed. We compare the deadline against
+ // the current time since a new asynchronous operation may have moved the
+ // deadline before this actor had a chance to run.
+ if (deadline_.expires_at() <= deadline_timer::traits_type::now())
+ {
+ // The deadline has passed. The outstanding asynchronous operation needs
+ // to be cancelled so that the blocked receive() function will return.
+ //
+ // Please note that cancel() has portability issues on some versions of
+ // Microsoft Windows, and it may be necessary to use close() instead.
+ // Consult the documentation for cancel() for further information.
+ socket_.cancel();
+
+ // There is no longer an active deadline. The expiry is set to positive
+ // infinity so that the actor takes no action until a new deadline is set.
+ deadline_.expires_at(boost::posix_time::pos_infin);
+ }
+
+ // Put the actor back to sleep.
+ deadline_.async_wait(boost::bind(&client::check_deadline, this));
+ }
+
+ static void handle_receive(
+ const boost::system::error_code& ec, std::size_t length,
+ boost::system::error_code* out_ec, std::size_t* out_length)
+ {
+ *out_ec = ec;
+ *out_length = length;
+ }
+
+private:
+ boost::asio::io_service io_service_;
+ udp::socket socket_;
+ deadline_timer deadline_;
+};
+
+//----------------------------------------------------------------------
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ using namespace std; // For atoi.
+
+ if (argc != 3)
+ {
+ std::cerr << "Usage: blocking_udp_timeout <listen_addr> <listen_port>\n";
+ return 1;
+ }
+
+ udp::endpoint listen_endpoint(
+ boost::asio::ip::address::from_string(argv[1]),
+ std::atoi(argv[2]));
+
+ client c(listen_endpoint);
+
+ for (;;)
+ {
+ char data[1024];
+ boost::system::error_code ec;
+ std::size_t n = c.receive(boost::asio::buffer(data),
+ boost::posix_time::seconds(10), ec);
+
+ if (ec)
+ {
+ std::cout << "Receive error: " << ec.message() << "\n";
+ }
+ else
+ {
+ std::cout << "Received: ";
+ std::cout.write(data, n);
+ std::cout << "\n";
+ }
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/timeouts/server.cpp b/doc/html/boost_asio/example/cpp03/timeouts/server.cpp
new file mode 100644
index 0000000000..ce4dce60a8
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/timeouts/server.cpp
@@ -0,0 +1,427 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <algorithm>
+#include <cstdlib>
+#include <deque>
+#include <iostream>
+#include <set>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/asio/deadline_timer.hpp>
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/ip/udp.hpp>
+#include <boost/asio/read_until.hpp>
+#include <boost/asio/streambuf.hpp>
+#include <boost/asio/write.hpp>
+
+using boost::asio::deadline_timer;
+using boost::asio::ip::tcp;
+using boost::asio::ip::udp;
+
+//----------------------------------------------------------------------
+
+class subscriber
+{
+public:
+ virtual ~subscriber() {}
+ virtual void deliver(const std::string& msg) = 0;
+};
+
+typedef boost::shared_ptr<subscriber> subscriber_ptr;
+
+//----------------------------------------------------------------------
+
+class channel
+{
+public:
+ void join(subscriber_ptr subscriber)
+ {
+ subscribers_.insert(subscriber);
+ }
+
+ void leave(subscriber_ptr subscriber)
+ {
+ subscribers_.erase(subscriber);
+ }
+
+ void deliver(const std::string& msg)
+ {
+ std::for_each(subscribers_.begin(), subscribers_.end(),
+ boost::bind(&subscriber::deliver, _1, boost::ref(msg)));
+ }
+
+private:
+ std::set<subscriber_ptr> subscribers_;
+};
+
+//----------------------------------------------------------------------
+
+//
+// This class manages socket timeouts by applying the concept of a deadline.
+// Some asynchronous operations are given deadlines by which they must complete.
+// Deadlines are enforced by two "actors" that persist for the lifetime of the
+// session object, one for input and one for output:
+//
+// +----------------+ +----------------+
+// | | | |
+// | check_deadline |<---+ | check_deadline |<---+
+// | | | async_wait() | | | async_wait()
+// +----------------+ | on input +----------------+ | on output
+// | | deadline | | deadline
+// +---------+ +---------+
+//
+// If either deadline actor determines that the corresponding deadline has
+// expired, the socket is closed and any outstanding operations are cancelled.
+//
+// The input actor reads messages from the socket, where messages are delimited
+// by the newline character:
+//
+// +------------+
+// | |
+// | start_read |<---+
+// | | |
+// +------------+ |
+// | |
+// async_- | +-------------+
+// read_- | | |
+// until() +--->| handle_read |
+// | |
+// +-------------+
+//
+// The deadline for receiving a complete message is 30 seconds. If a non-empty
+// message is received, it is delivered to all subscribers. If a heartbeat (a
+// message that consists of a single newline character) is received, a heartbeat
+// is enqueued for the client, provided there are no other messages waiting to
+// be sent.
+//
+// The output actor is responsible for sending messages to the client:
+//
+// +--------------+
+// | |<---------------------+
+// | await_output | |
+// | |<---+ |
+// +--------------+ | |
+// | | | async_wait() |
+// | +--------+ |
+// V |
+// +-------------+ +--------------+
+// | | async_write() | |
+// | start_write |-------------->| handle_write |
+// | | | |
+// +-------------+ +--------------+
+//
+// The output actor first waits for an output message to be enqueued. It does
+// this by using a deadline_timer as an asynchronous condition variable. The
+// deadline_timer will be signalled whenever the output queue is non-empty.
+//
+// Once a message is available, it is sent to the client. The deadline for
+// sending a complete message is 30 seconds. After the message is successfully
+// sent, the output actor again waits for the output queue to become non-empty.
+//
+class tcp_session
+ : public subscriber,
+ public boost::enable_shared_from_this<tcp_session>
+{
+public:
+ tcp_session(boost::asio::io_service& io_service, channel& ch)
+ : channel_(ch),
+ socket_(io_service),
+ input_deadline_(io_service),
+ non_empty_output_queue_(io_service),
+ output_deadline_(io_service)
+ {
+ input_deadline_.expires_at(boost::posix_time::pos_infin);
+ output_deadline_.expires_at(boost::posix_time::pos_infin);
+
+ // The non_empty_output_queue_ deadline_timer is set to pos_infin whenever
+ // the output queue is empty. This ensures that the output actor stays
+ // asleep until a message is put into the queue.
+ non_empty_output_queue_.expires_at(boost::posix_time::pos_infin);
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ // Called by the server object to initiate the four actors.
+ void start()
+ {
+ channel_.join(shared_from_this());
+
+ start_read();
+
+ input_deadline_.async_wait(
+ boost::bind(&tcp_session::check_deadline,
+ shared_from_this(), &input_deadline_));
+
+ await_output();
+
+ output_deadline_.async_wait(
+ boost::bind(&tcp_session::check_deadline,
+ shared_from_this(), &output_deadline_));
+ }
+
+private:
+ void stop()
+ {
+ channel_.leave(shared_from_this());
+
+ boost::system::error_code ignored_ec;
+ socket_.close(ignored_ec);
+ input_deadline_.cancel();
+ non_empty_output_queue_.cancel();
+ output_deadline_.cancel();
+ }
+
+ bool stopped() const
+ {
+ return !socket_.is_open();
+ }
+
+ void deliver(const std::string& msg)
+ {
+ output_queue_.push_back(msg + "\n");
+
+ // Signal that the output queue contains messages. Modifying the expiry
+ // will wake the output actor, if it is waiting on the timer.
+ non_empty_output_queue_.expires_at(boost::posix_time::neg_infin);
+ }
+
+ void start_read()
+ {
+ // Set a deadline for the read operation.
+ input_deadline_.expires_from_now(boost::posix_time::seconds(30));
+
+ // Start an asynchronous operation to read a newline-delimited message.
+ boost::asio::async_read_until(socket_, input_buffer_, '\n',
+ boost::bind(&tcp_session::handle_read, shared_from_this(), _1));
+ }
+
+ void handle_read(const boost::system::error_code& ec)
+ {
+ if (stopped())
+ return;
+
+ if (!ec)
+ {
+ // Extract the newline-delimited message from the buffer.
+ std::string msg;
+ std::istream is(&input_buffer_);
+ std::getline(is, msg);
+
+ if (!msg.empty())
+ {
+ channel_.deliver(msg);
+ }
+ else
+ {
+ // We received a heartbeat message from the client. If there's nothing
+ // else being sent or ready to be sent, send a heartbeat right back.
+ if (output_queue_.empty())
+ {
+ output_queue_.push_back("\n");
+
+ // Signal that the output queue contains messages. Modifying the
+ // expiry will wake the output actor, if it is waiting on the timer.
+ non_empty_output_queue_.expires_at(boost::posix_time::neg_infin);
+ }
+ }
+
+ start_read();
+ }
+ else
+ {
+ stop();
+ }
+ }
+
+ void await_output()
+ {
+ if (stopped())
+ return;
+
+ if (output_queue_.empty())
+ {
+ // There are no messages that are ready to be sent. The actor goes to
+ // sleep by waiting on the non_empty_output_queue_ timer. When a new
+ // message is added, the timer will be modified and the actor will wake.
+ non_empty_output_queue_.expires_at(boost::posix_time::pos_infin);
+ non_empty_output_queue_.async_wait(
+ boost::bind(&tcp_session::await_output, shared_from_this()));
+ }
+ else
+ {
+ start_write();
+ }
+ }
+
+ void start_write()
+ {
+ // Set a deadline for the write operation.
+ output_deadline_.expires_from_now(boost::posix_time::seconds(30));
+
+ // Start an asynchronous operation to send a message.
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(output_queue_.front()),
+ boost::bind(&tcp_session::handle_write, shared_from_this(), _1));
+ }
+
+ void handle_write(const boost::system::error_code& ec)
+ {
+ if (stopped())
+ return;
+
+ if (!ec)
+ {
+ output_queue_.pop_front();
+
+ await_output();
+ }
+ else
+ {
+ stop();
+ }
+ }
+
+ void check_deadline(deadline_timer* deadline)
+ {
+ if (stopped())
+ return;
+
+ // Check whether the deadline has passed. We compare the deadline against
+ // the current time since a new asynchronous operation may have moved the
+ // deadline before this actor had a chance to run.
+ if (deadline->expires_at() <= deadline_timer::traits_type::now())
+ {
+ // The deadline has passed. Stop the session. The other actors will
+ // terminate as soon as possible.
+ stop();
+ }
+ else
+ {
+ // Put the actor back to sleep.
+ deadline->async_wait(
+ boost::bind(&tcp_session::check_deadline,
+ shared_from_this(), deadline));
+ }
+ }
+
+ channel& channel_;
+ tcp::socket socket_;
+ boost::asio::streambuf input_buffer_;
+ deadline_timer input_deadline_;
+ std::deque<std::string> output_queue_;
+ deadline_timer non_empty_output_queue_;
+ deadline_timer output_deadline_;
+};
+
+typedef boost::shared_ptr<tcp_session> tcp_session_ptr;
+
+//----------------------------------------------------------------------
+
+class udp_broadcaster
+ : public subscriber
+{
+public:
+ udp_broadcaster(boost::asio::io_service& io_service,
+ const udp::endpoint& broadcast_endpoint)
+ : socket_(io_service)
+ {
+ socket_.connect(broadcast_endpoint);
+ }
+
+private:
+ void deliver(const std::string& msg)
+ {
+ boost::system::error_code ignored_ec;
+ socket_.send(boost::asio::buffer(msg), 0, ignored_ec);
+ }
+
+ udp::socket socket_;
+};
+
+//----------------------------------------------------------------------
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service,
+ const tcp::endpoint& listen_endpoint,
+ const udp::endpoint& broadcast_endpoint)
+ : io_service_(io_service),
+ acceptor_(io_service, listen_endpoint)
+ {
+ subscriber_ptr bc(new udp_broadcaster(io_service_, broadcast_endpoint));
+ channel_.join(bc);
+
+ start_accept();
+ }
+
+ void start_accept()
+ {
+ tcp_session_ptr new_session(new tcp_session(io_service_, channel_));
+
+ acceptor_.async_accept(new_session->socket(),
+ boost::bind(&server::handle_accept, this, new_session, _1));
+ }
+
+ void handle_accept(tcp_session_ptr session,
+ const boost::system::error_code& ec)
+ {
+ if (!ec)
+ {
+ session->start();
+ }
+
+ start_accept();
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ tcp::acceptor acceptor_;
+ channel channel_;
+};
+
+//----------------------------------------------------------------------
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ using namespace std; // For atoi.
+
+ if (argc != 4)
+ {
+ std::cerr << "Usage: server <listen_port> <bcast_address> <bcast_port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ tcp::endpoint listen_endpoint(tcp::v4(), atoi(argv[1]));
+
+ udp::endpoint broadcast_endpoint(
+ boost::asio::ip::address::from_string(argv[2]), atoi(argv[3]));
+
+ server s(io_service, listen_endpoint, broadcast_endpoint);
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/timers/tick_count_timer.cpp b/doc/html/boost_asio/example/cpp03/timers/tick_count_timer.cpp
new file mode 100644
index 0000000000..4f0c85d054
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/timers/tick_count_timer.cpp
@@ -0,0 +1,123 @@
+//
+// tick_count_timer.cpp
+// ~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <ctime>
+#include <iostream>
+
+#if defined(WIN32)
+# include <windows.h>
+#else
+# error This example is for Windows only!
+#endif
+
+struct tick_count_traits
+{
+ // The time type. This type has no constructor that takes a DWORD to ensure
+ // that the timer can only be used with relative times.
+ class time_type
+ {
+ public:
+ time_type() : ticks_(0) {}
+ private:
+ friend struct tick_count_traits;
+ DWORD ticks_;
+ };
+
+ // The duration type. According to the TimeTraits requirements, the duration
+ // must be a signed type. This means we can't handle durations larger than
+ // 2^31.
+ class duration_type
+ {
+ public:
+ duration_type() : ticks_(0) {}
+ duration_type(LONG ticks) : ticks_(ticks) {}
+ private:
+ friend struct tick_count_traits;
+ LONG ticks_;
+ };
+
+ // Get the current time.
+ static time_type now()
+ {
+ time_type result;
+ result.ticks_ = ::GetTickCount();
+ return result;
+ }
+
+ // Add a duration to a time.
+ static time_type add(const time_type& t, const duration_type& d)
+ {
+ time_type result;
+ result.ticks_ = t.ticks_ + d.ticks_;
+ return result;
+ }
+
+ // Subtract one time from another.
+ static duration_type subtract(const time_type& t1, const time_type& t2)
+ {
+ // DWORD tick count values can wrap (see less_than() below). We'll convert
+ // to a duration by taking the absolute difference and adding the sign
+ // based on which is the "lesser" absolute time.
+ return duration_type(less_than(t1, t2)
+ ? -static_cast<LONG>(t2.ticks_ - t1.ticks_)
+ : static_cast<LONG>(t1.ticks_ - t2.ticks_));
+ }
+
+ // Test whether one time is less than another.
+ static bool less_than(const time_type& t1, const time_type& t2)
+ {
+ // DWORD tick count values wrap periodically, so we'll use a heuristic that
+ // says that if subtracting t1 from t2 yields a value smaller than 2^31,
+ // then t1 is probably less than t2. This means that we can't handle
+ // durations larger than 2^31, which shouldn't be a problem in practice.
+ return (t2.ticks_ - t1.ticks_) < static_cast<DWORD>(1 << 31);
+ }
+
+ // Convert to POSIX duration type.
+ static boost::posix_time::time_duration to_posix_duration(
+ const duration_type& d)
+ {
+ return boost::posix_time::milliseconds(d.ticks_);
+ }
+};
+
+typedef boost::asio::basic_deadline_timer<
+ DWORD, tick_count_traits> tick_count_timer;
+
+void handle_timeout(const boost::system::error_code&)
+{
+ std::cout << "handle_timeout\n";
+}
+
+int main()
+{
+ try
+ {
+ boost::asio::io_service io_service;
+
+ tick_count_timer timer(io_service, 5000);
+ std::cout << "Starting synchronous wait\n";
+ timer.wait();
+ std::cout << "Finished synchronous wait\n";
+
+ timer.expires_from_now(5000);
+ std::cout << "Starting asynchronous wait\n";
+ timer.async_wait(&handle_timeout);
+ io_service.run();
+ std::cout << "Finished asynchronous wait\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/timers/time_t_timer.cpp b/doc/html/boost_asio/example/cpp03/timers/time_t_timer.cpp
new file mode 100644
index 0000000000..19e84e35a4
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/timers/time_t_timer.cpp
@@ -0,0 +1,93 @@
+//
+// time_t_timer.cpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <ctime>
+#include <iostream>
+
+struct time_t_traits
+{
+ // The time type.
+ typedef std::time_t time_type;
+
+ // The duration type.
+ struct duration_type
+ {
+ duration_type() : value(0) {}
+ duration_type(std::time_t v) : value(v) {}
+ std::time_t value;
+ };
+
+ // Get the current time.
+ static time_type now()
+ {
+ return std::time(0);
+ }
+
+ // Add a duration to a time.
+ static time_type add(const time_type& t, const duration_type& d)
+ {
+ return t + d.value;
+ }
+
+ // Subtract one time from another.
+ static duration_type subtract(const time_type& t1, const time_type& t2)
+ {
+ return duration_type(t1 - t2);
+ }
+
+ // Test whether one time is less than another.
+ static bool less_than(const time_type& t1, const time_type& t2)
+ {
+ return t1 < t2;
+ }
+
+ // Convert to POSIX duration type.
+ static boost::posix_time::time_duration to_posix_duration(
+ const duration_type& d)
+ {
+ return boost::posix_time::seconds(d.value);
+ }
+};
+
+typedef boost::asio::basic_deadline_timer<
+ std::time_t, time_t_traits> time_t_timer;
+
+void handle_timeout(const boost::system::error_code&)
+{
+ std::cout << "handle_timeout\n";
+}
+
+int main()
+{
+ try
+ {
+ boost::asio::io_service io_service;
+
+ time_t_timer timer(io_service);
+
+ timer.expires_from_now(5);
+ std::cout << "Starting synchronous wait\n";
+ timer.wait();
+ std::cout << "Finished synchronous wait\n";
+
+ timer.expires_from_now(5);
+ std::cout << "Starting asynchronous wait\n";
+ timer.async_wait(&handle_timeout);
+ io_service.run();
+ std::cout << "Finished asynchronous wait\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp03/windows/transmit_file.cpp b/doc/html/boost_asio/example/cpp03/windows/transmit_file.cpp
new file mode 100644
index 0000000000..2be12c6992
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp03/windows/transmit_file.cpp
@@ -0,0 +1,171 @@
+//
+// transmit_file.cpp
+// ~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <ctime>
+#include <iostream>
+#include <string>
+#include <boost/bind.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/asio.hpp>
+
+#if defined(BOOST_ASIO_HAS_WINDOWS_OVERLAPPED_PTR)
+
+using boost::asio::ip::tcp;
+using boost::asio::windows::overlapped_ptr;
+using boost::asio::windows::random_access_handle;
+
+// A wrapper for the TransmitFile overlapped I/O operation.
+template <typename Handler>
+void transmit_file(tcp::socket& socket,
+ random_access_handle& file, Handler handler)
+{
+ // Construct an OVERLAPPED-derived object to contain the handler.
+ overlapped_ptr overlapped(socket.get_io_service(), handler);
+
+ // Initiate the TransmitFile operation.
+ BOOL ok = ::TransmitFile(socket.native_handle(),
+ file.native_handle(), 0, 0, overlapped.get(), 0, 0);
+ DWORD last_error = ::GetLastError();
+
+ // Check if the operation completed immediately.
+ if (!ok && last_error != ERROR_IO_PENDING)
+ {
+ // The operation completed immediately, so a completion notification needs
+ // to be posted. When complete() is called, ownership of the OVERLAPPED-
+ // derived object passes to the io_service.
+ boost::system::error_code ec(last_error,
+ boost::asio::error::get_system_category());
+ overlapped.complete(ec, 0);
+ }
+ else
+ {
+ // The operation was successfully initiated, so ownership of the
+ // OVERLAPPED-derived object has passed to the io_service.
+ overlapped.release();
+ }
+}
+
+class connection
+ : public boost::enable_shared_from_this<connection>
+{
+public:
+ typedef boost::shared_ptr<connection> pointer;
+
+ static pointer create(boost::asio::io_service& io_service,
+ const std::string& filename)
+ {
+ return pointer(new connection(io_service, filename));
+ }
+
+ tcp::socket& socket()
+ {
+ return socket_;
+ }
+
+ void start()
+ {
+ boost::system::error_code ec;
+ file_.assign(::CreateFile(filename_.c_str(), GENERIC_READ, 0, 0,
+ OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, 0), ec);
+ if (file_.is_open())
+ {
+ transmit_file(socket_, file_,
+ boost::bind(&connection::handle_write, shared_from_this(),
+ boost::asio::placeholders::error,
+ boost::asio::placeholders::bytes_transferred));
+ }
+ }
+
+private:
+ connection(boost::asio::io_service& io_service, const std::string& filename)
+ : socket_(io_service),
+ filename_(filename),
+ file_(io_service)
+ {
+ }
+
+ void handle_write(const boost::system::error_code& /*error*/,
+ size_t /*bytes_transferred*/)
+ {
+ boost::system::error_code ignored_ec;
+ socket_.shutdown(tcp::socket::shutdown_both, ignored_ec);
+ }
+
+ tcp::socket socket_;
+ std::string filename_;
+ random_access_handle file_;
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service,
+ unsigned short port, const std::string& filename)
+ : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
+ filename_(filename)
+ {
+ start_accept();
+ }
+
+private:
+ void start_accept()
+ {
+ connection::pointer new_connection =
+ connection::create(acceptor_.get_io_service(), filename_);
+
+ acceptor_.async_accept(new_connection->socket(),
+ boost::bind(&server::handle_accept, this, new_connection,
+ boost::asio::placeholders::error));
+ }
+
+ void handle_accept(connection::pointer new_connection,
+ const boost::system::error_code& error)
+ {
+ if (!error)
+ {
+ new_connection->start();
+ }
+
+ start_accept();
+ }
+
+ tcp::acceptor acceptor_;
+ std::string filename_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: transmit_file <port> <filename>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ using namespace std; // For atoi.
+ server s(io_service, atoi(argv[1]), argv[2]);
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+
+ return 0;
+}
+
+#else // defined(BOOST_ASIO_HAS_WINDOWS_OVERLAPPED_PTR)
+# error Overlapped I/O not available on this platform
+#endif // defined(BOOST_ASIO_HAS_WINDOWS_OVERLAPPED_PTR)
diff --git a/doc/html/boost_asio/example/cpp11/allocation/server.cpp b/doc/html/boost_asio/example/cpp11/allocation/server.cpp
new file mode 100644
index 0000000000..c41eb8fdc9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/allocation/server.cpp
@@ -0,0 +1,215 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <array>
+#include <cstdlib>
+#include <iostream>
+#include <memory>
+#include <type_traits>
+#include <utility>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+// Class to manage the memory to be used for handler-based custom allocation.
+// It contains a single block of memory which may be returned for allocation
+// requests. If the memory is in use when an allocation request is made, the
+// allocator delegates allocation to the global heap.
+class handler_allocator
+{
+public:
+ handler_allocator()
+ : in_use_(false)
+ {
+ }
+
+ handler_allocator(const handler_allocator&) = delete;
+ handler_allocator& operator=(const handler_allocator&) = delete;
+
+ void* allocate(std::size_t size)
+ {
+ if (!in_use_ && size < sizeof(storage_))
+ {
+ in_use_ = true;
+ return &storage_;
+ }
+ else
+ {
+ return ::operator new(size);
+ }
+ }
+
+ void deallocate(void* pointer)
+ {
+ if (pointer == &storage_)
+ {
+ in_use_ = false;
+ }
+ else
+ {
+ ::operator delete(pointer);
+ }
+ }
+
+private:
+ // Storage space used for handler-based custom memory allocation.
+ typename std::aligned_storage<1024>::type storage_;
+
+ // Whether the handler-based custom allocation storage has been used.
+ bool in_use_;
+};
+
+// Wrapper class template for handler objects to allow handler memory
+// allocation to be customised. Calls to operator() are forwarded to the
+// encapsulated handler.
+template <typename Handler>
+class custom_alloc_handler
+{
+public:
+ custom_alloc_handler(handler_allocator& a, Handler h)
+ : allocator_(a),
+ handler_(h)
+ {
+ }
+
+ template <typename ...Args>
+ void operator()(Args&&... args)
+ {
+ handler_(std::forward<Args>(args)...);
+ }
+
+ friend void* asio_handler_allocate(std::size_t size,
+ custom_alloc_handler<Handler>* this_handler)
+ {
+ return this_handler->allocator_.allocate(size);
+ }
+
+ friend void asio_handler_deallocate(void* pointer, std::size_t /*size*/,
+ custom_alloc_handler<Handler>* this_handler)
+ {
+ this_handler->allocator_.deallocate(pointer);
+ }
+
+private:
+ handler_allocator& allocator_;
+ Handler handler_;
+};
+
+// Helper function to wrap a handler object to add custom allocation.
+template <typename Handler>
+inline custom_alloc_handler<Handler> make_custom_alloc_handler(
+ handler_allocator& a, Handler h)
+{
+ return custom_alloc_handler<Handler>(a, h);
+}
+
+class session
+ : public std::enable_shared_from_this<session>
+{
+public:
+ session(tcp::socket socket)
+ : socket_(std::move(socket))
+ {
+ }
+
+ void start()
+ {
+ do_read();
+ }
+
+private:
+ void do_read()
+ {
+ auto self(shared_from_this());
+ socket_.async_read_some(boost::asio::buffer(data_),
+ make_custom_alloc_handler(allocator_,
+ [this, self](boost::system::error_code ec, std::size_t length)
+ {
+ if (!ec)
+ {
+ do_write(length);
+ }
+ }));
+ }
+
+ void do_write(std::size_t length)
+ {
+ auto self(shared_from_this());
+ boost::asio::async_write(socket_, boost::asio::buffer(data_, length),
+ make_custom_alloc_handler(allocator_,
+ [this, self](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec)
+ {
+ do_read();
+ }
+ }));
+ }
+
+ // The socket used to communicate with the client.
+ tcp::socket socket_;
+
+ // Buffer used to store data received from the client.
+ std::array<char, 1024> data_;
+
+ // The allocator to use for handler-based custom memory allocation.
+ handler_allocator allocator_;
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
+ socket_(io_service)
+ {
+ do_accept();
+ }
+
+private:
+ void do_accept()
+ {
+ acceptor_.async_accept(socket_,
+ [this](boost::system::error_code ec)
+ {
+ if (!ec)
+ {
+ std::make_shared<session>(std::move(socket_))->start();
+ }
+
+ do_accept();
+ });
+ }
+
+ tcp::acceptor acceptor_;
+ tcp::socket socket_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+ server s(io_service, std::atoi(argv[1]));
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/buffers/reference_counted.cpp b/doc/html/boost_asio/example/cpp11/buffers/reference_counted.cpp
new file mode 100644
index 0000000000..b83b1cfa39
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/buffers/reference_counted.cpp
@@ -0,0 +1,123 @@
+//
+// reference_counted.cpp
+// ~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio.hpp>
+#include <iostream>
+#include <memory>
+#include <utility>
+#include <vector>
+
+using boost::asio::ip::tcp;
+
+// A reference-counted non-modifiable buffer class.
+class shared_const_buffer
+{
+public:
+ // Construct from a std::string.
+ explicit shared_const_buffer(const std::string& data)
+ : data_(new std::vector<char>(data.begin(), data.end())),
+ buffer_(boost::asio::buffer(*data_))
+ {
+ }
+
+ // Implement the ConstBufferSequence requirements.
+ typedef boost::asio::const_buffer value_type;
+ typedef const boost::asio::const_buffer* const_iterator;
+ const boost::asio::const_buffer* begin() const { return &buffer_; }
+ const boost::asio::const_buffer* end() const { return &buffer_ + 1; }
+
+private:
+ std::shared_ptr<std::vector<char> > data_;
+ boost::asio::const_buffer buffer_;
+};
+
+class session
+ : public std::enable_shared_from_this<session>
+{
+public:
+ session(tcp::socket socket)
+ : socket_(std::move(socket))
+ {
+ }
+
+ void start()
+ {
+ do_write();
+ }
+
+private:
+ void do_write()
+ {
+ std::time_t now = std::time(0);
+ shared_const_buffer buffer(std::ctime(&now));
+
+ auto self(shared_from_this());
+ boost::asio::async_write(socket_, buffer,
+ [this, self](boost::system::error_code /*ec*/, std::size_t /*length*/)
+ {
+ });
+ }
+
+ // The socket used to communicate with the client.
+ tcp::socket socket_;
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
+ socket_(io_service)
+ {
+ do_accept();
+ }
+
+private:
+ void do_accept()
+ {
+ acceptor_.async_accept(socket_,
+ [this](boost::system::error_code ec)
+ {
+ if (!ec)
+ {
+ std::make_shared<session>(std::move(socket_))->start();
+ }
+
+ do_accept();
+ });
+ }
+
+ tcp::acceptor acceptor_;
+ tcp::socket socket_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: reference_counted <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ server s(io_service, std::atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp b/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp
new file mode 100644
index 0000000000..a41df5c1ee
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp
@@ -0,0 +1,167 @@
+//
+// chat_client.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <deque>
+#include <iostream>
+#include <thread>
+#include <boost/asio.hpp>
+#include "chat_message.hpp"
+
+using boost::asio::ip::tcp;
+
+typedef std::deque<chat_message> chat_message_queue;
+
+class chat_client
+{
+public:
+ chat_client(boost::asio::io_service& io_service,
+ tcp::resolver::iterator endpoint_iterator)
+ : io_service_(io_service),
+ socket_(io_service)
+ {
+ do_connect(endpoint_iterator);
+ }
+
+ void write(const chat_message& msg)
+ {
+ io_service_.post(
+ [this, msg]()
+ {
+ bool write_in_progress = !write_msgs_.empty();
+ write_msgs_.push_back(msg);
+ if (!write_in_progress)
+ {
+ do_write();
+ }
+ });
+ }
+
+ void close()
+ {
+ io_service_.post([this]() { socket_.close(); });
+ }
+
+private:
+ void do_connect(tcp::resolver::iterator endpoint_iterator)
+ {
+ boost::asio::async_connect(socket_, endpoint_iterator,
+ [this](boost::system::error_code ec, tcp::resolver::iterator)
+ {
+ if (!ec)
+ {
+ do_read_header();
+ }
+ });
+ }
+
+ void do_read_header()
+ {
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ [this](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec && read_msg_.decode_header())
+ {
+ do_read_body();
+ }
+ else
+ {
+ socket_.close();
+ }
+ });
+ }
+
+ void do_read_body()
+ {
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.body(), read_msg_.body_length()),
+ [this](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec)
+ {
+ std::cout.write(read_msg_.body(), read_msg_.body_length());
+ std::cout << "\n";
+ do_read_header();
+ }
+ else
+ {
+ socket_.close();
+ }
+ });
+ }
+
+ void do_write()
+ {
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msgs_.front().data(),
+ write_msgs_.front().length()),
+ [this](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec)
+ {
+ write_msgs_.pop_front();
+ if (!write_msgs_.empty())
+ {
+ do_write();
+ }
+ }
+ else
+ {
+ socket_.close();
+ }
+ });
+ }
+
+private:
+ boost::asio::io_service& io_service_;
+ tcp::socket socket_;
+ chat_message read_msg_;
+ chat_message_queue write_msgs_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: chat_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ tcp::resolver resolver(io_service);
+ auto endpoint_iterator = resolver.resolve({ argv[1], argv[2] });
+ chat_client c(io_service, endpoint_iterator);
+
+ std::thread t([&io_service](){ io_service.run(); });
+
+ char line[chat_message::max_body_length + 1];
+ while (std::cin.getline(line, chat_message::max_body_length + 1))
+ {
+ chat_message msg;
+ msg.body_length(std::strlen(line));
+ std::memcpy(msg.body(), line, msg.body_length());
+ msg.encode_header();
+ c.write(msg);
+ }
+
+ c.close();
+ t.join();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/chat/chat_message.hpp b/doc/html/boost_asio/example/cpp11/chat/chat_message.hpp
new file mode 100644
index 0000000000..d2edd1cc76
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/chat/chat_message.hpp
@@ -0,0 +1,91 @@
+//
+// chat_message.hpp
+// ~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef CHAT_MESSAGE_HPP
+#define CHAT_MESSAGE_HPP
+
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+
+class chat_message
+{
+public:
+ enum { header_length = 4 };
+ enum { max_body_length = 512 };
+
+ chat_message()
+ : body_length_(0)
+ {
+ }
+
+ const char* data() const
+ {
+ return data_;
+ }
+
+ char* data()
+ {
+ return data_;
+ }
+
+ std::size_t length() const
+ {
+ return header_length + body_length_;
+ }
+
+ const char* body() const
+ {
+ return data_ + header_length;
+ }
+
+ char* body()
+ {
+ return data_ + header_length;
+ }
+
+ std::size_t body_length() const
+ {
+ return body_length_;
+ }
+
+ void body_length(std::size_t new_length)
+ {
+ body_length_ = new_length;
+ if (body_length_ > max_body_length)
+ body_length_ = max_body_length;
+ }
+
+ bool decode_header()
+ {
+ char header[header_length + 1] = "";
+ std::strncat(header, data_, header_length);
+ body_length_ = std::atoi(header);
+ if (body_length_ > max_body_length)
+ {
+ body_length_ = 0;
+ return false;
+ }
+ return true;
+ }
+
+ void encode_header()
+ {
+ char header[header_length + 1] = "";
+ std::sprintf(header, "%4d", static_cast<int>(body_length_));
+ std::memcpy(data_, header, header_length);
+ }
+
+private:
+ char data_[header_length + max_body_length];
+ std::size_t body_length_;
+};
+
+#endif // CHAT_MESSAGE_HPP
diff --git a/doc/html/boost_asio/example/cpp11/chat/chat_server.cpp b/doc/html/boost_asio/example/cpp11/chat/chat_server.cpp
new file mode 100644
index 0000000000..7f5dc4652b
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/chat/chat_server.cpp
@@ -0,0 +1,229 @@
+//
+// chat_server.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <deque>
+#include <iostream>
+#include <list>
+#include <memory>
+#include <set>
+#include <utility>
+#include <boost/asio.hpp>
+#include "chat_message.hpp"
+
+using boost::asio::ip::tcp;
+
+//----------------------------------------------------------------------
+
+typedef std::deque<chat_message> chat_message_queue;
+
+//----------------------------------------------------------------------
+
+class chat_participant
+{
+public:
+ virtual ~chat_participant() {}
+ virtual void deliver(const chat_message& msg) = 0;
+};
+
+typedef std::shared_ptr<chat_participant> chat_participant_ptr;
+
+//----------------------------------------------------------------------
+
+class chat_room
+{
+public:
+ void join(chat_participant_ptr participant)
+ {
+ participants_.insert(participant);
+ for (auto msg: recent_msgs_)
+ participant->deliver(msg);
+ }
+
+ void leave(chat_participant_ptr participant)
+ {
+ participants_.erase(participant);
+ }
+
+ void deliver(const chat_message& msg)
+ {
+ recent_msgs_.push_back(msg);
+ while (recent_msgs_.size() > max_recent_msgs)
+ recent_msgs_.pop_front();
+
+ for (auto participant: participants_)
+ participant->deliver(msg);
+ }
+
+private:
+ std::set<chat_participant_ptr> participants_;
+ enum { max_recent_msgs = 100 };
+ chat_message_queue recent_msgs_;
+};
+
+//----------------------------------------------------------------------
+
+class chat_session
+ : public chat_participant,
+ public std::enable_shared_from_this<chat_session>
+{
+public:
+ chat_session(tcp::socket socket, chat_room& room)
+ : socket_(std::move(socket)),
+ room_(room)
+ {
+ }
+
+ void start()
+ {
+ room_.join(shared_from_this());
+ do_read_header();
+ }
+
+ void deliver(const chat_message& msg)
+ {
+ bool write_in_progress = !write_msgs_.empty();
+ write_msgs_.push_back(msg);
+ if (!write_in_progress)
+ {
+ do_write();
+ }
+ }
+
+private:
+ void do_read_header()
+ {
+ auto self(shared_from_this());
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.data(), chat_message::header_length),
+ [this, self](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec && read_msg_.decode_header())
+ {
+ do_read_body();
+ }
+ else
+ {
+ room_.leave(shared_from_this());
+ }
+ });
+ }
+
+ void do_read_body()
+ {
+ auto self(shared_from_this());
+ boost::asio::async_read(socket_,
+ boost::asio::buffer(read_msg_.body(), read_msg_.body_length()),
+ [this, self](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec)
+ {
+ room_.deliver(read_msg_);
+ do_read_header();
+ }
+ else
+ {
+ room_.leave(shared_from_this());
+ }
+ });
+ }
+
+ void do_write()
+ {
+ auto self(shared_from_this());
+ boost::asio::async_write(socket_,
+ boost::asio::buffer(write_msgs_.front().data(),
+ write_msgs_.front().length()),
+ [this, self](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec)
+ {
+ write_msgs_.pop_front();
+ if (!write_msgs_.empty())
+ {
+ do_write();
+ }
+ }
+ else
+ {
+ room_.leave(shared_from_this());
+ }
+ });
+ }
+
+ tcp::socket socket_;
+ chat_room& room_;
+ chat_message read_msg_;
+ chat_message_queue write_msgs_;
+};
+
+//----------------------------------------------------------------------
+
+class chat_server
+{
+public:
+ chat_server(boost::asio::io_service& io_service,
+ const tcp::endpoint& endpoint)
+ : acceptor_(io_service, endpoint),
+ socket_(io_service)
+ {
+ do_accept();
+ }
+
+private:
+ void do_accept()
+ {
+ acceptor_.async_accept(socket_,
+ [this](boost::system::error_code ec)
+ {
+ if (!ec)
+ {
+ std::make_shared<chat_session>(std::move(socket_), room_)->start();
+ }
+
+ do_accept();
+ });
+ }
+
+ tcp::acceptor acceptor_;
+ tcp::socket socket_;
+ chat_room room_;
+};
+
+//----------------------------------------------------------------------
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc < 2)
+ {
+ std::cerr << "Usage: chat_server <port> [<port> ...]\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ std::list<chat_server> servers;
+ for (int i = 1; i < argc; ++i)
+ {
+ tcp::endpoint endpoint(tcp::v4(), std::atoi(argv[i]));
+ servers.emplace_back(io_service, endpoint);
+ }
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp
new file mode 100644
index 0000000000..ad1a060f9c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp
@@ -0,0 +1,116 @@
+//
+// async_tcp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <memory>
+#include <utility>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+class session
+ : public std::enable_shared_from_this<session>
+{
+public:
+ session(tcp::socket socket)
+ : socket_(std::move(socket))
+ {
+ }
+
+ void start()
+ {
+ do_read();
+ }
+
+private:
+ void do_read()
+ {
+ auto self(shared_from_this());
+ socket_.async_read_some(boost::asio::buffer(data_, max_length),
+ [this, self](boost::system::error_code ec, std::size_t length)
+ {
+ if (!ec)
+ {
+ do_write(length);
+ }
+ });
+ }
+
+ void do_write(std::size_t length)
+ {
+ auto self(shared_from_this());
+ boost::asio::async_write(socket_, boost::asio::buffer(data_, length),
+ [this, self](boost::system::error_code ec, std::size_t /*length*/)
+ {
+ if (!ec)
+ {
+ do_read();
+ }
+ });
+ }
+
+ tcp::socket socket_;
+ enum { max_length = 1024 };
+ char data_[max_length];
+};
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)),
+ socket_(io_service)
+ {
+ do_accept();
+ }
+
+private:
+ void do_accept()
+ {
+ acceptor_.async_accept(socket_,
+ [this](boost::system::error_code ec)
+ {
+ if (!ec)
+ {
+ std::make_shared<session>(std::move(socket_))->start();
+ }
+
+ do_accept();
+ });
+ }
+
+ tcp::acceptor acceptor_;
+ tcp::socket socket_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: async_tcp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ server s(io_service, std::atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp
new file mode 100644
index 0000000000..4c1da78752
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp
@@ -0,0 +1,82 @@
+//
+// async_udp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::udp;
+
+class server
+{
+public:
+ server(boost::asio::io_service& io_service, short port)
+ : socket_(io_service, udp::endpoint(udp::v4(), port))
+ {
+ do_receive();
+ }
+
+ void do_receive()
+ {
+ socket_.async_receive_from(
+ boost::asio::buffer(data_, max_length), sender_endpoint_,
+ [this](boost::system::error_code ec, std::size_t bytes_recvd)
+ {
+ if (!ec && bytes_recvd > 0)
+ {
+ do_send(bytes_recvd);
+ }
+ else
+ {
+ do_receive();
+ }
+ });
+ }
+
+ void do_send(std::size_t length)
+ {
+ socket_.async_send_to(
+ boost::asio::buffer(data_, length), sender_endpoint_,
+ [this](boost::system::error_code /*ec*/, std::size_t /*bytes_sent*/)
+ {
+ do_receive();
+ });
+ }
+
+private:
+ udp::socket socket_;
+ udp::endpoint sender_endpoint_;
+ enum { max_length = 1024 };
+ char data_[max_length];
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: async_udp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ server s(io_service, std::atoi(argv[1]));
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp
new file mode 100644
index 0000000000..c6ed7f6f81
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp
@@ -0,0 +1,55 @@
+//
+// blocking_tcp_echo_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+enum { max_length = 1024 };
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: blocking_tcp_echo_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ tcp::socket s(io_service);
+ tcp::resolver resolver(io_service);
+ boost::asio::connect(s, resolver.resolve({argv[1], argv[2]}));
+
+ std::cout << "Enter message: ";
+ char request[max_length];
+ std::cin.getline(request, max_length);
+ size_t request_length = std::strlen(request);
+ boost::asio::write(s, boost::asio::buffer(request, request_length));
+
+ char reply[max_length];
+ size_t reply_length = boost::asio::read(s,
+ boost::asio::buffer(reply, request_length));
+ std::cout << "Reply is: ";
+ std::cout.write(reply, reply_length);
+ std::cout << "\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp
new file mode 100644
index 0000000000..b69f3ef4f4
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp
@@ -0,0 +1,76 @@
+//
+// blocking_tcp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <thread>
+#include <utility>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::tcp;
+
+const int max_length = 1024;
+
+void session(tcp::socket sock)
+{
+ try
+ {
+ for (;;)
+ {
+ char data[max_length];
+
+ boost::system::error_code error;
+ size_t length = sock.read_some(boost::asio::buffer(data), error);
+ if (error == boost::asio::error::eof)
+ break; // Connection closed cleanly by peer.
+ else if (error)
+ throw boost::system::system_error(error); // Some other error.
+
+ boost::asio::write(sock, boost::asio::buffer(data, length));
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception in thread: " << e.what() << "\n";
+ }
+}
+
+void server(boost::asio::io_service& io_service, unsigned short port)
+{
+ tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), port));
+ for (;;)
+ {
+ tcp::socket sock(io_service);
+ a.accept(sock);
+ std::thread(session, std::move(sock)).detach();
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: blocking_tcp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ server(io_service, std::atoi(argv[1]));
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp
new file mode 100644
index 0000000000..4e8215a1e0
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp
@@ -0,0 +1,57 @@
+//
+// blocking_udp_echo_client.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::udp;
+
+enum { max_length = 1024 };
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 3)
+ {
+ std::cerr << "Usage: blocking_udp_echo_client <host> <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ udp::socket s(io_service, udp::endpoint(udp::v4(), 0));
+
+ udp::resolver resolver(io_service);
+ udp::endpoint endpoint = *resolver.resolve({udp::v4(), argv[1], argv[2]});
+
+ std::cout << "Enter message: ";
+ char request[max_length];
+ std::cin.getline(request, max_length);
+ size_t request_length = std::strlen(request);
+ s.send_to(boost::asio::buffer(request, request_length), endpoint);
+
+ char reply[max_length];
+ udp::endpoint sender_endpoint;
+ size_t reply_length = s.receive_from(
+ boost::asio::buffer(reply, max_length), sender_endpoint);
+ std::cout << "Reply is: ";
+ std::cout.write(reply, reply_length);
+ std::cout << "\n";
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp
new file mode 100644
index 0000000000..970f5fe579
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp
@@ -0,0 +1,52 @@
+//
+// blocking_udp_echo_server.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <cstdlib>
+#include <iostream>
+#include <boost/asio.hpp>
+
+using boost::asio::ip::udp;
+
+enum { max_length = 1024 };
+
+void server(boost::asio::io_service& io_service, unsigned short port)
+{
+ udp::socket sock(io_service, udp::endpoint(udp::v4(), port));
+ for (;;)
+ {
+ char data[max_length];
+ udp::endpoint sender_endpoint;
+ size_t length = sock.receive_from(
+ boost::asio::buffer(data, max_length), sender_endpoint);
+ sock.send_to(boost::asio::buffer(data, length), sender_endpoint);
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: blocking_udp_echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ server(io_service, std::atoi(argv[1]));
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp b/doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp
new file mode 100644
index 0000000000..34f9ff22a9
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp
@@ -0,0 +1,94 @@
+//
+// daytime_client.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <array>
+#include <future>
+#include <iostream>
+#include <thread>
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/udp.hpp>
+#include <boost/asio/use_future.hpp>
+
+using boost::asio::ip::udp;
+
+void get_daytime(boost::asio::io_service& io_service, const char* hostname)
+{
+ try
+ {
+ udp::resolver resolver(io_service);
+
+ std::future<udp::resolver::iterator> iter =
+ resolver.async_resolve(
+ {udp::v4(), hostname, "daytime"},
+ boost::asio::use_future);
+
+ // The async_resolve operation above returns the endpoint iterator as a
+ // future value that is not retrieved ...
+
+ udp::socket socket(io_service, udp::v4());
+
+ std::array<char, 1> send_buf = {{ 0 }};
+ std::future<std::size_t> send_length =
+ socket.async_send_to(boost::asio::buffer(send_buf),
+ *iter.get(), // ... until here. This call may block.
+ boost::asio::use_future);
+
+ // Do other things here while the send completes.
+
+ send_length.get(); // Blocks until the send is complete. Throws any errors.
+
+ std::array<char, 128> recv_buf;
+ udp::endpoint sender_endpoint;
+ std::future<std::size_t> recv_length =
+ socket.async_receive_from(
+ boost::asio::buffer(recv_buf),
+ sender_endpoint,
+ boost::asio::use_future);
+
+ // Do other things here while the receive completes.
+
+ std::cout.write(
+ recv_buf.data(),
+ recv_length.get()); // Blocks until receive is complete.
+ }
+ catch (std::system_error& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: daytime_client <host>" << std::endl;
+ return 1;
+ }
+
+ // We run the io_service off in its own thread so that it operates
+ // completely asynchronously with respect to the rest of the program.
+ boost::asio::io_service io_service;
+ boost::asio::io_service::work work(io_service);
+ std::thread thread([&io_service](){ io_service.run(); });
+
+ get_daytime(io_service, argv[1]);
+
+ io_service.stop();
+ thread.join();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << e.what() << std::endl;
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/http/server/connection.cpp b/doc/html/boost_asio/example/cpp11/http/server/connection.cpp
new file mode 100644
index 0000000000..733fe69d27
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/connection.cpp
@@ -0,0 +1,94 @@
+//
+// connection.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "connection.hpp"
+#include <utility>
+#include <vector>
+#include "connection_manager.hpp"
+#include "request_handler.hpp"
+
+namespace http {
+namespace server {
+
+connection::connection(boost::asio::ip::tcp::socket socket,
+ connection_manager& manager, request_handler& handler)
+ : socket_(std::move(socket)),
+ connection_manager_(manager),
+ request_handler_(handler)
+{
+}
+
+void connection::start()
+{
+ do_read();
+}
+
+void connection::stop()
+{
+ socket_.close();
+}
+
+void connection::do_read()
+{
+ auto self(shared_from_this());
+ socket_.async_read_some(boost::asio::buffer(buffer_),
+ [this, self](boost::system::error_code ec, std::size_t bytes_transferred)
+ {
+ if (!ec)
+ {
+ request_parser::result_type result;
+ std::tie(result, std::ignore) = request_parser_.parse(
+ request_, buffer_.data(), buffer_.data() + bytes_transferred);
+
+ if (result == request_parser::good)
+ {
+ request_handler_.handle_request(request_, reply_);
+ do_write();
+ }
+ else if (result == request_parser::bad)
+ {
+ reply_ = reply::stock_reply(reply::bad_request);
+ do_write();
+ }
+ else
+ {
+ do_read();
+ }
+ }
+ else if (ec != boost::asio::error::operation_aborted)
+ {
+ connection_manager_.stop(shared_from_this());
+ }
+ });
+}
+
+void connection::do_write()
+{
+ auto self(shared_from_this());
+ boost::asio::async_write(socket_, reply_.to_buffers(),
+ [this, self](boost::system::error_code ec, std::size_t)
+ {
+ if (!ec)
+ {
+ // Initiate graceful connection closure.
+ boost::system::error_code ignored_ec;
+ socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both,
+ ignored_ec);
+ }
+
+ if (ec != boost::asio::error::operation_aborted)
+ {
+ connection_manager_.stop(shared_from_this());
+ }
+ });
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/connection.hpp b/doc/html/boost_asio/example/cpp11/http/server/connection.hpp
new file mode 100644
index 0000000000..d459e5f8cc
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/connection.hpp
@@ -0,0 +1,79 @@
+//
+// connection.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_CONNECTION_HPP
+#define HTTP_CONNECTION_HPP
+
+#include <array>
+#include <memory>
+#include <boost/asio.hpp>
+#include "reply.hpp"
+#include "request.hpp"
+#include "request_handler.hpp"
+#include "request_parser.hpp"
+
+namespace http {
+namespace server {
+
+class connection_manager;
+
+/// Represents a single connection from a client.
+class connection
+ : public std::enable_shared_from_this<connection>
+{
+public:
+ connection(const connection&) = delete;
+ connection& operator=(const connection&) = delete;
+
+ /// Construct a connection with the given socket.
+ explicit connection(boost::asio::ip::tcp::socket socket,
+ connection_manager& manager, request_handler& handler);
+
+ /// Start the first asynchronous operation for the connection.
+ void start();
+
+ /// Stop all asynchronous operations associated with the connection.
+ void stop();
+
+private:
+ /// Perform an asynchronous read operation.
+ void do_read();
+
+ /// Perform an asynchronous write operation.
+ void do_write();
+
+ /// Socket for the connection.
+ boost::asio::ip::tcp::socket socket_;
+
+ /// The manager for this connection.
+ connection_manager& connection_manager_;
+
+ /// The handler used to process the incoming request.
+ request_handler& request_handler_;
+
+ /// Buffer for incoming data.
+ std::array<char, 8192> buffer_;
+
+ /// The incoming request.
+ request request_;
+
+ /// The parser for the incoming request.
+ request_parser request_parser_;
+
+ /// The reply to be sent back to the client.
+ reply reply_;
+};
+
+typedef std::shared_ptr<connection> connection_ptr;
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_CONNECTION_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/connection_manager.cpp b/doc/html/boost_asio/example/cpp11/http/server/connection_manager.cpp
new file mode 100644
index 0000000000..e3e18ca7a1
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/connection_manager.cpp
@@ -0,0 +1,40 @@
+//
+// connection_manager.cpp
+// ~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "connection_manager.hpp"
+
+namespace http {
+namespace server {
+
+connection_manager::connection_manager()
+{
+}
+
+void connection_manager::start(connection_ptr c)
+{
+ connections_.insert(c);
+ c->start();
+}
+
+void connection_manager::stop(connection_ptr c)
+{
+ connections_.erase(c);
+ c->stop();
+}
+
+void connection_manager::stop_all()
+{
+ for (auto c: connections_)
+ c->stop();
+ connections_.clear();
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/connection_manager.hpp b/doc/html/boost_asio/example/cpp11/http/server/connection_manager.hpp
new file mode 100644
index 0000000000..617a54f1ba
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/connection_manager.hpp
@@ -0,0 +1,48 @@
+//
+// connection_manager.hpp
+// ~~~~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_CONNECTION_MANAGER_HPP
+#define HTTP_CONNECTION_MANAGER_HPP
+
+#include <set>
+#include "connection.hpp"
+
+namespace http {
+namespace server {
+
+/// Manages open connections so that they may be cleanly stopped when the server
+/// needs to shut down.
+class connection_manager
+{
+public:
+ connection_manager(const connection_manager&) = delete;
+ connection_manager& operator=(const connection_manager&) = delete;
+
+ /// Construct a connection manager.
+ connection_manager();
+
+ /// Add the specified connection to the manager and start it.
+ void start(connection_ptr c);
+
+ /// Stop the specified connection.
+ void stop(connection_ptr c);
+
+ /// Stop all connections.
+ void stop_all();
+
+private:
+ /// The managed connections.
+ std::set<connection_ptr> connections_;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_CONNECTION_MANAGER_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/header.hpp b/doc/html/boost_asio/example/cpp11/http/server/header.hpp
new file mode 100644
index 0000000000..877211f190
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/header.hpp
@@ -0,0 +1,28 @@
+//
+// header.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_HEADER_HPP
+#define HTTP_HEADER_HPP
+
+#include <string>
+
+namespace http {
+namespace server {
+
+struct header
+{
+ std::string name;
+ std::string value;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_HEADER_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/main.cpp b/doc/html/boost_asio/example/cpp11/http/server/main.cpp
new file mode 100644
index 0000000000..fcc72ecc93
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/main.cpp
@@ -0,0 +1,43 @@
+//
+// main.cpp
+// ~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <iostream>
+#include <string>
+#include <boost/asio.hpp>
+#include "server.hpp"
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ // Check command line arguments.
+ if (argc != 4)
+ {
+ std::cerr << "Usage: http_server <address> <port> <doc_root>\n";
+ std::cerr << " For IPv4, try:\n";
+ std::cerr << " receiver 0.0.0.0 80 .\n";
+ std::cerr << " For IPv6, try:\n";
+ std::cerr << " receiver 0::0 80 .\n";
+ return 1;
+ }
+
+ // Initialise the server.
+ http::server::server s(argv[1], argv[2], argv[3]);
+
+ // Run the server until stopped.
+ s.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/example/cpp11/http/server/mime_types.cpp b/doc/html/boost_asio/example/cpp11/http/server/mime_types.cpp
new file mode 100644
index 0000000000..c05ee4b656
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/mime_types.cpp
@@ -0,0 +1,45 @@
+//
+// mime_types.cpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "mime_types.hpp"
+
+namespace http {
+namespace server {
+namespace mime_types {
+
+struct mapping
+{
+ const char* extension;
+ const char* mime_type;
+} mappings[] =
+{
+ { "gif", "image/gif" },
+ { "htm", "text/html" },
+ { "html", "text/html" },
+ { "jpg", "image/jpeg" },
+ { "png", "image/png" }
+};
+
+std::string extension_to_type(const std::string& extension)
+{
+ for (mapping m: mappings)
+ {
+ if (m.extension == extension)
+ {
+ return m.mime_type;
+ }
+ }
+
+ return "text/plain";
+}
+
+} // namespace mime_types
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/mime_types.hpp b/doc/html/boost_asio/example/cpp11/http/server/mime_types.hpp
new file mode 100644
index 0000000000..891c443669
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/mime_types.hpp
@@ -0,0 +1,27 @@
+//
+// mime_types.hpp
+// ~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_MIME_TYPES_HPP
+#define HTTP_MIME_TYPES_HPP
+
+#include <string>
+
+namespace http {
+namespace server {
+namespace mime_types {
+
+/// Convert a file extension into a MIME type.
+std::string extension_to_type(const std::string& extension);
+
+} // namespace mime_types
+} // namespace server
+} // namespace http
+
+#endif // HTTP_MIME_TYPES_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/reply.cpp b/doc/html/boost_asio/example/cpp11/http/server/reply.cpp
new file mode 100644
index 0000000000..c7e9b9f2b7
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/reply.cpp
@@ -0,0 +1,255 @@
+//
+// reply.cpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "reply.hpp"
+#include <string>
+
+namespace http {
+namespace server {
+
+namespace status_strings {
+
+const std::string ok =
+ "HTTP/1.0 200 OK\r\n";
+const std::string created =
+ "HTTP/1.0 201 Created\r\n";
+const std::string accepted =
+ "HTTP/1.0 202 Accepted\r\n";
+const std::string no_content =
+ "HTTP/1.0 204 No Content\r\n";
+const std::string multiple_choices =
+ "HTTP/1.0 300 Multiple Choices\r\n";
+const std::string moved_permanently =
+ "HTTP/1.0 301 Moved Permanently\r\n";
+const std::string moved_temporarily =
+ "HTTP/1.0 302 Moved Temporarily\r\n";
+const std::string not_modified =
+ "HTTP/1.0 304 Not Modified\r\n";
+const std::string bad_request =
+ "HTTP/1.0 400 Bad Request\r\n";
+const std::string unauthorized =
+ "HTTP/1.0 401 Unauthorized\r\n";
+const std::string forbidden =
+ "HTTP/1.0 403 Forbidden\r\n";
+const std::string not_found =
+ "HTTP/1.0 404 Not Found\r\n";
+const std::string internal_server_error =
+ "HTTP/1.0 500 Internal Server Error\r\n";
+const std::string not_implemented =
+ "HTTP/1.0 501 Not Implemented\r\n";
+const std::string bad_gateway =
+ "HTTP/1.0 502 Bad Gateway\r\n";
+const std::string service_unavailable =
+ "HTTP/1.0 503 Service Unavailable\r\n";
+
+boost::asio::const_buffer to_buffer(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return boost::asio::buffer(ok);
+ case reply::created:
+ return boost::asio::buffer(created);
+ case reply::accepted:
+ return boost::asio::buffer(accepted);
+ case reply::no_content:
+ return boost::asio::buffer(no_content);
+ case reply::multiple_choices:
+ return boost::asio::buffer(multiple_choices);
+ case reply::moved_permanently:
+ return boost::asio::buffer(moved_permanently);
+ case reply::moved_temporarily:
+ return boost::asio::buffer(moved_temporarily);
+ case reply::not_modified:
+ return boost::asio::buffer(not_modified);
+ case reply::bad_request:
+ return boost::asio::buffer(bad_request);
+ case reply::unauthorized:
+ return boost::asio::buffer(unauthorized);
+ case reply::forbidden:
+ return boost::asio::buffer(forbidden);
+ case reply::not_found:
+ return boost::asio::buffer(not_found);
+ case reply::internal_server_error:
+ return boost::asio::buffer(internal_server_error);
+ case reply::not_implemented:
+ return boost::asio::buffer(not_implemented);
+ case reply::bad_gateway:
+ return boost::asio::buffer(bad_gateway);
+ case reply::service_unavailable:
+ return boost::asio::buffer(service_unavailable);
+ default:
+ return boost::asio::buffer(internal_server_error);
+ }
+}
+
+} // namespace status_strings
+
+namespace misc_strings {
+
+const char name_value_separator[] = { ':', ' ' };
+const char crlf[] = { '\r', '\n' };
+
+} // namespace misc_strings
+
+std::vector<boost::asio::const_buffer> reply::to_buffers()
+{
+ std::vector<boost::asio::const_buffer> buffers;
+ buffers.push_back(status_strings::to_buffer(status));
+ for (std::size_t i = 0; i < headers.size(); ++i)
+ {
+ header& h = headers[i];
+ buffers.push_back(boost::asio::buffer(h.name));
+ buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator));
+ buffers.push_back(boost::asio::buffer(h.value));
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ }
+ buffers.push_back(boost::asio::buffer(misc_strings::crlf));
+ buffers.push_back(boost::asio::buffer(content));
+ return buffers;
+}
+
+namespace stock_replies {
+
+const char ok[] = "";
+const char created[] =
+ "<html>"
+ "<head><title>Created</title></head>"
+ "<body><h1>201 Created</h1></body>"
+ "</html>";
+const char accepted[] =
+ "<html>"
+ "<head><title>Accepted</title></head>"
+ "<body><h1>202 Accepted</h1></body>"
+ "</html>";
+const char no_content[] =
+ "<html>"
+ "<head><title>No Content</title></head>"
+ "<body><h1>204 Content</h1></body>"
+ "</html>";
+const char multiple_choices[] =
+ "<html>"
+ "<head><title>Multiple Choices</title></head>"
+ "<body><h1>300 Multiple Choices</h1></body>"
+ "</html>";
+const char moved_permanently[] =
+ "<html>"
+ "<head><title>Moved Permanently</title></head>"
+ "<body><h1>301 Moved Permanently</h1></body>"
+ "</html>";
+const char moved_temporarily[] =
+ "<html>"
+ "<head><title>Moved Temporarily</title></head>"
+ "<body><h1>302 Moved Temporarily</h1></body>"
+ "</html>";
+const char not_modified[] =
+ "<html>"
+ "<head><title>Not Modified</title></head>"
+ "<body><h1>304 Not Modified</h1></body>"
+ "</html>";
+const char bad_request[] =
+ "<html>"
+ "<head><title>Bad Request</title></head>"
+ "<body><h1>400 Bad Request</h1></body>"
+ "</html>";
+const char unauthorized[] =
+ "<html>"
+ "<head><title>Unauthorized</title></head>"
+ "<body><h1>401 Unauthorized</h1></body>"
+ "</html>";
+const char forbidden[] =
+ "<html>"
+ "<head><title>Forbidden</title></head>"
+ "<body><h1>403 Forbidden</h1></body>"
+ "</html>";
+const char not_found[] =
+ "<html>"
+ "<head><title>Not Found</title></head>"
+ "<body><h1>404 Not Found</h1></body>"
+ "</html>";
+const char internal_server_error[] =
+ "<html>"
+ "<head><title>Internal Server Error</title></head>"
+ "<body><h1>500 Internal Server Error</h1></body>"
+ "</html>";
+const char not_implemented[] =
+ "<html>"
+ "<head><title>Not Implemented</title></head>"
+ "<body><h1>501 Not Implemented</h1></body>"
+ "</html>";
+const char bad_gateway[] =
+ "<html>"
+ "<head><title>Bad Gateway</title></head>"
+ "<body><h1>502 Bad Gateway</h1></body>"
+ "</html>";
+const char service_unavailable[] =
+ "<html>"
+ "<head><title>Service Unavailable</title></head>"
+ "<body><h1>503 Service Unavailable</h1></body>"
+ "</html>";
+
+std::string to_string(reply::status_type status)
+{
+ switch (status)
+ {
+ case reply::ok:
+ return ok;
+ case reply::created:
+ return created;
+ case reply::accepted:
+ return accepted;
+ case reply::no_content:
+ return no_content;
+ case reply::multiple_choices:
+ return multiple_choices;
+ case reply::moved_permanently:
+ return moved_permanently;
+ case reply::moved_temporarily:
+ return moved_temporarily;
+ case reply::not_modified:
+ return not_modified;
+ case reply::bad_request:
+ return bad_request;
+ case reply::unauthorized:
+ return unauthorized;
+ case reply::forbidden:
+ return forbidden;
+ case reply::not_found:
+ return not_found;
+ case reply::internal_server_error:
+ return internal_server_error;
+ case reply::not_implemented:
+ return not_implemented;
+ case reply::bad_gateway:
+ return bad_gateway;
+ case reply::service_unavailable:
+ return service_unavailable;
+ default:
+ return internal_server_error;
+ }
+}
+
+} // namespace stock_replies
+
+reply reply::stock_reply(reply::status_type status)
+{
+ reply rep;
+ rep.status = status;
+ rep.content = stock_replies::to_string(status);
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = std::to_string(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = "text/html";
+ return rep;
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/reply.hpp b/doc/html/boost_asio/example/cpp11/http/server/reply.hpp
new file mode 100644
index 0000000000..51d495bc65
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/reply.hpp
@@ -0,0 +1,64 @@
+//
+// reply.hpp
+// ~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REPLY_HPP
+#define HTTP_REPLY_HPP
+
+#include <string>
+#include <vector>
+#include <boost/asio.hpp>
+#include "header.hpp"
+
+namespace http {
+namespace server {
+
+/// A reply to be sent to a client.
+struct reply
+{
+ /// The status of the reply.
+ enum status_type
+ {
+ ok = 200,
+ created = 201,
+ accepted = 202,
+ no_content = 204,
+ multiple_choices = 300,
+ moved_permanently = 301,
+ moved_temporarily = 302,
+ not_modified = 304,
+ bad_request = 400,
+ unauthorized = 401,
+ forbidden = 403,
+ not_found = 404,
+ internal_server_error = 500,
+ not_implemented = 501,
+ bad_gateway = 502,
+ service_unavailable = 503
+ } status;
+
+ /// The headers to be included in the reply.
+ std::vector<header> headers;
+
+ /// The content to be sent in the reply.
+ std::string content;
+
+ /// Convert the reply into a vector of buffers. The buffers do not own the
+ /// underlying memory blocks, therefore the reply object must remain valid and
+ /// not be changed until the write operation has completed.
+ std::vector<boost::asio::const_buffer> to_buffers();
+
+ /// Get a stock reply.
+ static reply stock_reply(status_type status);
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REPLY_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/request.hpp b/doc/html/boost_asio/example/cpp11/http/server/request.hpp
new file mode 100644
index 0000000000..20efff4dd3
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/request.hpp
@@ -0,0 +1,34 @@
+//
+// request.hpp
+// ~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REQUEST_HPP
+#define HTTP_REQUEST_HPP
+
+#include <string>
+#include <vector>
+#include "header.hpp"
+
+namespace http {
+namespace server {
+
+/// A request received from a client.
+struct request
+{
+ std::string method;
+ std::string uri;
+ int http_version_major;
+ int http_version_minor;
+ std::vector<header> headers;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REQUEST_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/request_handler.cpp b/doc/html/boost_asio/example/cpp11/http/server/request_handler.cpp
new file mode 100644
index 0000000000..419c62b5ae
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/request_handler.cpp
@@ -0,0 +1,121 @@
+//
+// request_handler.cpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_handler.hpp"
+#include <fstream>
+#include <sstream>
+#include <string>
+#include "mime_types.hpp"
+#include "reply.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server {
+
+request_handler::request_handler(const std::string& doc_root)
+ : doc_root_(doc_root)
+{
+}
+
+void request_handler::handle_request(const request& req, reply& rep)
+{
+ // Decode url to path.
+ std::string request_path;
+ if (!url_decode(req.uri, request_path))
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // Request path must be absolute and not contain "..".
+ if (request_path.empty() || request_path[0] != '/'
+ || request_path.find("..") != std::string::npos)
+ {
+ rep = reply::stock_reply(reply::bad_request);
+ return;
+ }
+
+ // If path ends in slash (i.e. is a directory) then add "index.html".
+ if (request_path[request_path.size() - 1] == '/')
+ {
+ request_path += "index.html";
+ }
+
+ // Determine the file extension.
+ std::size_t last_slash_pos = request_path.find_last_of("/");
+ std::size_t last_dot_pos = request_path.find_last_of(".");
+ std::string extension;
+ if (last_dot_pos != std::string::npos && last_dot_pos > last_slash_pos)
+ {
+ extension = request_path.substr(last_dot_pos + 1);
+ }
+
+ // Open the file to send back.
+ std::string full_path = doc_root_ + request_path;
+ std::ifstream is(full_path.c_str(), std::ios::in | std::ios::binary);
+ if (!is)
+ {
+ rep = reply::stock_reply(reply::not_found);
+ return;
+ }
+
+ // Fill out the reply to be sent to the client.
+ rep.status = reply::ok;
+ char buf[512];
+ while (is.read(buf, sizeof(buf)).gcount() > 0)
+ rep.content.append(buf, is.gcount());
+ rep.headers.resize(2);
+ rep.headers[0].name = "Content-Length";
+ rep.headers[0].value = std::to_string(rep.content.size());
+ rep.headers[1].name = "Content-Type";
+ rep.headers[1].value = mime_types::extension_to_type(extension);
+}
+
+bool request_handler::url_decode(const std::string& in, std::string& out)
+{
+ out.clear();
+ out.reserve(in.size());
+ for (std::size_t i = 0; i < in.size(); ++i)
+ {
+ if (in[i] == '%')
+ {
+ if (i + 3 <= in.size())
+ {
+ int value = 0;
+ std::istringstream is(in.substr(i + 1, 2));
+ if (is >> std::hex >> value)
+ {
+ out += static_cast<char>(value);
+ i += 2;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else if (in[i] == '+')
+ {
+ out += ' ';
+ }
+ else
+ {
+ out += in[i];
+ }
+ }
+ return true;
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/request_handler.hpp b/doc/html/boost_asio/example/cpp11/http/server/request_handler.hpp
new file mode 100644
index 0000000000..e2dff5c26c
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/request_handler.hpp
@@ -0,0 +1,47 @@
+//
+// request_handler.hpp
+// ~~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REQUEST_HANDLER_HPP
+#define HTTP_REQUEST_HANDLER_HPP
+
+#include <string>
+
+namespace http {
+namespace server {
+
+struct reply;
+struct request;
+
+/// The common handler for all incoming requests.
+class request_handler
+{
+public:
+ request_handler(const request_handler&) = delete;
+ request_handler& operator=(const request_handler&) = delete;
+
+ /// Construct with a directory containing files to be served.
+ explicit request_handler(const std::string& doc_root);
+
+ /// Handle a request and produce a reply.
+ void handle_request(const request& req, reply& rep);
+
+private:
+ /// The directory containing the files to be served.
+ std::string doc_root_;
+
+ /// Perform URL-decoding on a string. Returns false if the encoding was
+ /// invalid.
+ static bool url_decode(const std::string& in, std::string& out);
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REQUEST_HANDLER_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/request_parser.cpp b/doc/html/boost_asio/example/cpp11/http/server/request_parser.cpp
new file mode 100644
index 0000000000..2104034ea7
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/request_parser.cpp
@@ -0,0 +1,315 @@
+//
+// request_parser.cpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "request_parser.hpp"
+#include "request.hpp"
+
+namespace http {
+namespace server {
+
+request_parser::request_parser()
+ : state_(method_start)
+{
+}
+
+void request_parser::reset()
+{
+ state_ = method_start;
+}
+
+request_parser::result_type request_parser::consume(request& req, char input)
+{
+ switch (state_)
+ {
+ case method_start:
+ if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return bad;
+ }
+ else
+ {
+ state_ = method;
+ req.method.push_back(input);
+ return indeterminate;
+ }
+ case method:
+ if (input == ' ')
+ {
+ state_ = uri;
+ return indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return bad;
+ }
+ else
+ {
+ req.method.push_back(input);
+ return indeterminate;
+ }
+ case uri:
+ if (input == ' ')
+ {
+ state_ = http_version_h;
+ return indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return bad;
+ }
+ else
+ {
+ req.uri.push_back(input);
+ return indeterminate;
+ }
+ case http_version_h:
+ if (input == 'H')
+ {
+ state_ = http_version_t_1;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_t_1:
+ if (input == 'T')
+ {
+ state_ = http_version_t_2;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_t_2:
+ if (input == 'T')
+ {
+ state_ = http_version_p;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_p:
+ if (input == 'P')
+ {
+ state_ = http_version_slash;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_slash:
+ if (input == '/')
+ {
+ req.http_version_major = 0;
+ req.http_version_minor = 0;
+ state_ = http_version_major_start;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_major_start:
+ if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ state_ = http_version_major;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_major:
+ if (input == '.')
+ {
+ state_ = http_version_minor_start;
+ return indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_major = req.http_version_major * 10 + input - '0';
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_minor_start:
+ if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ state_ = http_version_minor;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case http_version_minor:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_1;
+ return indeterminate;
+ }
+ else if (is_digit(input))
+ {
+ req.http_version_minor = req.http_version_minor * 10 + input - '0';
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case expecting_newline_1:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case header_line_start:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_3;
+ return indeterminate;
+ }
+ else if (!req.headers.empty() && (input == ' ' || input == '\t'))
+ {
+ state_ = header_lws;
+ return indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return bad;
+ }
+ else
+ {
+ req.headers.push_back(header());
+ req.headers.back().name.push_back(input);
+ state_ = header_name;
+ return indeterminate;
+ }
+ case header_lws:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return indeterminate;
+ }
+ else if (input == ' ' || input == '\t')
+ {
+ return indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return bad;
+ }
+ else
+ {
+ state_ = header_value;
+ req.headers.back().value.push_back(input);
+ return indeterminate;
+ }
+ case header_name:
+ if (input == ':')
+ {
+ state_ = space_before_header_value;
+ return indeterminate;
+ }
+ else if (!is_char(input) || is_ctl(input) || is_tspecial(input))
+ {
+ return bad;
+ }
+ else
+ {
+ req.headers.back().name.push_back(input);
+ return indeterminate;
+ }
+ case space_before_header_value:
+ if (input == ' ')
+ {
+ state_ = header_value;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case header_value:
+ if (input == '\r')
+ {
+ state_ = expecting_newline_2;
+ return indeterminate;
+ }
+ else if (is_ctl(input))
+ {
+ return bad;
+ }
+ else
+ {
+ req.headers.back().value.push_back(input);
+ return indeterminate;
+ }
+ case expecting_newline_2:
+ if (input == '\n')
+ {
+ state_ = header_line_start;
+ return indeterminate;
+ }
+ else
+ {
+ return bad;
+ }
+ case expecting_newline_3:
+ return (input == '\n') ? good : bad;
+ default:
+ return bad;
+ }
+}
+
+bool request_parser::is_char(int c)
+{
+ return c >= 0 && c <= 127;
+}
+
+bool request_parser::is_ctl(int c)
+{
+ return (c >= 0 && c <= 31) || (c == 127);
+}
+
+bool request_parser::is_tspecial(int c)
+{
+ switch (c)
+ {
+ case '(': case ')': case '<': case '>': case '@':
+ case ',': case ';': case ':': case '\\': case '"':
+ case '/': case '[': case ']': case '?': case '=':
+ case '{': case '}': case ' ': case '\t':
+ return true;
+ default:
+ return false;
+ }
+}
+
+bool request_parser::is_digit(int c)
+{
+ return c >= '0' && c <= '9';
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/request_parser.hpp b/doc/html/boost_asio/example/cpp11/http/server/request_parser.hpp
new file mode 100644
index 0000000000..2c1d05ab04
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/request_parser.hpp
@@ -0,0 +1,96 @@
+//
+// request_parser.hpp
+// ~~~~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_REQUEST_PARSER_HPP
+#define HTTP_REQUEST_PARSER_HPP
+
+#include <tuple>
+
+namespace http {
+namespace server {
+
+struct request;
+
+/// Parser for incoming requests.
+class request_parser
+{
+public:
+ /// Construct ready to parse the request method.
+ request_parser();
+
+ /// Reset to initial parser state.
+ void reset();
+
+ /// Result of parse.
+ enum result_type { good, bad, indeterminate };
+
+ /// Parse some data. The enum return value is good when a complete request has
+ /// been parsed, bad if the data is invalid, indeterminate when more data is
+ /// required. The InputIterator return value indicates how much of the input
+ /// has been consumed.
+ template <typename InputIterator>
+ std::tuple<result_type, InputIterator> parse(request& req,
+ InputIterator begin, InputIterator end)
+ {
+ while (begin != end)
+ {
+ result_type result = consume(req, *begin++);
+ if (result == good || result == bad)
+ return std::make_tuple(result, begin);
+ }
+ return std::make_tuple(indeterminate, begin);
+ }
+
+private:
+ /// Handle the next character of input.
+ result_type consume(request& req, char input);
+
+ /// Check if a byte is an HTTP character.
+ static bool is_char(int c);
+
+ /// Check if a byte is an HTTP control character.
+ static bool is_ctl(int c);
+
+ /// Check if a byte is defined as an HTTP tspecial character.
+ static bool is_tspecial(int c);
+
+ /// Check if a byte is a digit.
+ static bool is_digit(int c);
+
+ /// The current state of the parser.
+ enum state
+ {
+ method_start,
+ method,
+ uri,
+ http_version_h,
+ http_version_t_1,
+ http_version_t_2,
+ http_version_p,
+ http_version_slash,
+ http_version_major_start,
+ http_version_major,
+ http_version_minor_start,
+ http_version_minor,
+ expecting_newline_1,
+ header_line_start,
+ header_lws,
+ header_name,
+ space_before_header_value,
+ header_value,
+ expecting_newline_2,
+ expecting_newline_3
+ } state_;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_REQUEST_PARSER_HPP
diff --git a/doc/html/boost_asio/example/cpp11/http/server/server.cpp b/doc/html/boost_asio/example/cpp11/http/server/server.cpp
new file mode 100644
index 0000000000..4f761d9212
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/server.cpp
@@ -0,0 +1,94 @@
+//
+// server.cpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include "server.hpp"
+#include <signal.h>
+#include <utility>
+
+namespace http {
+namespace server {
+
+server::server(const std::string& address, const std::string& port,
+ const std::string& doc_root)
+ : io_service_(),
+ signals_(io_service_),
+ acceptor_(io_service_),
+ connection_manager_(),
+ socket_(io_service_),
+ request_handler_(doc_root)
+{
+ // Register to handle the signals that indicate when the server should exit.
+ // It is safe to register for the same signal multiple times in a program,
+ // provided all registration for the specified signal is made through Asio.
+ signals_.add(SIGINT);
+ signals_.add(SIGTERM);
+#if defined(SIGQUIT)
+ signals_.add(SIGQUIT);
+#endif // defined(SIGQUIT)
+
+ do_await_stop();
+
+ // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR).
+ boost::asio::ip::tcp::resolver resolver(io_service_);
+ boost::asio::ip::tcp::endpoint endpoint = *resolver.resolve({address, port});
+ acceptor_.open(endpoint.protocol());
+ acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
+ acceptor_.bind(endpoint);
+ acceptor_.listen();
+
+ do_accept();
+}
+
+void server::run()
+{
+ // The io_service::run() call will block until all asynchronous operations
+ // have finished. While the server is running, there is always at least one
+ // asynchronous operation outstanding: the asynchronous accept call waiting
+ // for new incoming connections.
+ io_service_.run();
+}
+
+void server::do_accept()
+{
+ acceptor_.async_accept(socket_,
+ [this](boost::system::error_code ec)
+ {
+ // Check whether the server was stopped by a signal before this
+ // completion handler had a chance to run.
+ if (!acceptor_.is_open())
+ {
+ return;
+ }
+
+ if (!ec)
+ {
+ connection_manager_.start(std::make_shared<connection>(
+ std::move(socket_), connection_manager_, request_handler_));
+ }
+
+ do_accept();
+ });
+}
+
+void server::do_await_stop()
+{
+ signals_.async_wait(
+ [this](boost::system::error_code /*ec*/, int /*signo*/)
+ {
+ // The server is stopped by cancelling all outstanding asynchronous
+ // operations. Once all operations have finished the io_service::run()
+ // call will exit.
+ acceptor_.close();
+ connection_manager_.stop_all();
+ });
+}
+
+} // namespace server
+} // namespace http
diff --git a/doc/html/boost_asio/example/cpp11/http/server/server.hpp b/doc/html/boost_asio/example/cpp11/http/server/server.hpp
new file mode 100644
index 0000000000..50d9882382
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/http/server/server.hpp
@@ -0,0 +1,67 @@
+//
+// server.hpp
+// ~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#ifndef HTTP_SERVER_HPP
+#define HTTP_SERVER_HPP
+
+#include <boost/asio.hpp>
+#include <string>
+#include "connection.hpp"
+#include "connection_manager.hpp"
+#include "request_handler.hpp"
+
+namespace http {
+namespace server {
+
+/// The top-level class of the HTTP server.
+class server
+{
+public:
+ server(const server&) = delete;
+ server& operator=(const server&) = delete;
+
+ /// Construct the server to listen on the specified TCP address and port, and
+ /// serve up files from the given directory.
+ explicit server(const std::string& address, const std::string& port,
+ const std::string& doc_root);
+
+ /// Run the server's io_service loop.
+ void run();
+
+private:
+ /// Perform an asynchronous accept operation.
+ void do_accept();
+
+ /// Wait for a request to stop the server.
+ void do_await_stop();
+
+ /// The io_service used to perform asynchronous operations.
+ boost::asio::io_service io_service_;
+
+ /// The signal_set is used to register for process termination notifications.
+ boost::asio::signal_set signals_;
+
+ /// Acceptor used to listen for incoming connections.
+ boost::asio::ip::tcp::acceptor acceptor_;
+
+ /// The connection manager which owns all live connections.
+ connection_manager connection_manager_;
+
+ /// The next socket to be accepted.
+ boost::asio::ip::tcp::socket socket_;
+
+ /// The handler for all incoming requests.
+ request_handler request_handler_;
+};
+
+} // namespace server
+} // namespace http
+
+#endif // HTTP_SERVER_HPP
diff --git a/doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp b/doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp
new file mode 100644
index 0000000000..ac18373d54
--- /dev/null
+++ b/doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp
@@ -0,0 +1,108 @@
+//
+// echo_server.cpp
+// ~~~~~~~~~~~~~~~
+//
+// Copyright (c) 2003-2017 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)
+//
+
+#include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/spawn.hpp>
+#include <boost/asio/steady_timer.hpp>
+#include <boost/asio/write.hpp>
+#include <iostream>
+#include <memory>
+
+using boost::asio::ip::tcp;
+
+class session : public std::enable_shared_from_this<session>
+{
+public:
+ explicit session(tcp::socket socket)
+ : socket_(std::move(socket)),
+ timer_(socket_.get_io_service()),
+ strand_(socket_.get_io_service())
+ {
+ }
+
+ void go()
+ {
+ auto self(shared_from_this());
+ boost::asio::spawn(strand_,
+ [this, self](boost::asio::yield_context yield)
+ {
+ try
+ {
+ char data[128];
+ for (;;)
+ {
+ timer_.expires_from_now(std::chrono::seconds(10));
+ std::size_t n = socket_.async_read_some(boost::asio::buffer(data), yield);
+ boost::asio::async_write(socket_, boost::asio::buffer(data, n), yield);
+ }
+ }
+ catch (std::exception& e)
+ {
+ socket_.close();
+ timer_.cancel();
+ }
+ });
+
+ boost::asio::spawn(strand_,
+ [this, self](boost::asio::yield_context yield)
+ {
+ while (socket_.is_open())
+ {
+ boost::system::error_code ignored_ec;
+ timer_.async_wait(yield[ignored_ec]);
+ if (timer_.expires_from_now() <= std::chrono::seconds(0))
+ socket_.close();
+ }
+ });
+ }
+
+private:
+ tcp::socket socket_;
+ boost::asio::steady_timer timer_;
+ boost::asio::io_service::strand strand_;
+};
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ if (argc != 2)
+ {
+ std::cerr << "Usage: echo_server <port>\n";
+ return 1;
+ }
+
+ boost::asio::io_service io_service;
+
+ boost::asio::spawn(io_service,
+ [&](boost::asio::yield_context yield)
+ {
+ tcp::acceptor acceptor(io_service,
+ tcp::endpoint(tcp::v4(), std::atoi(argv[1])));
+
+ for (;;)
+ {
+ boost::system::error_code ec;
+ tcp::socket socket(io_service);
+ acceptor.async_accept(socket, yield[ec]);
+ if (!ec) std::make_shared<session>(std::move(socket))->go();
+ }
+ });
+
+ io_service.run();
+ }
+ catch (std::exception& e)
+ {
+ std::cerr << "Exception: " << e.what() << "\n";
+ }
+
+ return 0;
+}
diff --git a/doc/html/boost_asio/examples.html b/doc/html/boost_asio/examples.html
index 31b8701130..f08afdcdde 100644
--- a/doc/html/boost_asio/examples.html
+++ b/doc/html/boost_asio/examples.html
@@ -1,14 +1,13 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Examples</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
-<link rel="prev" href="tutorial.html" title="Tutorial">
-<link rel="next" href="reference.html" title="Reference">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
+<link rel="prev" href="tutorial/tutdaytime7/src.html" title="Source listing for Daytime.7">
+<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>
@@ -21,798 +20,30 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial/tutdaytime7/src.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/cpp03_examples.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_asio.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="examples.html#boost_asio.examples.cpp03_examples">C++03 Examples</a></span></dt>
-<dt><span class="section"><a href="examples.html#boost_asio.examples.cpp11_examples">C++11 Examples</a></span></dt>
-</dl></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
- <a class="link" href="examples.html#boost_asio.examples.cpp03_examples" title="C++03 Examples">C++03 Examples</a>:
+ <a class="link" href="examples/cpp03_examples.html" title="C++03 Examples">C++03 Examples</a>:
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.
</li>
<li class="listitem">
- <a class="link" href="examples.html#boost_asio.examples.cpp11_examples" title="C++11 Examples">C++11 Examples</a>:
+ <a class="link" href="examples/cpp11_examples.html" title="C++11 Examples">C++11 Examples</a>:
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.
</li>
</ul></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.examples.cpp03_examples"></a><a class="link" href="examples.html#boost_asio.examples.cpp03_examples" title="C++03 Examples">C++03 Examples</a>
-</h3></div></div></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h0"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.allocation"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/allocation/server.cpp" target="_top">boost_asio/example/cpp03/allocation/server.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h1"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.buffers"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/buffers/reference_counted.cpp" target="_top">boost_asio/example/cpp03/buffers/reference_counted.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h2"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.chat"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/chat/chat_message.hpp" target="_top">boost_asio/example/cpp03/chat/chat_message.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/chat/chat_client.cpp" target="_top">boost_asio/example/cpp03/chat/chat_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/chat/chat_server.cpp" target="_top">boost_asio/example/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.html#boost_asio.reference.posix__stream_descriptor" title="posix::stream_descriptor">posix::stream_descriptor</a>
- class to perform console input and output.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/chat/posix_chat_client.cpp" target="_top">boost_asio/example/cpp03/chat/posix_chat_client.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h3"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.echo"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/echo/async_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/echo/async_udp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/async_udp_echo_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/echo/blocking_tcp_echo_client.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/echo/blocking_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/echo/blocking_udp_echo_client.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/echo/blocking_udp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h4"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.fork"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.fork">Fork</a>
- </h5>
-<p>
- These POSIX-specific examples show how to use Boost.Asio in conjunction with
- the <code class="computeroutput"><span class="identifier">fork</span><span class="special">()</span></code>
- system call. The first example illustrates the steps required to start a
- daemon process:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/fork/daemon.cpp" target="_top">boost_asio/example/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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/fork/process_per_connection.cpp" target="_top">boost_asio/example/cpp03/fork/process_per_connection.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h5"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_client"></a></span><a class="link" href="examples.html#boost_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.html#boost_asio.reference.read_until" title="read_until">read_until</a>
- and <a class="link" href="reference.html#boost_asio.reference.async_read_until" title="async_read_until">async_read_until</a>
- functions.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/http/client/sync_client.cpp" target="_top">boost_asio/example/cpp03/http/client/sync_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/client/async_client.cpp" target="_top">boost_asio/example/cpp03/http/client/async_client.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h6"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/http/server/connection.cpp" target="_top">boost_asio/example/cpp03/http/server/connection.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/connection.hpp" target="_top">boost_asio/example/cpp03/http/server/connection.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/connection_manager.cpp" target="_top">boost_asio/example/cpp03/http/server/connection_manager.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/connection_manager.hpp" target="_top">boost_asio/example/cpp03/http/server/connection_manager.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/header.hpp" target="_top">boost_asio/example/cpp03/http/server/header.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/main.cpp" target="_top">boost_asio/example/cpp03/http/server/main.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server/mime_types.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server/mime_types.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/reply.cpp" target="_top">boost_asio/example/cpp03/http/server/reply.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/reply.hpp" target="_top">boost_asio/example/cpp03/http/server/reply.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/request.hpp" target="_top">boost_asio/example/cpp03/http/server/request.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server/request_handler.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server/request_handler.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server/request_parser.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server/request_parser.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/server.cpp" target="_top">boost_asio/example/cpp03/http/server/server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server/server.hpp" target="_top">boost_asio/example/cpp03/http/server/server.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h7"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_2"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.http_server_2">HTTP
- Server 2</a>
- </h5>
-<p>
- An HTTP server using an io_service-per-CPU design.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/http/server2/connection.cpp" target="_top">boost_asio/example/cpp03/http/server2/connection.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/connection.hpp" target="_top">boost_asio/example/cpp03/http/server2/connection.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/header.hpp" target="_top">boost_asio/example/cpp03/http/server2/header.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/io_service_pool.cpp" target="_top">boost_asio/example/cpp03/http/server2/io_service_pool.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/io_service_pool.hpp" target="_top">boost_asio/example/cpp03/http/server2/io_service_pool.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/main.cpp" target="_top">boost_asio/example/cpp03/http/server2/main.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server2/mime_types.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server2/mime_types.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/reply.cpp" target="_top">boost_asio/example/cpp03/http/server2/reply.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/reply.hpp" target="_top">boost_asio/example/cpp03/http/server2/reply.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/request.hpp" target="_top">boost_asio/example/cpp03/http/server2/request.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server2/request_handler.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server2/request_handler.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server2/request_parser.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server2/request_parser.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/server.cpp" target="_top">boost_asio/example/cpp03/http/server2/server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server2/server.hpp" target="_top">boost_asio/example/cpp03/http/server2/server.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h8"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_3"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.http_server_3">HTTP
- Server 3</a>
- </h5>
-<p>
- An HTTP server using a single io_service and a thread pool calling <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/http/server3/connection.cpp" target="_top">boost_asio/example/cpp03/http/server3/connection.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/connection.hpp" target="_top">boost_asio/example/cpp03/http/server3/connection.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/header.hpp" target="_top">boost_asio/example/cpp03/http/server3/header.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/main.cpp" target="_top">boost_asio/example/cpp03/http/server3/main.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server3/mime_types.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server3/mime_types.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/reply.cpp" target="_top">boost_asio/example/cpp03/http/server3/reply.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/reply.hpp" target="_top">boost_asio/example/cpp03/http/server3/reply.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/request.hpp" target="_top">boost_asio/example/cpp03/http/server3/request.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server3/request_handler.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server3/request_handler.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server3/request_parser.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server3/request_parser.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/server.cpp" target="_top">boost_asio/example/cpp03/http/server3/server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server3/server.hpp" target="_top">boost_asio/example/cpp03/http/server3/server.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h9"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_4"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/http/server4/file_handler.cpp" target="_top">boost_asio/example/cpp03/http/server4/file_handler.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/file_handler.hpp" target="_top">boost_asio/example/cpp03/http/server4/file_handler.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/header.hpp" target="_top">boost_asio/example/cpp03/http/server4/header.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/main.cpp" target="_top">boost_asio/example/cpp03/http/server4/main.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server4/mime_types.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server4/mime_types.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/reply.cpp" target="_top">boost_asio/example/cpp03/http/server4/reply.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/reply.hpp" target="_top">boost_asio/example/cpp03/http/server4/reply.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/request.hpp" target="_top">boost_asio/example/cpp03/http/server4/request.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server4/request_parser.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server4/request_parser.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/server.cpp" target="_top">boost_asio/example/cpp03/http/server4/server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/http/server4/server.hpp" target="_top">boost_asio/example/cpp03/http/server4/server.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h10"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.icmp"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/icmp/ping.cpp" target="_top">boost_asio/example/cpp03/icmp/ping.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/icmp/ipv4_header.hpp" target="_top">boost_asio/example/cpp03/icmp/ipv4_header.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/icmp/icmp_header.hpp" target="_top">boost_asio/example/cpp03/icmp/icmp_header.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h11"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.invocation"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/invocation/prioritised_handlers.cpp" target="_top">boost_asio/example/cpp03/invocation/prioritised_handlers.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h12"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.iostreams"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.iostreams">Iostreams</a>
- </h5>
-<p>
- Two examples showing how to use <a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream" title="ip::tcp::iostream">ip::tcp::iostream</a>.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/iostreams/daytime_client.cpp" target="_top">boost_asio/example/cpp03/iostreams/daytime_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/iostreams/daytime_server.cpp" target="_top">boost_asio/example/cpp03/iostreams/daytime_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/iostreams/http_client.cpp" target="_top">boost_asio/example/cpp03/iostreams/http_client.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h13"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.multicast"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/multicast/receiver.cpp" target="_top">boost_asio/example/cpp03/multicast/receiver.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/multicast/sender.cpp" target="_top">boost_asio/example/cpp03/multicast/sender.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h14"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.serialization"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/serialization/client.cpp" target="_top">boost_asio/example/cpp03/serialization/client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/serialization/connection.hpp" target="_top">boost_asio/example/cpp03/serialization/connection.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/serialization/server.cpp" target="_top">boost_asio/example/cpp03/serialization/server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/serialization/stock.hpp" target="_top">boost_asio/example/cpp03/serialization/stock.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h15"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.services"></a></span><a class="link" href="examples.html#boost_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.html#boost_asio.reference.io_service" title="io_service">io_service</a>,
- and how to use a custom service with <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket">basic_stream_socket&lt;&gt;</a>.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/services/basic_logger.hpp" target="_top">boost_asio/example/cpp03/services/basic_logger.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/services/daytime_client.cpp" target="_top">boost_asio/example/cpp03/services/daytime_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/services/logger.hpp" target="_top">boost_asio/example/cpp03/services/logger.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/services/logger_service.cpp" target="_top">boost_asio/example/cpp03/services/logger_service.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/services/logger_service.hpp" target="_top">boost_asio/example/cpp03/services/logger_service.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/services/stream_socket_service.hpp" target="_top">boost_asio/example/cpp03/services/stream_socket_service.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h16"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.socks_4"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/socks4/sync_client.cpp" target="_top">boost_asio/example/cpp03/socks4/sync_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/socks4/socks4.hpp" target="_top">boost_asio/example/cpp03/socks4/socks4.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h17"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.ssl"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.ssl">SSL</a>
- </h5>
-<p>
- Example client and server programs showing the use of the <a class="link" href="reference.html#boost_asio.reference.ssl__stream" title="ssl::stream">ssl::stream&lt;&gt;</a>
- template with asynchronous operations.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/ssl/client.cpp" target="_top">boost_asio/example/cpp03/ssl/client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/ssl/server.cpp" target="_top">boost_asio/example/cpp03/ssl/server.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h18"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.timeouts"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/timeouts/async_tcp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/async_tcp_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/timeouts/blocking_tcp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/timeouts/blocking_udp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/timeouts/server.cpp" target="_top">boost_asio/example/cpp03/timeouts/server.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h19"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.timers"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.timers">Timers</a>
- </h5>
-<p>
- Examples showing how to customise deadline_timer using different time types.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/timers/tick_count_timer.cpp" target="_top">boost_asio/example/cpp03/timers/tick_count_timer.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/timers/time_t_timer.cpp" target="_top">boost_asio/example/cpp03/timers/time_t_timer.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h20"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.porthopper"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.porthopper">Porthopper</a>
- </h5>
-<p>
- Example illustrating mixed synchronous and asynchronous operations, and how
- to use Boost.Lambda with Boost.Asio.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/porthopper/protocol.hpp" target="_top">boost_asio/example/cpp03/porthopper/protocol.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/porthopper/client.cpp" target="_top">boost_asio/example/cpp03/porthopper/client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/porthopper/server.cpp" target="_top">boost_asio/example/cpp03/porthopper/server.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h21"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.nonblocking"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/nonblocking/third_party_lib.cpp" target="_top">boost_asio/example/cpp03/nonblocking/third_party_lib.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h22"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.spawn"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.spawn">Spawn</a>
- </h5>
-<p>
- Example of using the boost::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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/spawn/echo_server.cpp" target="_top">boost_asio/example/cpp03/spawn/echo_server.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h23"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.unix_domain_sockets"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp03/local/connect_pair.cpp" target="_top">boost_asio/example/cpp03/local/connect_pair.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/local/stream_server.cpp" target="_top">boost_asio/example/cpp03/local/stream_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp03/local/stream_client.cpp" target="_top">boost_asio/example/cpp03/local/stream_client.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp03_examples.h24"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp03_examples.windows"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp03_examples.windows">Windows</a>
- </h5>
-<p>
- An example showing how to use the Windows-specific function <code class="computeroutput"><span class="identifier">TransmitFile</span></code> with Boost.Asio.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp03/windows/transmit_file.cpp" target="_top">boost_asio/example/cpp03/windows/transmit_file.cpp</a>
- </li></ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.examples.cpp11_examples"></a><a class="link" href="examples.html#boost_asio.examples.cpp11_examples" title="C++11 Examples">C++11 Examples</a>
-</h3></div></div></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h0"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.allocation"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp11/allocation/server.cpp" target="_top">boost_asio/example/cpp11/allocation/server.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h1"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.buffers"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp11/buffers/reference_counted.cpp" target="_top">boost_asio/example/cpp11/buffers/reference_counted.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h2"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.chat"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp11/chat/chat_message.hpp" target="_top">boost_asio/example/cpp11/chat/chat_message.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/chat/chat_client.cpp" target="_top">boost_asio/example/cpp11/chat/chat_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/chat/chat_server.cpp" target="_top">boost_asio/example/cpp11/chat/chat_server.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h3"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.echo"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp11/echo/async_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/echo/async_udp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/async_udp_echo_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/echo/blocking_tcp_echo_client.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/echo/blocking_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/echo/blocking_udp_echo_client.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/echo/blocking_udp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h4"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.futures"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp11_examples.futures">Futures</a>
- </h5>
-<p>
- This example demonstrates how to use std::future in conjunction with Boost.Asio's
- asynchronous operations.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp11/futures/daytime_client.cpp" target="_top">boost_asio/example/cpp11/futures/daytime_client.cpp</a>
- </li></ul></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h5"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.http_server"></a></span><a class="link" href="examples.html#boost_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" style="list-style-type: disc; ">
-<li class="listitem">
- <a href="example/cpp11/http/server/connection.cpp" target="_top">boost_asio/example/cpp11/http/server/connection.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/connection.hpp" target="_top">boost_asio/example/cpp11/http/server/connection.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/connection_manager.cpp" target="_top">boost_asio/example/cpp11/http/server/connection_manager.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/connection_manager.hpp" target="_top">boost_asio/example/cpp11/http/server/connection_manager.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/header.hpp" target="_top">boost_asio/example/cpp11/http/server/header.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/main.cpp" target="_top">boost_asio/example/cpp11/http/server/main.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/mime_types.cpp" target="_top">boost_asio/example/cpp11/http/server/mime_types.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/mime_types.hpp" target="_top">boost_asio/example/cpp11/http/server/mime_types.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/reply.cpp" target="_top">boost_asio/example/cpp11/http/server/reply.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/reply.hpp" target="_top">boost_asio/example/cpp11/http/server/reply.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/request.hpp" target="_top">boost_asio/example/cpp11/http/server/request.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/request_handler.cpp" target="_top">boost_asio/example/cpp11/http/server/request_handler.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/request_handler.hpp" target="_top">boost_asio/example/cpp11/http/server/request_handler.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/request_parser.cpp" target="_top">boost_asio/example/cpp11/http/server/request_parser.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/request_parser.hpp" target="_top">boost_asio/example/cpp11/http/server/request_parser.hpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/server.cpp" target="_top">boost_asio/example/cpp11/http/server/server.cpp</a>
- </li>
-<li class="listitem">
- <a href="example/cpp11/http/server/server.hpp" target="_top">boost_asio/example/cpp11/http/server/server.hpp</a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.examples.cpp11_examples.h6"></a>
- <span class="phrase"><a name="boost_asio.examples.cpp11_examples.spawn"></a></span><a class="link" href="examples.html#boost_asio.examples.cpp11_examples.spawn">Spawn</a>
- </h5>
-<p>
- Example of using the boost::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" style="list-style-type: disc; "><li class="listitem">
- <a href="example/cpp11/spawn/echo_server.cpp" target="_top">boost_asio/example/cpp11/spawn/echo_server.cpp</a>
- </li></ul></div>
-</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 &#169; 2003-2016 Christopher
- M. Kohlhoff<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2017 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>
@@ -820,7 +51,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="tutorial/tutdaytime7/src.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/cpp03_examples.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_asio/examples/cpp03_examples.html b/doc/html/boost_asio/examples/cpp03_examples.html
new file mode 100644
index 0000000000..c5fdf4166c
--- /dev/null
+++ b/doc/html/boost_asio/examples/cpp03_examples.html
@@ -0,0 +1,641 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>C++03 Examples</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.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="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp11_examples.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_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="boost_asio.examples.cpp03_examples.h0"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.allocation"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/allocation/server.cpp" target="_top">boost_asio/example/cpp03/allocation/server.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h1"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.buffers"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/buffers/reference_counted.cpp" target="_top">boost_asio/example/cpp03/buffers/reference_counted.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h2"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.chat"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/chat/chat_message.hpp" target="_top">boost_asio/example/cpp03/chat/chat_message.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/chat/chat_client.cpp" target="_top">boost_asio/example/cpp03/chat/chat_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/chat/chat_server.cpp" target="_top">boost_asio/example/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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/chat/posix_chat_client.cpp" target="_top">boost_asio/example/cpp03/chat/posix_chat_client.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h3"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.echo"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/echo/async_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/echo/async_udp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/async_udp_echo_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/echo/blocking_tcp_echo_client.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/echo/blocking_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/echo/blocking_udp_echo_client.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/echo/blocking_udp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h4"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.fork"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.fork">Fork</a>
+ </h5>
+<p>
+ These POSIX-specific examples show how to use Boost.Asio in conjunction with
+ the <code class="computeroutput"><span class="identifier">fork</span><span class="special">()</span></code>
+ system call. The first example illustrates the steps required to start a
+ daemon process:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/fork/daemon.cpp" target="_top">boost_asio/example/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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/fork/process_per_connection.cpp" target="_top">boost_asio/example/cpp03/fork/process_per_connection.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h5"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_client"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/http/client/sync_client.cpp" target="_top">boost_asio/example/cpp03/http/client/sync_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/client/async_client.cpp" target="_top">boost_asio/example/cpp03/http/client/async_client.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h6"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/http/server/connection.cpp" target="_top">boost_asio/example/cpp03/http/server/connection.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/connection.hpp" target="_top">boost_asio/example/cpp03/http/server/connection.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/connection_manager.cpp" target="_top">boost_asio/example/cpp03/http/server/connection_manager.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/connection_manager.hpp" target="_top">boost_asio/example/cpp03/http/server/connection_manager.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/header.hpp" target="_top">boost_asio/example/cpp03/http/server/header.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/main.cpp" target="_top">boost_asio/example/cpp03/http/server/main.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server/mime_types.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server/mime_types.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/reply.cpp" target="_top">boost_asio/example/cpp03/http/server/reply.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/reply.hpp" target="_top">boost_asio/example/cpp03/http/server/reply.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/request.hpp" target="_top">boost_asio/example/cpp03/http/server/request.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server/request_handler.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server/request_handler.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server/request_parser.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server/request_parser.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/server.cpp" target="_top">boost_asio/example/cpp03/http/server/server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server/server.hpp" target="_top">boost_asio/example/cpp03/http/server/server.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h7"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_2"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_2">HTTP
+ Server 2</a>
+ </h5>
+<p>
+ An HTTP server using an io_service-per-CPU design.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/connection.cpp" target="_top">boost_asio/example/cpp03/http/server2/connection.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/connection.hpp" target="_top">boost_asio/example/cpp03/http/server2/connection.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/header.hpp" target="_top">boost_asio/example/cpp03/http/server2/header.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/io_service_pool.cpp" target="_top">boost_asio/example/cpp03/http/server2/io_service_pool.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/io_service_pool.hpp" target="_top">boost_asio/example/cpp03/http/server2/io_service_pool.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/main.cpp" target="_top">boost_asio/example/cpp03/http/server2/main.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server2/mime_types.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server2/mime_types.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/reply.cpp" target="_top">boost_asio/example/cpp03/http/server2/reply.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/reply.hpp" target="_top">boost_asio/example/cpp03/http/server2/reply.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/request.hpp" target="_top">boost_asio/example/cpp03/http/server2/request.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server2/request_handler.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server2/request_handler.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server2/request_parser.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server2/request_parser.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/server.cpp" target="_top">boost_asio/example/cpp03/http/server2/server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server2/server.hpp" target="_top">boost_asio/example/cpp03/http/server2/server.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h8"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_3"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_3">HTTP
+ Server 3</a>
+ </h5>
+<p>
+ An HTTP server using a single io_service and a thread pool calling <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/connection.cpp" target="_top">boost_asio/example/cpp03/http/server3/connection.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/connection.hpp" target="_top">boost_asio/example/cpp03/http/server3/connection.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/header.hpp" target="_top">boost_asio/example/cpp03/http/server3/header.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/main.cpp" target="_top">boost_asio/example/cpp03/http/server3/main.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server3/mime_types.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server3/mime_types.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/reply.cpp" target="_top">boost_asio/example/cpp03/http/server3/reply.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/reply.hpp" target="_top">boost_asio/example/cpp03/http/server3/reply.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/request.hpp" target="_top">boost_asio/example/cpp03/http/server3/request.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server3/request_handler.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server3/request_handler.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server3/request_parser.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server3/request_parser.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/server.cpp" target="_top">boost_asio/example/cpp03/http/server3/server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server3/server.hpp" target="_top">boost_asio/example/cpp03/http/server3/server.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h9"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_4"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/file_handler.cpp" target="_top">boost_asio/example/cpp03/http/server4/file_handler.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/file_handler.hpp" target="_top">boost_asio/example/cpp03/http/server4/file_handler.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/header.hpp" target="_top">boost_asio/example/cpp03/http/server4/header.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/main.cpp" target="_top">boost_asio/example/cpp03/http/server4/main.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server4/mime_types.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server4/mime_types.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/reply.cpp" target="_top">boost_asio/example/cpp03/http/server4/reply.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/reply.hpp" target="_top">boost_asio/example/cpp03/http/server4/reply.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/request.hpp" target="_top">boost_asio/example/cpp03/http/server4/request.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server4/request_parser.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server4/request_parser.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/server.cpp" target="_top">boost_asio/example/cpp03/http/server4/server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/http/server4/server.hpp" target="_top">boost_asio/example/cpp03/http/server4/server.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h10"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.icmp"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/icmp/ping.cpp" target="_top">boost_asio/example/cpp03/icmp/ping.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/icmp/ipv4_header.hpp" target="_top">boost_asio/example/cpp03/icmp/ipv4_header.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/icmp/icmp_header.hpp" target="_top">boost_asio/example/cpp03/icmp/icmp_header.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h11"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.invocation"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/invocation/prioritised_handlers.cpp" target="_top">boost_asio/example/cpp03/invocation/prioritised_handlers.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h12"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.iostreams"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/iostreams/daytime_client.cpp" target="_top">boost_asio/example/cpp03/iostreams/daytime_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/iostreams/daytime_server.cpp" target="_top">boost_asio/example/cpp03/iostreams/daytime_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/iostreams/http_client.cpp" target="_top">boost_asio/example/cpp03/iostreams/http_client.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h13"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.multicast"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/multicast/receiver.cpp" target="_top">boost_asio/example/cpp03/multicast/receiver.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/multicast/sender.cpp" target="_top">boost_asio/example/cpp03/multicast/sender.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h14"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.serialization"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/serialization/client.cpp" target="_top">boost_asio/example/cpp03/serialization/client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/serialization/connection.hpp" target="_top">boost_asio/example/cpp03/serialization/connection.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/serialization/server.cpp" target="_top">boost_asio/example/cpp03/serialization/server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/serialization/stock.hpp" target="_top">boost_asio/example/cpp03/serialization/stock.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h15"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.services"></a></span><a class="link" href="cpp03_examples.html#boost_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_service.html" title="io_service">io_service</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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/services/basic_logger.hpp" target="_top">boost_asio/example/cpp03/services/basic_logger.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/services/daytime_client.cpp" target="_top">boost_asio/example/cpp03/services/daytime_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/services/logger.hpp" target="_top">boost_asio/example/cpp03/services/logger.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/services/logger_service.cpp" target="_top">boost_asio/example/cpp03/services/logger_service.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/services/logger_service.hpp" target="_top">boost_asio/example/cpp03/services/logger_service.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/services/stream_socket_service.hpp" target="_top">boost_asio/example/cpp03/services/stream_socket_service.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h16"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.socks_4"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/socks4/sync_client.cpp" target="_top">boost_asio/example/cpp03/socks4/sync_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/socks4/socks4.hpp" target="_top">boost_asio/example/cpp03/socks4/socks4.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h17"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.ssl"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/ssl/client.cpp" target="_top">boost_asio/example/cpp03/ssl/client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/ssl/server.cpp" target="_top">boost_asio/example/cpp03/ssl/server.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h18"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.timeouts"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/timeouts/async_tcp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/async_tcp_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/timeouts/blocking_tcp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/timeouts/blocking_udp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/timeouts/server.cpp" target="_top">boost_asio/example/cpp03/timeouts/server.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h19"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.timers"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.timers">Timers</a>
+ </h5>
+<p>
+ Examples showing how to customise deadline_timer using different time types.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/timers/tick_count_timer.cpp" target="_top">boost_asio/example/cpp03/timers/tick_count_timer.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/timers/time_t_timer.cpp" target="_top">boost_asio/example/cpp03/timers/time_t_timer.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h20"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.porthopper"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.porthopper">Porthopper</a>
+ </h5>
+<p>
+ Example illustrating mixed synchronous and asynchronous operations, and how
+ to use Boost.Lambda with Boost.Asio.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/porthopper/protocol.hpp" target="_top">boost_asio/example/cpp03/porthopper/protocol.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/porthopper/client.cpp" target="_top">boost_asio/example/cpp03/porthopper/client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/porthopper/server.cpp" target="_top">boost_asio/example/cpp03/porthopper/server.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h21"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.nonblocking"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/nonblocking/third_party_lib.cpp" target="_top">boost_asio/example/cpp03/nonblocking/third_party_lib.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h22"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.spawn"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.spawn">Spawn</a>
+ </h5>
+<p>
+ Example of using the boost::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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/spawn/echo_server.cpp" target="_top">boost_asio/example/cpp03/spawn/echo_server.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h23"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.unix_domain_sockets"></a></span><a class="link" href="cpp03_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp03/local/connect_pair.cpp" target="_top">boost_asio/example/cpp03/local/connect_pair.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/local/stream_server.cpp" target="_top">boost_asio/example/cpp03/local/stream_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp03/local/stream_client.cpp" target="_top">boost_asio/example/cpp03/local/stream_client.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp03_examples.h24"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp03_examples.windows"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.windows">Windows</a>
+ </h5>
+<p>
+ An example showing how to use the Windows-specific function <code class="computeroutput"><span class="identifier">TransmitFile</span></code> with Boost.Asio.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp03/windows/transmit_file.cpp" target="_top">boost_asio/example/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 &#169; 2003-2017 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="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp11_examples.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/examples/cpp11_examples.html b/doc/html/boost_asio/examples/cpp11_examples.html
new file mode 100644
index 0000000000..b62c565931
--- /dev/null
+++ b/doc/html/boost_asio/examples/cpp11_examples.html
@@ -0,0 +1,198 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>C++11 Examples</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../examples.html" title="Examples">
+<link rel="prev" href="cpp03_examples.html" title="C++03 Examples">
+<link rel="next" href="../reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cpp03_examples.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_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="boost_asio.examples.cpp11_examples.h0"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.allocation"></a></span><a class="link" href="cpp11_examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp11/allocation/server.cpp" target="_top">boost_asio/example/cpp11/allocation/server.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp11_examples.h1"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.buffers"></a></span><a class="link" href="cpp11_examples.html#boost_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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp11/buffers/reference_counted.cpp" target="_top">boost_asio/example/cpp11/buffers/reference_counted.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp11_examples.h2"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.chat"></a></span><a class="link" href="cpp11_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp11/chat/chat_message.hpp" target="_top">boost_asio/example/cpp11/chat/chat_message.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/chat/chat_client.cpp" target="_top">boost_asio/example/cpp11/chat/chat_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/chat/chat_server.cpp" target="_top">boost_asio/example/cpp11/chat/chat_server.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp11_examples.h3"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.echo"></a></span><a class="link" href="cpp11_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp11/echo/async_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/echo/async_udp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/async_udp_echo_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/echo/blocking_tcp_echo_client.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/echo/blocking_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/echo/blocking_udp_echo_client.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/echo/blocking_udp_echo_server.cpp" target="_top">boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp11_examples.h4"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.futures"></a></span><a class="link" href="cpp11_examples.html#boost_asio.examples.cpp11_examples.futures">Futures</a>
+ </h5>
+<p>
+ This example demonstrates how to use std::future in conjunction with Boost.Asio's
+ asynchronous operations.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp11/futures/daytime_client.cpp" target="_top">boost_asio/example/cpp11/futures/daytime_client.cpp</a>
+ </li></ul></div>
+<h5>
+<a name="boost_asio.examples.cpp11_examples.h5"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.http_server"></a></span><a class="link" href="cpp11_examples.html#boost_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" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../example/cpp11/http/server/connection.cpp" target="_top">boost_asio/example/cpp11/http/server/connection.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/connection.hpp" target="_top">boost_asio/example/cpp11/http/server/connection.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/connection_manager.cpp" target="_top">boost_asio/example/cpp11/http/server/connection_manager.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/connection_manager.hpp" target="_top">boost_asio/example/cpp11/http/server/connection_manager.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/header.hpp" target="_top">boost_asio/example/cpp11/http/server/header.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/main.cpp" target="_top">boost_asio/example/cpp11/http/server/main.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/mime_types.cpp" target="_top">boost_asio/example/cpp11/http/server/mime_types.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/mime_types.hpp" target="_top">boost_asio/example/cpp11/http/server/mime_types.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/reply.cpp" target="_top">boost_asio/example/cpp11/http/server/reply.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/reply.hpp" target="_top">boost_asio/example/cpp11/http/server/reply.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/request.hpp" target="_top">boost_asio/example/cpp11/http/server/request.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/request_handler.cpp" target="_top">boost_asio/example/cpp11/http/server/request_handler.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/request_handler.hpp" target="_top">boost_asio/example/cpp11/http/server/request_handler.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/request_parser.cpp" target="_top">boost_asio/example/cpp11/http/server/request_parser.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/request_parser.hpp" target="_top">boost_asio/example/cpp11/http/server/request_parser.hpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/server.cpp" target="_top">boost_asio/example/cpp11/http/server/server.cpp</a>
+ </li>
+<li class="listitem">
+ <a href="../example/cpp11/http/server/server.hpp" target="_top">boost_asio/example/cpp11/http/server/server.hpp</a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.examples.cpp11_examples.h6"></a>
+ <span class="phrase"><a name="boost_asio.examples.cpp11_examples.spawn"></a></span><a class="link" href="cpp11_examples.html#boost_asio.examples.cpp11_examples.spawn">Spawn</a>
+ </h5>
+<p>
+ Example of using the boost::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" style="list-style-type: disc; "><li class="listitem">
+ <a href="../example/cpp11/spawn/echo_server.cpp" target="_top">boost_asio/example/cpp11/spawn/echo_server.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 &#169; 2003-2017 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="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/history.html b/doc/html/boost_asio/history.html
index c9f8e554d7..3922b1689a 100644
--- a/doc/html/boost_asio/history.html
+++ b/doc/html/boost_asio/history.html
@@ -1,13 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Revision History</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
-<link rel="prev" href="reference.html" title="Reference">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
+<link rel="prev" href="reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value">
<link rel="next" href="index.html" title="">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="reference.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="index.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="index.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -29,6 +28,59 @@
</h2></div></div></div>
<h4>
<a name="boost_asio.history.h0"></a>
+ <span class="phrase"><a name="boost_asio.history.asio_1_10_9___boost_1_64"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_9___boost_1_64">Asio
+ 1.10.9 / Boost 1.64</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added limited support for using regular file descriptors (where I/O operations
+ should never fail with <code class="computeroutput"><span class="identifier">EAGAIN</span></code>
+ or <code class="computeroutput"><span class="identifier">EWOULDBLOCK</span></code>) with <code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span></code>, when using the Linux
+ epoll backend.
+ </li>
+<li class="listitem">
+ Changed to use <code class="computeroutput"><span class="identifier">allocator_traits</span></code>
+ to rebind allocators in C++11 or later.
+ </li>
+<li class="listitem">
+ Eliminated a double "construction" issue in the converting move
+ constructors.
+ </li>
+<li class="listitem">
+ Added new <code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code> enumerations to enable support
+ for any TLS version, and improved consistency of SSL/TLS version handling
+ across OpenSSL releases.
+ </li>
+<li class="listitem">
+ Applied more changes to address OpenSSL 1.1 compatibility.
+ </li>
+<li class="listitem">
+ Fixed a compile error when OpenSSL compression is disabled at compile time.
+ </li>
+<li class="listitem">
+ Suppressed some spurious unused variable warnings issued by <code class="literal">gcc</code>
+ (<a href="https://svn.boost.org/trac/boost/ticket/12302" target="_top">#12302</a>).
+ </li>
+<li class="listitem">
+ Worked around a new clang warning issued for usage of the comma operator.
+ </li>
+<li class="listitem">
+ Fixed various header ordering problems.
+ </li>
+<li class="listitem">
+ Changed to refer <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">atomic_thread_fence</span></code>, when available,
+ to eliminate a deprecated function warning on newest macOS SDK (<a href="https://svn.boost.org/trac/boost/ticket/12482" target="_top">#12482</a>).
+ </li>
+<li class="listitem">
+ Added a workaround for broken <code class="computeroutput"><span class="identifier">getaddrinfo</span></code>
+ in Apple's NAT64 environment.
+ </li>
+<li class="listitem">
+ Fixed an exception safety issue in the internal hash map implementation.
+ </li>
+</ul></div>
+<h4>
+<a name="boost_asio.history.h1"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_8___boost_1_62"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_8___boost_1_62">Asio
1.10.8 / Boost 1.62</a>
</h4>
@@ -65,7 +117,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h1"></a>
+<a name="boost_asio.history.h2"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_7___boost_1_60"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_7___boost_1_60">Asio
1.10.7 / Boost 1.60</a>
</h4>
@@ -103,7 +155,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h2"></a>
+<a name="boost_asio.history.h3"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_6___boost_1_58"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_6___boost_1_58">Asio
1.10.6 / Boost 1.58</a>
</h4>
@@ -184,7 +236,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h3"></a>
+<a name="boost_asio.history.h4"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_5___boost_1_57"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_5___boost_1_57">Asio
1.10.5 / Boost 1.57</a>
</h4>
@@ -230,7 +282,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h4"></a>
+<a name="boost_asio.history.h5"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_4___boost_1_56"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_4___boost_1_56">Asio
1.10.4 / Boost 1.56</a>
</h4>
@@ -252,7 +304,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h5"></a>
+<a name="boost_asio.history.h6"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_3"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_3">Asio
1.10.3</a>
</h4>
@@ -287,7 +339,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h6"></a>
+<a name="boost_asio.history.h7"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_2"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_2">Asio
1.10.2</a>
</h4>
@@ -362,7 +414,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h7"></a>
+<a name="boost_asio.history.h8"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_1___boost_1_55"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_1___boost_1_55">Asio
1.10.1 / Boost 1.55</a>
</h4>
@@ -480,7 +532,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h8"></a>
+<a name="boost_asio.history.h9"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_10_0___boost_1_54"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_10_0___boost_1_54">Asio
1.10.0 / Boost 1.54</a>
</h4>
@@ -495,20 +547,20 @@
function, a high-level wrapper for running stackful coroutines, based on
the Boost.Coroutine library. The <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code> function enables programs to implement
asynchronous logic in a synchronous manner. For example: <code class="computeroutput"><span class="identifier">size_t</span> <span class="identifier">n</span>
- <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span></code>. For further information, see <a class="link" href="../boost_asio.html#boost_asio.overview.core.spawn" title="Stackful Coroutines">Stackful
+ <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span></code>. For further information, see <a class="link" href="overview/core/spawn.html" title="Stackful Coroutines">Stackful
Coroutines</a>.
</li>
<li class="listitem">
Added the <code class="computeroutput"><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code> special value, which provides
first-class support for returning a C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
from an asynchronous operation's initiating function. For example: <code class="computeroutput"><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">size_t</span><span class="special">&gt;</span>
- <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span></code>. For further information, see <a class="link" href="../boost_asio.html#boost_asio.overview.cpp2011.futures" title="Futures">C++
+ <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span></code>. For further information, see <a class="link" href="overview/cpp2011/futures.html" title="Futures">C++
2011 Support - Futures</a>.
</li>
<li class="listitem">
Promoted the stackless coroutine class and macros to be part of Asio's
documented interface, rather than part of the HTTP server 4 example. For
- further information, see <a class="link" href="../boost_asio.html#boost_asio.overview.core.coroutine" title="Stackless Coroutines">Stackless
+ further information, see <a class="link" href="overview/core/coroutine.html" title="Stackless Coroutines">Stackless
Coroutines</a>.
</li>
<li class="listitem">
@@ -527,14 +579,14 @@
<code class="computeroutput"><span class="identifier">Protocol</span></code> type requirements,
but allow the user to specify the address family (e.g. <code class="computeroutput"><span class="identifier">AF_INET</span></code>)
and protocol type (e.g. <code class="computeroutput"><span class="identifier">IPPROTO_TCP</span></code>)
- at runtime. For further information, see <a class="link" href="../boost_asio.html#boost_asio.overview.networking.other_protocols" title="Support for Other Protocols">Support
+ at runtime. For further information, see <a class="link" href="overview/networking/other_protocols.html" title="Support for Other Protocols">Support
for Other Protocols</a>.
</li>
<li class="listitem">
Added C++11 move constructors that allow the conversion of a socket (or
acceptor) into a more generic type. For example, an <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>
can be converted into a <code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span></code>
- via move construction. For further information, see <a class="link" href="../boost_asio.html#boost_asio.overview.networking.other_protocols" title="Support for Other Protocols">Support
+ via move construction. For further information, see <a class="link" href="overview/networking/other_protocols.html" title="Support for Other Protocols">Support
for Other Protocols</a>.
</li>
<li class="listitem">
@@ -542,7 +594,7 @@
be accepted directly into a socket of a more generic type. For example,
an <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span></code> can be used to accept into a
<code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span></code> object. For further information,
- see <a class="link" href="../boost_asio.html#boost_asio.overview.networking.other_protocols" title="Support for Other Protocols">Support
+ see <a class="link" href="overview/networking/other_protocols.html" title="Support for Other Protocols">Support
for Other Protocols</a>.
</li>
<li class="listitem">
@@ -633,7 +685,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h9"></a>
+<a name="boost_asio.history.h10"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_8_3___boost_1_53"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_8_3___boost_1_53">Asio
1.8.3 / Boost 1.53</a>
</h4>
@@ -677,7 +729,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h10"></a>
+<a name="boost_asio.history.h11"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_8_2___boost_1_51"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_8_2___boost_1_51">Asio
1.8.2 / Boost 1.51</a>
</h4>
@@ -721,7 +773,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h11"></a>
+<a name="boost_asio.history.h12"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_8_1___boost_1_50"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_8_1___boost_1_50">Asio
1.8.1 / Boost 1.50</a>
</h4>
@@ -760,7 +812,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h12"></a>
+<a name="boost_asio.history.h13"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_8_0___boost_1_49"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_8_0___boost_1_49">Asio
1.8.0 / Boost 1.49</a>
</h4>
@@ -809,7 +861,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h13"></a>
+<a name="boost_asio.history.h14"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_6_1___boost_1_48"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_6_1___boost_1_48">Asio
1.6.1 / Boost 1.48</a>
</h4>
@@ -903,7 +955,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h14"></a>
+<a name="boost_asio.history.h15"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_6_0___boost_1_47"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_6_0___boost_1_47">Asio
1.6.0 / Boost 1.47</a>
</h4>
@@ -1134,7 +1186,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h15"></a>
+<a name="boost_asio.history.h16"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_9___boost_1_46_1"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_9___boost_1_46_1">Asio
1.4.9 / Boost 1.46.1</a>
</h4>
@@ -1166,7 +1218,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h16"></a>
+<a name="boost_asio.history.h17"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_8___boost_1_46"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_8___boost_1_46">Asio
1.4.8 / Boost 1.46</a>
</h4>
@@ -1181,7 +1233,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h17"></a>
+<a name="boost_asio.history.h18"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_7___boost_1_45"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_7___boost_1_45">Asio
1.4.7 / Boost 1.45</a>
</h4>
@@ -1263,7 +1315,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h18"></a>
+<a name="boost_asio.history.h19"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_6___boost_1_44"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_6___boost_1_44">Asio
1.4.6 / Boost 1.44</a>
</h4>
@@ -1339,7 +1391,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h19"></a>
+<a name="boost_asio.history.h20"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_5___boost_1_43"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_5___boost_1_43">Asio
1.4.5 / Boost 1.43</a>
</h4>
@@ -1406,7 +1458,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h20"></a>
+<a name="boost_asio.history.h21"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_4___boost_1_42"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_4___boost_1_42">Asio
1.4.4 / Boost 1.42</a>
</h4>
@@ -1471,7 +1523,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h21"></a>
+<a name="boost_asio.history.h22"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_3___boost_1_40"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_3___boost_1_40">Asio
1.4.3 / Boost 1.40</a>
</h4>
@@ -1528,7 +1580,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h22"></a>
+<a name="boost_asio.history.h23"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_2___boost_1_39"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_2___boost_1_39">Asio
1.4.2 / Boost 1.39</a>
</h4>
@@ -1580,7 +1632,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h23"></a>
+<a name="boost_asio.history.h24"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_1___boost_1_38"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_1___boost_1_38">Asio
1.4.1 / Boost 1.38</a>
</h4>
@@ -1612,7 +1664,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h24"></a>
+<a name="boost_asio.history.h25"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_4_0___boost_1_37"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_4_0___boost_1_37">Asio
1.4.0 / Boost 1.37</a>
</h4>
@@ -1647,7 +1699,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h25"></a>
+<a name="boost_asio.history.h26"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_2_0___boost_1_36"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_2_0___boost_1_36">Asio
1.2.0 / Boost 1.36</a>
</h4>
@@ -1700,7 +1752,7 @@
</li>
</ul></div>
<h4>
-<a name="boost_asio.history.h26"></a>
+<a name="boost_asio.history.h27"></a>
<span class="phrase"><a name="boost_asio.history.asio_1_0_0___boost_1_35"></a></span><a class="link" href="history.html#boost_asio.history.asio_1_0_0___boost_1_35">Asio
1.0.0 / Boost 1.35</a>
</h4>
@@ -1710,8 +1762,7 @@
</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 &#169; 2003-2016 Christopher
- M. Kohlhoff<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2017 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>
@@ -1719,7 +1770,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="reference.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="index.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="index.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_asio/index.html b/doc/html/boost_asio/index.html
index 0a34afc75d..1ea7d92531 100644
--- a/doc/html/boost_asio/index.html
+++ b/doc/html/boost_asio/index.html
@@ -1,14 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title></title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
<link rel="prev" href="history.html" title="Revision History">
-<link rel="next" href="../atomic.html" title="Chapter&#160;8.&#160;Boost.Atomic">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -21,518 +19,489 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../atomic.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="history.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a>
</div>
<div class="section">
<div class="titlepage"></div>
<div class="index">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp240578432"></a>Index</h3></div></div></div>
+<a name="idp182410592"></a>Index</h3></div></div></div>
<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index">
<div class="indexdiv">
<h3>Symbols</h3>
<dl>
-<dt id="ientry-idp723984480">64-bit compilation, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dd><dl>
-<dt>gcc, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.compiler.gcc">GNU C++</a>
-</dt>
-<dt>Microsoft Visual Studio, <a class="indexterm" href="../bbv2/reference.html#v2.reference.tools.compiler.msvc.64">64-bit support</a>
-</dt>
-<dt>Sun Studio, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.compiler.sun">Sun Studio</a>
-</dt>
-</dl></dd>
-<dt id="ientry-idp216049008">~basic_descriptor</dt>
-<dd><dl><dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor._basic_descriptor">posix::basic_descriptor::~basic_descriptor</a>
+<dt id="ientry-idp157491744">~basic_descriptor</dt>
+<dd><dl><dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/_basic_descriptor.html">posix::basic_descriptor::~basic_descriptor</a>
</dt></dl></dd>
-<dt id="ientry-idp232966304">~basic_handle</dt>
-<dd><dl><dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle">windows::basic_handle::~basic_handle</a>
+<dt id="ientry-idp174939856">~basic_handle</dt>
+<dd><dl><dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/_basic_handle.html">windows::basic_handle::~basic_handle</a>
</dt></dl></dd>
-<dt id="ientry-idp159047824">~basic_io_object</dt>
-<dd><dl><dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object._basic_io_object">basic_io_object::~basic_io_object</a>
+<dt id="ientry-idp99938608">~basic_io_object</dt>
+<dd><dl><dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/_basic_io_object.html">basic_io_object::~basic_io_object</a>
</dt></dl></dd>
-<dt id="ientry-idp175837952">~basic_socket</dt>
-<dd><dl><dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket._basic_socket">basic_socket::~basic_socket</a>
+<dt id="ientry-idp116827040">~basic_socket</dt>
+<dd><dl><dt>basic_socket, <a class="indexterm" href="reference/basic_socket/_basic_socket.html">basic_socket::~basic_socket</a>
</dt></dl></dd>
-<dt id="ientry-idp183817824">~basic_socket_streambuf</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf._basic_socket_streambuf">basic_socket_streambuf::~basic_socket_streambuf</a>
+<dt id="ientry-idp124859968">~basic_socket_streambuf</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/_basic_socket_streambuf.html">basic_socket_streambuf::~basic_socket_streambuf</a>
</dt></dl></dd>
-<dt id="ientry-idp227796416">~context</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context._context">ssl::context::~context</a>
+<dt id="ientry-idp169693776">~context</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/_context.html">ssl::context::~context</a>
</dt></dl></dd>
-<dt id="ientry-idp228047312">~context_base</dt>
-<dd><dl><dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base._context_base">ssl::context_base::~context_base</a>
+<dt id="ientry-idp169955456">~context_base</dt>
+<dd><dl><dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/_context_base.html">ssl::context_base::~context_base</a>
</dt></dl></dd>
-<dt id="ientry-idp217818704">~descriptor_base</dt>
-<dd><dl><dt>posix::descriptor_base, <a class="indexterm" href="reference.html#boost_asio.reference.posix__descriptor_base._descriptor_base">posix::descriptor_base::~descriptor_base</a>
+<dt id="ientry-idp159281360">~descriptor_base</dt>
+<dd><dl><dt>posix::descriptor_base, <a class="indexterm" href="reference/posix__descriptor_base/_descriptor_base.html">posix::descriptor_base::~descriptor_base</a>
</dt></dl></dd>
-<dt id="ientry-idp204178432">~io_service</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service._io_service">io_service::~io_service</a>
+<dt id="ientry-idp145625744">~io_service</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/_io_service.html">io_service::~io_service</a>
</dt></dl></dd>
-<dt id="ientry-idp236733968">~overlapped_ptr</dt>
-<dd><dl><dt>windows::overlapped_ptr, <a class="indexterm" href="reference.html#boost_asio.reference.windows__overlapped_ptr._overlapped_ptr">windows::overlapped_ptr::~overlapped_ptr</a>
+<dt id="ientry-idp178469808">~overlapped_ptr</dt>
+<dd><dl><dt>windows::overlapped_ptr, <a class="indexterm" href="reference/windows__overlapped_ptr/_overlapped_ptr.html">windows::overlapped_ptr::~overlapped_ptr</a>
</dt></dl></dd>
-<dt id="ientry-idp210050016">~resolver_query_base</dt>
-<dd><dl><dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base._resolver_query_base">ip::resolver_query_base::~resolver_query_base</a>
+<dt id="ientry-idp151457936">~resolver_query_base</dt>
+<dd><dl><dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/_resolver_query_base.html">ip::resolver_query_base::~resolver_query_base</a>
</dt></dl></dd>
-<dt id="ientry-idp222837264">~serial_port_base</dt>
-<dd><dl><dt>serial_port_base, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base._serial_port_base">serial_port_base::~serial_port_base</a>
+<dt id="ientry-idp164341872">~serial_port_base</dt>
+<dd><dl><dt>serial_port_base, <a class="indexterm" href="reference/serial_port_base/_serial_port_base.html">serial_port_base::~serial_port_base</a>
</dt></dl></dd>
-<dt id="ientry-idp204326112">~service</dt>
-<dd><dl><dt>io_service::service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__service._service">io_service::service::~service</a>
+<dt id="ientry-idp145754176">~service</dt>
+<dd><dl><dt>io_service::service, <a class="indexterm" href="reference/io_service__service/_service.html">io_service::service::~service</a>
</dt></dl></dd>
-<dt id="ientry-idp225465952">~socket_base</dt>
-<dd><dl><dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base._socket_base">socket_base::~socket_base</a>
+<dt id="ientry-idp167271008">~socket_base</dt>
+<dd><dl><dt>socket_base, <a class="indexterm" href="reference/socket_base/_socket_base.html">socket_base::~socket_base</a>
</dt></dl></dd>
-<dt id="ientry-idp204636544">~strand</dt>
-<dd><dl><dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand._strand">io_service::strand::~strand</a>
+<dt id="ientry-idp146030992">~strand</dt>
+<dd><dl><dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/_strand.html">io_service::strand::~strand</a>
</dt></dl></dd>
-<dt id="ientry-idp229483024">~stream</dt>
-<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream._stream">ssl::stream::~stream</a>
+<dt id="ientry-idp171406432">~stream</dt>
+<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/_stream.html">ssl::stream::~stream</a>
</dt></dl></dd>
-<dt id="ientry-idp229564992">~stream_base</dt>
-<dd><dl><dt>ssl::stream_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream_base._stream_base">ssl::stream_base::~stream_base</a>
+<dt id="ientry-idp171489360">~stream_base</dt>
+<dd><dl><dt>ssl::stream_base, <a class="indexterm" href="reference/ssl__stream_base/_stream_base.html">ssl::stream_base::~stream_base</a>
</dt></dl></dd>
-<dt id="ientry-idp204741504">~work</dt>
-<dd><dl><dt>io_service::work, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__work._work">io_service::work::~work</a>
+<dt id="ientry-idp146120864">~work</dt>
+<dd><dl><dt>io_service::work, <a class="indexterm" href="reference/io_service__work/_work.html">io_service::work::~work</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>A</h3>
<dl>
-<dt id="ientry-idp725022704">abstract-target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target">Class abstract-target</a>
-</dt>
-<dt id="ientry-idp176130848">accept</dt>
+<dt id="ientry-idp117118960">accept</dt>
<dd><dl>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept">basic_socket_acceptor::accept</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/accept.html">basic_socket_acceptor::accept</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.accept">socket_acceptor_service::accept</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/accept.html">socket_acceptor_service::accept</a>
</dt>
</dl></dd>
-<dt id="ientry-idp210624112">acceptor</dt>
+<dt id="ientry-idp152036080">acceptor</dt>
<dd><dl>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.acceptor">ip::tcp::acceptor</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/acceptor.html">ip::tcp::acceptor</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor">local::stream_protocol::acceptor</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/acceptor.html">local::stream_protocol::acceptor</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199635760">access_denied</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141188704">access_denied</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp171075776">add, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.add">Class property-set</a>
-</dt>
+<dt id="ientry-idp112032288">add</dt>
<dd><dl>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.add">basic_signal_set::add</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/add.html">basic_signal_set::add</a>
</dt>
-<dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.add">Class property-set</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/add.html">signal_set_service::add</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.add">signal_set_service::add</a>
-</dt>
-<dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.add">time_traits&lt;
+<dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/add.html">time_traits&lt;
boost::posix_time::ptime &gt;::add</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725400672">add-raw, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.add-raw">Class property-set</a>
-</dt>
-<dd><dl><dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.add-raw">Class property-set</a>
-</dt></dl></dd>
-<dt id="ientry-idp523588352">additional parser, <a class="indexterm" href="../program_options/howto.html#idp523587104">Non-conventional Syntax</a>
-</dt>
-<dt id="ientry-idp204856624">address</dt>
+<dt id="ientry-idp146224496">address</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.address">ip::address::address</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/address.html">ip::address::address</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.address">ip::basic_endpoint::address</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/address.html">ip::basic_endpoint::address</a>
</dt>
</dl></dd>
-<dt id="ientry-idp208623712">address_configured</dt>
+<dt id="ientry-idp150022288">address_configured</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.address_configured">ip::basic_resolver_query::address_configured</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/address_configured.html">ip::basic_resolver_query::address_configured</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.address_configured">ip::resolver_query_base::address_configured</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/address_configured.html">ip::resolver_query_base::address_configured</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199636864">address_family_not_supported</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141189808">address_family_not_supported</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199637984">address_in_use</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141190928">address_in_use</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp205454432">address_v4</dt>
-<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.address_v4">ip::address_v4::address_v4</a>
+<dt id="ientry-idp146826912">address_v4</dt>
+<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/address_v4.html">ip::address_v4::address_v4</a>
</dt></dl></dd>
-<dt id="ientry-idp206091632">address_v6</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.address_v6">ip::address_v6::address_v6</a>
+<dt id="ientry-idp147469824">address_v6</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/address_v6.html">ip::address_v6::address_v6</a>
</dt></dl></dd>
-<dt id="ientry-idp225896384">add_certificate_authority</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority">ssl::context::add_certificate_authority</a>
+<dt id="ientry-idp167757136">add_certificate_authority</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/add_certificate_authority.html">ssl::context::add_certificate_authority</a>
</dt></dl></dd>
-<dt id="ientry-idp148708944">add_service, <a class="indexterm" href="reference.html#boost_asio.reference.add_service">add_service</a>
+<dt id="ientry-idp89369184">add_service, <a class="indexterm" href="reference/add_service.html">add_service</a>
</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.add_service">io_service::add_service</a>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/add_service.html">io_service::add_service</a>
</dt></dl></dd>
-<dt id="ientry-idp225969808">add_verify_path</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.add_verify_path">ssl::context::add_verify_path</a>
+<dt id="ientry-idp167835760">add_verify_path</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/add_verify_path.html">ssl::context::add_verify_path</a>
</dt></dl></dd>
-<dt id="ientry-idp724944048">all-bases, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.all-bases">type</a>
-</dt>
-<dt id="ientry-idp724949536">all-derived, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.all-derived">type</a>
-</dt>
-<dt id="ientry-idp724675056">all-parents, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.all-parents">path</a>
-</dt>
-<dt id="ientry-idp231703264">allocator_type</dt>
-<dd><dl><dt>use_future_t, <a class="indexterm" href="reference.html#boost_asio.reference.use_future_t.allocator_type">use_future_t::allocator_type</a>
+<dt id="ientry-idp173658224">allocator_type</dt>
+<dd><dl><dt>use_future_t, <a class="indexterm" href="reference/use_future_t/allocator_type.html">use_future_t::allocator_type</a>
</dt></dl></dd>
-<dt id="ientry-idp208633312">all_matching</dt>
+<dt id="ientry-idp150032176">all_matching</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.all_matching">ip::basic_resolver_query::all_matching</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/all_matching.html">ip::basic_resolver_query::all_matching</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.all_matching">ip::resolver_query_base::all_matching</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/all_matching.html">ip::resolver_query_base::all_matching</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199639088">already_connected</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141192032">already_connected</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199925376">already_open</dt>
-<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__misc_errors">error::misc_errors</a>
+<dt id="ientry-idp141481360">already_open</dt>
+<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference/error__misc_errors.html">error::misc_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199640192">already_started</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141193136">already_started</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp723813712">always building a metatarget, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.rules">Builtin rules</a>
-</dt>
-<dt id="ientry-idp205508480">any</dt>
+<dt id="ientry-idp146882304">any</dt>
<dd><dl>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.any">ip::address_v4::any</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/any.html">ip::address_v4::any</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.any">ip::address_v6::any</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/any.html">ip::address_v6::any</a>
</dt>
</dl></dd>
-<dt id="ientry-idp148759744">asio_handler_allocate, <a class="indexterm" href="reference.html#boost_asio.reference.asio_handler_allocate">asio_handler_allocate</a>
+<dt id="ientry-idp89421280">asio_handler_allocate, <a class="indexterm" href="reference/asio_handler_allocate.html">asio_handler_allocate</a>
</dt>
-<dt id="ientry-idp148817200">asio_handler_deallocate, <a class="indexterm" href="reference.html#boost_asio.reference.asio_handler_deallocate">asio_handler_deallocate</a>
+<dt id="ientry-idp89479504">asio_handler_deallocate, <a class="indexterm" href="reference/asio_handler_deallocate.html">asio_handler_deallocate</a>
</dt>
-<dt id="ientry-idp148839904">asio_handler_invoke, <a class="indexterm" href="reference.html#boost_asio.reference.asio_handler_invoke">asio_handler_invoke</a>
+<dt id="ientry-idp89502624">asio_handler_invoke, <a class="indexterm" href="reference/asio_handler_invoke.html">asio_handler_invoke</a>
</dt>
-<dt id="ientry-idp148928144">asio_handler_is_continuation, <a class="indexterm" href="reference.html#boost_asio.reference.asio_handler_is_continuation">asio_handler_is_continuation</a>
+<dt id="ientry-idp89592256">asio_handler_is_continuation, <a class="indexterm" href="reference/asio_handler_is_continuation.html">asio_handler_is_continuation</a>
</dt>
-<dt id="ientry-idp226196320">asn1</dt>
+<dt id="ientry-idp168067072">asn1</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.file_format">ssl::context::file_format</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/file_format.html">ssl::context::file_format</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.file_format">ssl::context_base::file_format</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/file_format.html">ssl::context_base::file_format</a>
</dt>
</dl></dd>
-<dt id="ientry-idp152548480">assign</dt>
+<dt id="ientry-idp93244224">assign</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.assign">basic_datagram_socket::assign</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/assign.html">basic_datagram_socket::assign</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.assign">basic_raw_socket::assign</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/assign.html">basic_raw_socket::assign</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign">basic_seq_packet_socket::assign</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/assign.html">basic_seq_packet_socket::assign</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.assign">basic_serial_port::assign</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/assign.html">basic_serial_port::assign</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.assign">basic_socket::assign</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/assign.html">basic_socket::assign</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign">basic_socket_acceptor::assign</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/assign.html">basic_socket_acceptor::assign</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign">basic_socket_streambuf::assign</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/assign.html">basic_socket_streambuf::assign</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.assign">basic_stream_socket::assign</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/assign.html">basic_stream_socket::assign</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.assign">datagram_socket_service::assign</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/assign.html">datagram_socket_service::assign</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign">posix::basic_descriptor::assign</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/assign.html">posix::basic_descriptor::assign</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign">posix::basic_stream_descriptor::assign</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/assign.html">posix::basic_stream_descriptor::assign</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.assign">posix::stream_descriptor_service::assign</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/assign.html">posix::stream_descriptor_service::assign</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.assign">raw_socket_service::assign</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/assign.html">raw_socket_service::assign</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.assign">seq_packet_socket_service::assign</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/assign.html">seq_packet_socket_service::assign</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.assign">serial_port_service::assign</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/assign.html">serial_port_service::assign</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.assign">socket_acceptor_service::assign</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/assign.html">socket_acceptor_service::assign</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.assign">stream_socket_service::assign</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/assign.html">stream_socket_service::assign</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.assign">windows::basic_handle::assign</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/assign.html">windows::basic_handle::assign</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign">windows::basic_object_handle::assign</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/assign.html">windows::basic_object_handle::assign</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign">windows::basic_random_access_handle::assign</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/assign.html">windows::basic_random_access_handle::assign</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign">windows::basic_stream_handle::assign</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/assign.html">windows::basic_stream_handle::assign</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.assign">windows::object_handle_service::assign</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/assign.html">windows::object_handle_service::assign</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.assign">windows::random_access_handle_service::assign</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/assign.html">windows::random_access_handle_service::assign</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.assign">windows::stream_handle_service::assign</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/assign.html">windows::stream_handle_service::assign</a>
</dt>
</dl></dd>
-<dt id="ientry-idp176552176">async_accept</dt>
+<dt id="ientry-idp117541520">async_accept</dt>
<dd><dl>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept">basic_socket_acceptor::async_accept</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/async_accept.html">basic_socket_acceptor::async_accept</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.async_accept">socket_acceptor_service::async_accept</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/async_accept.html">socket_acceptor_service::async_accept</a>
</dt>
</dl></dd>
-<dt id="ientry-idp148956192">async_connect, <a class="indexterm" href="reference.html#boost_asio.reference.async_connect">async_connect</a>
+<dt id="ientry-idp89620752">async_connect, <a class="indexterm" href="reference/async_connect.html">async_connect</a>
</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect">basic_datagram_socket::async_connect</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/async_connect.html">basic_datagram_socket::async_connect</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect">basic_raw_socket::async_connect</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/async_connect.html">basic_raw_socket::async_connect</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect">basic_seq_packet_socket::async_connect</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/async_connect.html">basic_seq_packet_socket::async_connect</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.async_connect">basic_socket::async_connect</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/async_connect.html">basic_socket::async_connect</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.async_connect">basic_socket_streambuf::async_connect</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/async_connect.html">basic_socket_streambuf::async_connect</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect">basic_stream_socket::async_connect</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/async_connect.html">basic_stream_socket::async_connect</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.async_connect">datagram_socket_service::async_connect</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/async_connect.html">datagram_socket_service::async_connect</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.async_connect">raw_socket_service::async_connect</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/async_connect.html">raw_socket_service::async_connect</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_connect">seq_packet_socket_service::async_connect</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/async_connect.html">seq_packet_socket_service::async_connect</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.async_connect">stream_socket_service::async_connect</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/async_connect.html">stream_socket_service::async_connect</a>
</dt>
</dl></dd>
-<dt id="ientry-idp193987536">async_fill</dt>
+<dt id="ientry-idp135463808">async_fill</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.async_fill">buffered_read_stream::async_fill</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/async_fill.html">buffered_read_stream::async_fill</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.async_fill">buffered_stream::async_fill</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/async_fill.html">buffered_stream::async_fill</a>
</dt>
</dl></dd>
-<dt id="ientry-idp194562976">async_flush</dt>
+<dt id="ientry-idp136046240">async_flush</dt>
<dd><dl>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.async_flush">buffered_stream::async_flush</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/async_flush.html">buffered_stream::async_flush</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.async_flush">buffered_write_stream::async_flush</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/async_flush.html">buffered_write_stream::async_flush</a>
</dt>
</dl></dd>
-<dt id="ientry-idp228420576">async_handshake</dt>
-<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.async_handshake">ssl::stream::async_handshake</a>
+<dt id="ientry-idp170331712">async_handshake</dt>
+<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/async_handshake.html">ssl::stream::async_handshake</a>
</dt></dl></dd>
-<dt id="ientry-idp149717968">async_read, <a class="indexterm" href="reference.html#boost_asio.reference.async_read">async_read</a>
+<dt id="ientry-idp90388144">async_read, <a class="indexterm" href="reference/async_read.html">async_read</a>
</dt>
-<dt id="ientry-idp150140016">async_read_at, <a class="indexterm" href="reference.html#boost_asio.reference.async_read_at">async_read_at</a>
+<dt id="ientry-idp90813920">async_read_at, <a class="indexterm" href="reference/async_read_at.html">async_read_at</a>
</dt>
-<dt id="ientry-idp169619760">async_read_some</dt>
+<dt id="ientry-idp110562752">async_read_some</dt>
<dd><dl>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some">basic_serial_port::async_read_some</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/async_read_some.html">basic_serial_port::async_read_some</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some">basic_stream_socket::async_read_some</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/async_read_some.html">basic_stream_socket::async_read_some</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.async_read_some">buffered_read_stream::async_read_some</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/async_read_some.html">buffered_read_stream::async_read_some</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.async_read_some">buffered_stream::async_read_some</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/async_read_some.html">buffered_stream::async_read_some</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.async_read_some">buffered_write_stream::async_read_some</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/async_read_some.html">buffered_write_stream::async_read_some</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some">posix::basic_stream_descriptor::async_read_some</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/async_read_some.html">posix::basic_stream_descriptor::async_read_some</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_read_some">posix::stream_descriptor_service::async_read_some</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/async_read_some.html">posix::stream_descriptor_service::async_read_some</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.async_read_some">serial_port_service::async_read_some</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/async_read_some.html">serial_port_service::async_read_some</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.async_read_some">ssl::stream::async_read_some</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/async_read_some.html">ssl::stream::async_read_some</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some">windows::basic_stream_handle::async_read_some</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/async_read_some.html">windows::basic_stream_handle::async_read_some</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.async_read_some">windows::stream_handle_service::async_read_some</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/async_read_some.html">windows::stream_handle_service::async_read_some</a>
</dt>
</dl></dd>
-<dt id="ientry-idp234007040">async_read_some_at</dt>
+<dt id="ientry-idp175876352">async_read_some_at</dt>
<dd><dl>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at">windows::basic_random_access_handle::async_read_some_at</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/async_read_some_at.html">windows::basic_random_access_handle::async_read_some_at</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_read_some_at">windows::random_access_handle_service::async_read_some_at</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/async_read_some_at.html">windows::random_access_handle_service::async_read_some_at</a>
</dt>
</dl></dd>
-<dt id="ientry-idp150580304">async_read_until, <a class="indexterm" href="reference.html#boost_asio.reference.async_read_until">async_read_until</a>
+<dt id="ientry-idp91257840">async_read_until, <a class="indexterm" href="reference/async_read_until.html">async_read_until</a>
</dt>
-<dt id="ientry-idp152691184">async_receive</dt>
+<dt id="ientry-idp93388112">async_receive</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive">basic_datagram_socket::async_receive</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/async_receive.html">basic_datagram_socket::async_receive</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive">basic_raw_socket::async_receive</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/async_receive.html">basic_raw_socket::async_receive</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive">basic_seq_packet_socket::async_receive</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/async_receive.html">basic_seq_packet_socket::async_receive</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive">basic_stream_socket::async_receive</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/async_receive.html">basic_stream_socket::async_receive</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.async_receive">datagram_socket_service::async_receive</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/async_receive.html">datagram_socket_service::async_receive</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.async_receive">raw_socket_service::async_receive</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/async_receive.html">raw_socket_service::async_receive</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_receive">seq_packet_socket_service::async_receive</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/async_receive.html">seq_packet_socket_service::async_receive</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.async_receive">stream_socket_service::async_receive</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/async_receive.html">stream_socket_service::async_receive</a>
</dt>
</dl></dd>
-<dt id="ientry-idp152838528">async_receive_from</dt>
+<dt id="ientry-idp93536608">async_receive_from</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from">basic_datagram_socket::async_receive_from</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/async_receive_from.html">basic_datagram_socket::async_receive_from</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from">basic_raw_socket::async_receive_from</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/async_receive_from.html">basic_raw_socket::async_receive_from</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.async_receive_from">datagram_socket_service::async_receive_from</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/async_receive_from.html">datagram_socket_service::async_receive_from</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.async_receive_from">raw_socket_service::async_receive_from</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/async_receive_from.html">raw_socket_service::async_receive_from</a>
</dt>
</dl></dd>
-<dt id="ientry-idp207276496">async_resolve</dt>
+<dt id="ientry-idp148664944">async_resolve</dt>
<dd><dl>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve">ip::basic_resolver::async_resolve</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/async_resolve.html">ip::basic_resolver::async_resolve</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve">ip::resolver_service::async_resolve</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/async_resolve.html">ip::resolver_service::async_resolve</a>
</dt>
</dl></dd>
-<dt id="ientry-idp151422496">async_result</dt>
-<dd><dl><dt>async_result, <a class="indexterm" href="reference.html#boost_asio.reference.async_result.async_result">async_result::async_result</a>
+<dt id="ientry-idp92109008">async_result</dt>
+<dd><dl><dt>async_result, <a class="indexterm" href="reference/async_result/async_result.html">async_result::async_result</a>
</dt></dl></dd>
-<dt id="ientry-idp152993904">async_send</dt>
+<dt id="ientry-idp93693168">async_send</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send">basic_datagram_socket::async_send</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/async_send.html">basic_datagram_socket::async_send</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.async_send">basic_raw_socket::async_send</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/async_send.html">basic_raw_socket::async_send</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send">basic_seq_packet_socket::async_send</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/async_send.html">basic_seq_packet_socket::async_send</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.async_send">basic_stream_socket::async_send</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/async_send.html">basic_stream_socket::async_send</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.async_send">datagram_socket_service::async_send</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/async_send.html">datagram_socket_service::async_send</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.async_send">raw_socket_service::async_send</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/async_send.html">raw_socket_service::async_send</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_send">seq_packet_socket_service::async_send</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/async_send.html">seq_packet_socket_service::async_send</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.async_send">stream_socket_service::async_send</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/async_send.html">stream_socket_service::async_send</a>
</dt>
</dl></dd>
-<dt id="ientry-idp153140400">async_send_to</dt>
+<dt id="ientry-idp93841344">async_send_to</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to">basic_datagram_socket::async_send_to</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/async_send_to.html">basic_datagram_socket::async_send_to</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to">basic_raw_socket::async_send_to</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/async_send_to.html">basic_raw_socket::async_send_to</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.async_send_to">datagram_socket_service::async_send_to</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/async_send_to.html">datagram_socket_service::async_send_to</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.async_send_to">raw_socket_service::async_send_to</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/async_send_to.html">raw_socket_service::async_send_to</a>
</dt>
</dl></dd>
-<dt id="ientry-idp228562160">async_shutdown</dt>
-<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.async_shutdown">ssl::stream::async_shutdown</a>
+<dt id="ientry-idp170474208">async_shutdown</dt>
+<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/async_shutdown.html">ssl::stream::async_shutdown</a>
</dt></dl></dd>
-<dt id="ientry-idp158054800">async_wait</dt>
+<dt id="ientry-idp98851504">async_wait</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait">basic_deadline_timer::async_wait</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/async_wait.html">basic_deadline_timer::async_wait</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.async_wait">basic_signal_set::async_wait</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/async_wait.html">basic_signal_set::async_wait</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait">basic_waitable_timer::async_wait</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/async_wait.html">basic_waitable_timer::async_wait</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.async_wait">deadline_timer_service::async_wait</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/async_wait.html">deadline_timer_service::async_wait</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.async_wait">signal_set_service::async_wait</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/async_wait.html">signal_set_service::async_wait</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.async_wait">waitable_timer_service::async_wait</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/async_wait.html">waitable_timer_service::async_wait</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.async_wait">windows::basic_object_handle::async_wait</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/async_wait.html">windows::basic_object_handle::async_wait</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.async_wait">windows::object_handle_service::async_wait</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/async_wait.html">windows::object_handle_service::async_wait</a>
</dt>
</dl></dd>
-<dt id="ientry-idp151449856">async_write, <a class="indexterm" href="reference.html#boost_asio.reference.async_write">async_write</a>
+<dt id="ientry-idp92136928">async_write, <a class="indexterm" href="reference/async_write.html">async_write</a>
</dt>
-<dt id="ientry-idp151844896">async_write_at, <a class="indexterm" href="reference.html#boost_asio.reference.async_write_at">async_write_at</a>
+<dt id="ientry-idp92536096">async_write_at, <a class="indexterm" href="reference/async_write_at.html">async_write_at</a>
</dt>
-<dt id="ientry-idp169684064">async_write_some</dt>
+<dt id="ientry-idp110627952">async_write_some</dt>
<dd><dl>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some">basic_serial_port::async_write_some</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/async_write_some.html">basic_serial_port::async_write_some</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some">basic_stream_socket::async_write_some</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/async_write_some.html">basic_stream_socket::async_write_some</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.async_write_some">buffered_read_stream::async_write_some</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/async_write_some.html">buffered_read_stream::async_write_some</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.async_write_some">buffered_stream::async_write_some</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/async_write_some.html">buffered_stream::async_write_some</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.async_write_some">buffered_write_stream::async_write_some</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/async_write_some.html">buffered_write_stream::async_write_some</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some">posix::basic_stream_descriptor::async_write_some</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/async_write_some.html">posix::basic_stream_descriptor::async_write_some</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_write_some">posix::stream_descriptor_service::async_write_some</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/async_write_some.html">posix::stream_descriptor_service::async_write_some</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.async_write_some">serial_port_service::async_write_some</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/async_write_some.html">serial_port_service::async_write_some</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.async_write_some">ssl::stream::async_write_some</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/async_write_some.html">ssl::stream::async_write_some</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some">windows::basic_stream_handle::async_write_some</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/async_write_some.html">windows::basic_stream_handle::async_write_some</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.async_write_some">windows::stream_handle_service::async_write_some</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/async_write_some.html">windows::stream_handle_service::async_write_some</a>
</dt>
</dl></dd>
-<dt id="ientry-idp234076128">async_write_some_at</dt>
+<dt id="ientry-idp175938688">async_write_some_at</dt>
<dd><dl>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at">windows::basic_random_access_handle::async_write_some_at</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/async_write_some_at.html">windows::basic_random_access_handle::async_write_some_at</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_write_some_at">windows::random_access_handle_service::async_write_some_at</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/async_write_some_at.html">windows::random_access_handle_service::async_write_some_at</a>
</dt>
</dl></dd>
-<dt id="ientry-idp153312224">at_mark</dt>
+<dt id="ientry-idp94014752">at_mark</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark">basic_datagram_socket::at_mark</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/at_mark.html">basic_datagram_socket::at_mark</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark">basic_raw_socket::at_mark</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/at_mark.html">basic_raw_socket::at_mark</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark">basic_seq_packet_socket::at_mark</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/at_mark.html">basic_seq_packet_socket::at_mark</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.at_mark">basic_socket::at_mark</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/at_mark.html">basic_socket::at_mark</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark">basic_socket_streambuf::at_mark</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/at_mark.html">basic_socket_streambuf::at_mark</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark">basic_stream_socket::at_mark</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/at_mark.html">basic_stream_socket::at_mark</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.at_mark">datagram_socket_service::at_mark</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/at_mark.html">datagram_socket_service::at_mark</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.at_mark">raw_socket_service::at_mark</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/at_mark.html">raw_socket_service::at_mark</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.at_mark">seq_packet_socket_service::at_mark</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/at_mark.html">seq_packet_socket_service::at_mark</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.at_mark">stream_socket_service::at_mark</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/at_mark.html">stream_socket_service::at_mark</a>
</dt>
</dl></dd>
-<dt id="ientry-idp153367008">available</dt>
+<dt id="ientry-idp94070384">available</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.available">basic_datagram_socket::available</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/available.html">basic_datagram_socket::available</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.available">basic_raw_socket::available</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/available.html">basic_raw_socket::available</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available">basic_seq_packet_socket::available</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/available.html">basic_seq_packet_socket::available</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.available">basic_socket::available</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/available.html">basic_socket::available</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.available">basic_socket_streambuf::available</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/available.html">basic_socket_streambuf::available</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.available">basic_stream_socket::available</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/available.html">basic_stream_socket::available</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.available">datagram_socket_service::available</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/available.html">datagram_socket_service::available</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.available">raw_socket_service::available</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/available.html">raw_socket_service::available</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.available">seq_packet_socket_service::available</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/available.html">seq_packet_socket_service::available</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.available">stream_socket_service::available</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/available.html">stream_socket_service::available</a>
</dt>
</dl></dd>
</dl>
@@ -540,231 +509,212 @@
<div class="indexdiv">
<h3>B</h3>
<dl>
-<dt id="ientry-idp199645712">bad_descriptor</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141198656">bad_descriptor</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp724938560">base, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.base">type</a>
-</dt>
-<dt id="ientry-idp724609664">basename, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.basename">path</a>
-</dt>
-<dt id="ientry-idp725204272">basic-target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.basic-target">Class basic-target</a>
-</dt>
-<dt id="ientry-idp153426432">basic_datagram_socket</dt>
-<dd><dl><dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket">basic_datagram_socket::basic_datagram_socket</a>
+<dt id="ientry-idp94130320">basic_datagram_socket</dt>
+<dd><dl><dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/basic_datagram_socket.html">basic_datagram_socket::basic_datagram_socket</a>
</dt></dl></dd>
-<dt id="ientry-idp158094720">basic_deadline_timer</dt>
-<dd><dl><dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer">basic_deadline_timer::basic_deadline_timer</a>
+<dt id="ientry-idp98892048">basic_deadline_timer</dt>
+<dd><dl><dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/basic_deadline_timer.html">basic_deadline_timer::basic_deadline_timer</a>
</dt></dl></dd>
-<dt id="ientry-idp214983696">basic_descriptor</dt>
-<dd><dl><dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor">posix::basic_descriptor::basic_descriptor</a>
+<dt id="ientry-idp156411760">basic_descriptor</dt>
+<dd><dl><dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/basic_descriptor.html">posix::basic_descriptor::basic_descriptor</a>
</dt></dl></dd>
-<dt id="ientry-idp200143392">basic_endpoint</dt>
+<dt id="ientry-idp141701664">basic_endpoint</dt>
<dd><dl>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint">generic::basic_endpoint::basic_endpoint</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/basic_endpoint.html">generic::basic_endpoint::basic_endpoint</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint">ip::basic_endpoint::basic_endpoint</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/basic_endpoint.html">ip::basic_endpoint::basic_endpoint</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint">local::basic_endpoint::basic_endpoint</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/basic_endpoint.html">local::basic_endpoint::basic_endpoint</a>
</dt>
</dl></dd>
-<dt id="ientry-idp232382832">basic_handle</dt>
-<dd><dl><dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle">windows::basic_handle::basic_handle</a>
+<dt id="ientry-idp174346624">basic_handle</dt>
+<dd><dl><dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/basic_handle.html">windows::basic_handle::basic_handle</a>
</dt></dl></dd>
-<dt id="ientry-idp158852800">basic_io_object</dt>
-<dd><dl><dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object">basic_io_object::basic_io_object</a>
+<dt id="ientry-idp99707504">basic_io_object</dt>
+<dd><dl><dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/basic_io_object.html">basic_io_object::basic_io_object</a>
</dt></dl></dd>
-<dt id="ientry-idp233182592">basic_object_handle</dt>
-<dd><dl><dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle">windows::basic_object_handle::basic_object_handle</a>
+<dt id="ientry-idp175158208">basic_object_handle</dt>
+<dd><dl><dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/basic_object_handle.html">windows::basic_object_handle::basic_object_handle</a>
</dt></dl></dd>
-<dt id="ientry-idp234145312">basic_random_access_handle</dt>
-<dd><dl><dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle">windows::basic_random_access_handle::basic_random_access_handle</a>
+<dt id="ientry-idp176001008">basic_random_access_handle</dt>
+<dd><dl><dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/basic_random_access_handle.html">windows::basic_random_access_handle::basic_random_access_handle</a>
</dt></dl></dd>
-<dt id="ientry-idp160221328">basic_raw_socket</dt>
-<dd><dl><dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket">basic_raw_socket::basic_raw_socket</a>
+<dt id="ientry-idp101114640">basic_raw_socket</dt>
+<dd><dl><dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/basic_raw_socket.html">basic_raw_socket::basic_raw_socket</a>
</dt></dl></dd>
-<dt id="ientry-idp207394192">basic_resolver</dt>
-<dd><dl><dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver">ip::basic_resolver::basic_resolver</a>
+<dt id="ientry-idp148783536">basic_resolver</dt>
+<dd><dl><dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/basic_resolver.html">ip::basic_resolver::basic_resolver</a>
</dt></dl></dd>
-<dt id="ientry-idp207964608">basic_resolver_entry</dt>
-<dd><dl><dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry">ip::basic_resolver_entry::basic_resolver_entry</a>
+<dt id="ientry-idp149357824">basic_resolver_entry</dt>
+<dd><dl><dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/basic_resolver_entry.html">ip::basic_resolver_entry::basic_resolver_entry</a>
</dt></dl></dd>
-<dt id="ientry-idp208151856">basic_resolver_iterator</dt>
-<dd><dl><dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator">ip::basic_resolver_iterator::basic_resolver_iterator</a>
+<dt id="ientry-idp149546816">basic_resolver_iterator</dt>
+<dd><dl><dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/basic_resolver_iterator.html">ip::basic_resolver_iterator::basic_resolver_iterator</a>
</dt></dl></dd>
-<dt id="ientry-idp208641984">basic_resolver_query</dt>
-<dd><dl><dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query">ip::basic_resolver_query::basic_resolver_query</a>
+<dt id="ientry-idp150040992">basic_resolver_query</dt>
+<dd><dl><dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/basic_resolver_query.html">ip::basic_resolver_query::basic_resolver_query</a>
</dt></dl></dd>
-<dt id="ientry-idp165384432">basic_seq_packet_socket</dt>
-<dd><dl><dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket">basic_seq_packet_socket::basic_seq_packet_socket</a>
+<dt id="ientry-idp106301376">basic_seq_packet_socket</dt>
+<dd><dl><dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/basic_seq_packet_socket.html">basic_seq_packet_socket::basic_seq_packet_socket</a>
</dt></dl></dd>
-<dt id="ientry-idp169748160">basic_serial_port</dt>
-<dd><dl><dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port">basic_serial_port::basic_serial_port</a>
+<dt id="ientry-idp110692768">basic_serial_port</dt>
+<dd><dl><dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/basic_serial_port.html">basic_serial_port::basic_serial_port</a>
</dt></dl></dd>
-<dt id="ientry-idp171178112">basic_signal_set</dt>
-<dd><dl><dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set">basic_signal_set::basic_signal_set</a>
+<dt id="ientry-idp112135552">basic_signal_set</dt>
+<dd><dl><dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/basic_signal_set.html">basic_signal_set::basic_signal_set</a>
</dt></dl></dd>
-<dt id="ientry-idp172177584">basic_socket</dt>
-<dd><dl><dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.basic_socket">basic_socket::basic_socket</a>
+<dt id="ientry-idp113140592">basic_socket</dt>
+<dd><dl><dt>basic_socket, <a class="indexterm" href="reference/basic_socket/basic_socket.html">basic_socket::basic_socket</a>
</dt></dl></dd>
-<dt id="ientry-idp176738048">basic_socket_acceptor</dt>
-<dd><dl><dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor">basic_socket_acceptor::basic_socket_acceptor</a>
+<dt id="ientry-idp117728208">basic_socket_acceptor</dt>
+<dd><dl><dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/basic_socket_acceptor.html">basic_socket_acceptor::basic_socket_acceptor</a>
</dt></dl></dd>
-<dt id="ientry-idp179435424">basic_socket_iostream</dt>
-<dd><dl><dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream">basic_socket_iostream::basic_socket_iostream</a>
+<dt id="ientry-idp120448720">basic_socket_iostream</dt>
+<dd><dl><dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/basic_socket_iostream.html">basic_socket_iostream::basic_socket_iostream</a>
</dt></dl></dd>
-<dt id="ientry-idp180261040">basic_socket_streambuf</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.basic_socket_streambuf">basic_socket_streambuf::basic_socket_streambuf</a>
+<dt id="ientry-idp121277264">basic_socket_streambuf</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/basic_socket_streambuf.html">basic_socket_streambuf::basic_socket_streambuf</a>
</dt></dl></dd>
-<dt id="ientry-idp189298704">basic_streambuf</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.basic_streambuf">basic_streambuf::basic_streambuf</a>
+<dt id="ientry-idp130385808">basic_streambuf</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/basic_streambuf.html">basic_streambuf::basic_streambuf</a>
</dt></dl></dd>
-<dt id="ientry-idp216392976">basic_stream_descriptor</dt>
-<dd><dl><dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor">posix::basic_stream_descriptor::basic_stream_descriptor</a>
+<dt id="ientry-idp157837840">basic_stream_descriptor</dt>
+<dd><dl><dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/basic_stream_descriptor.html">posix::basic_stream_descriptor::basic_stream_descriptor</a>
</dt></dl></dd>
-<dt id="ientry-idp235317248">basic_stream_handle</dt>
-<dd><dl><dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle">windows::basic_stream_handle::basic_stream_handle</a>
+<dt id="ientry-idp177055008">basic_stream_handle</dt>
+<dd><dl><dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/basic_stream_handle.html">windows::basic_stream_handle::basic_stream_handle</a>
</dt></dl></dd>
-<dt id="ientry-idp184833952">basic_stream_socket</dt>
-<dd><dl><dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket">basic_stream_socket::basic_stream_socket</a>
+<dt id="ientry-idp125883632">basic_stream_socket</dt>
+<dd><dl><dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/basic_stream_socket.html">basic_stream_socket::basic_stream_socket</a>
</dt></dl></dd>
-<dt id="ientry-idp189806016">basic_waitable_timer</dt>
-<dd><dl><dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer">basic_waitable_timer::basic_waitable_timer</a>
+<dt id="ientry-idp130899328">basic_waitable_timer</dt>
+<dd><dl><dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/basic_waitable_timer.html">basic_waitable_timer::basic_waitable_timer</a>
</dt></dl></dd>
-<dt id="ientry-idp190564096">basic_yield_context</dt>
-<dd><dl><dt>basic_yield_context, <a class="indexterm" href="reference.html#boost_asio.reference.basic_yield_context.basic_yield_context">basic_yield_context::basic_yield_context</a>
+<dt id="ientry-idp131665760">basic_yield_context</dt>
+<dd><dl><dt>basic_yield_context, <a class="indexterm" href="reference/basic_yield_context/basic_yield_context.html">basic_yield_context::basic_yield_context</a>
</dt></dl></dd>
-<dt id="ientry-idp222872032">baud_rate</dt>
-<dd><dl><dt>serial_port_base::baud_rate, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.baud_rate">serial_port_base::baud_rate::baud_rate</a>
+<dt id="ientry-idp164377056">baud_rate</dt>
+<dd><dl><dt>serial_port_base::baud_rate, <a class="indexterm" href="reference/serial_port_base__baud_rate/baud_rate.html">serial_port_base::baud_rate::baud_rate</a>
</dt></dl></dd>
-<dt id="ientry-idp195781760">begin</dt>
+<dt id="ientry-idp137280496">begin</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.begin">buffers_iterator::begin</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/begin.html">buffers_iterator::begin</a>
</dt>
-<dt>const_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffers_1.begin">const_buffers_1::begin</a>
+<dt>const_buffers_1, <a class="indexterm" href="reference/const_buffers_1/begin.html">const_buffers_1::begin</a>
</dt>
-<dt>mutable_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffers_1.begin">mutable_buffers_1::begin</a>
+<dt>mutable_buffers_1, <a class="indexterm" href="reference/mutable_buffers_1/begin.html">mutable_buffers_1::begin</a>
</dt>
-<dt>null_buffers, <a class="indexterm" href="reference.html#boost_asio.reference.null_buffers.begin">null_buffers::begin</a>
+<dt>null_buffers, <a class="indexterm" href="reference/null_buffers/begin.html">null_buffers::begin</a>
</dt>
</dl></dd>
-<dt id="ientry-idp153694528">bind</dt>
+<dt id="ientry-idp94403488">bind</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.bind">basic_datagram_socket::bind</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/bind.html">basic_datagram_socket::bind</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.bind">basic_raw_socket::bind</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/bind.html">basic_raw_socket::bind</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind">basic_seq_packet_socket::bind</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/bind.html">basic_seq_packet_socket::bind</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.bind">basic_socket::bind</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/bind.html">basic_socket::bind</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind">basic_socket_acceptor::bind</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/bind.html">basic_socket_acceptor::bind</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind">basic_socket_streambuf::bind</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/bind.html">basic_socket_streambuf::bind</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.bind">basic_stream_socket::bind</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/bind.html">basic_stream_socket::bind</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.bind">datagram_socket_service::bind</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/bind.html">datagram_socket_service::bind</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.bind">raw_socket_service::bind</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/bind.html">raw_socket_service::bind</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.bind">seq_packet_socket_service::bind</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/bind.html">seq_packet_socket_service::bind</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.bind">socket_acceptor_service::bind</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/bind.html">socket_acceptor_service::bind</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.bind">stream_socket_service::bind</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/bind.html">stream_socket_service::bind</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724483648">binding, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.binding">modules</a>
-</dt>
-<dt id="ientry-idp724397728">boostbook</dt>
+<dt id="ientry-idp94547824">broadcast</dt>
<dd><dl>
-<dt>module, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt>rule, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/broadcast.html">basic_datagram_socket::broadcast</a>
</dt>
-</dl></dd>
-<dt id="ientry-idp153837536">broadcast</dt>
-<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast">basic_datagram_socket::broadcast</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/broadcast.html">basic_raw_socket::broadcast</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast">basic_raw_socket::broadcast</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/broadcast.html">basic_seq_packet_socket::broadcast</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast">basic_seq_packet_socket::broadcast</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/broadcast.html">basic_socket::broadcast</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.broadcast">basic_socket::broadcast</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/broadcast.html">basic_socket_acceptor::broadcast</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast">basic_socket_acceptor::broadcast</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/broadcast.html">basic_socket_streambuf::broadcast</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.broadcast">basic_socket_streambuf::broadcast</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/broadcast.html">basic_stream_socket::broadcast</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast">basic_stream_socket::broadcast</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/broadcast.html">ip::address_v4::broadcast</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.broadcast">ip::address_v4::broadcast</a>
-</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.broadcast">socket_base::broadcast</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/broadcast.html">socket_base::broadcast</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199641296">broken_pipe</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141194240">broken_pipe</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp190659376">buffer, <a class="indexterm" href="reference.html#boost_asio.reference.buffer">buffer</a>
+<dt id="ientry-idp131762432">buffer, <a class="indexterm" href="reference/buffer.html">buffer</a>
</dt>
-<dt id="ientry-idp194032976">buffered_read_stream</dt>
-<dd><dl><dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream">buffered_read_stream::buffered_read_stream</a>
+<dt id="ientry-idp135509776">buffered_read_stream</dt>
+<dd><dl><dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/buffered_read_stream.html">buffered_read_stream::buffered_read_stream</a>
</dt></dl></dd>
-<dt id="ientry-idp194608096">buffered_stream</dt>
-<dd><dl><dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream">buffered_stream::buffered_stream</a>
+<dt id="ientry-idp136091984">buffered_stream</dt>
+<dd><dl><dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/buffered_stream.html">buffered_stream::buffered_stream</a>
</dt></dl></dd>
-<dt id="ientry-idp195205616">buffered_write_stream</dt>
-<dd><dl><dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream">buffered_write_stream::buffered_write_stream</a>
+<dt id="ientry-idp136697520">buffered_write_stream</dt>
+<dd><dl><dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/buffered_write_stream.html">buffered_write_stream::buffered_write_stream</a>
</dt></dl></dd>
-<dt id="ientry-idp195626272">buffers_begin, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_begin">buffers_begin</a>
+<dt id="ientry-idp137124528">buffers_begin, <a class="indexterm" href="reference/buffers_begin.html">buffers_begin</a>
</dt>
-<dt id="ientry-idp195645648">buffers_end, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_end">buffers_end</a>
+<dt id="ientry-idp137144128">buffers_end, <a class="indexterm" href="reference/buffers_end.html">buffers_end</a>
</dt>
-<dt id="ientry-idp195791648">buffers_iterator</dt>
-<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.buffers_iterator">buffers_iterator::buffers_iterator</a>
+<dt id="ientry-idp137290624">buffers_iterator</dt>
+<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/buffers_iterator.html">buffers_iterator::buffers_iterator</a>
</dt></dl></dd>
-<dt id="ientry-idp109361936">buffer_cast, <a class="indexterm" href="reference.html#boost_asio.reference.buffer_cast">buffer_cast</a>
-</dt>
-<dt id="ientry-idp192344304">buffer_copy, <a class="indexterm" href="reference.html#boost_asio.reference.buffer_copy">buffer_copy</a>
+<dt id="ientry-idp133475792">buffer_cast, <a class="indexterm" href="reference/buffer_cast.html">buffer_cast</a>
</dt>
-<dt id="ientry-idp193792272">buffer_size, <a class="indexterm" href="reference.html#boost_asio.reference.buffer_size">buffer_size</a>
+<dt id="ientry-idp133570160">buffer_copy, <a class="indexterm" href="reference/buffer_copy.html">buffer_copy</a>
</dt>
-<dt id="ientry-idp725141440">build-dir, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.build-dir">Class project-target</a>
+<dt id="ientry-idp135254400">buffer_size, <a class="indexterm" href="reference/buffer_size.html">buffer_size</a>
</dt>
-<dd><dl><dt>Project Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.build-dir">Class project-target</a>
-</dt></dl></dd>
-<dt id="ientry-idp153894240">bytes_readable</dt>
+<dt id="ientry-idp94605088">bytes_readable</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable">basic_datagram_socket::bytes_readable</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/bytes_readable.html">basic_datagram_socket::bytes_readable</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable">basic_raw_socket::bytes_readable</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/bytes_readable.html">basic_raw_socket::bytes_readable</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable">basic_seq_packet_socket::bytes_readable</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/bytes_readable.html">basic_seq_packet_socket::bytes_readable</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.bytes_readable">basic_socket::bytes_readable</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/bytes_readable.html">basic_socket::bytes_readable</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable">basic_socket_acceptor::bytes_readable</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/bytes_readable.html">basic_socket_acceptor::bytes_readable</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.bytes_readable">basic_socket_streambuf::bytes_readable</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/bytes_readable.html">basic_socket_streambuf::bytes_readable</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable">basic_stream_socket::bytes_readable</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/bytes_readable.html">basic_stream_socket::bytes_readable</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable">posix::basic_descriptor::bytes_readable</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/bytes_readable.html">posix::basic_descriptor::bytes_readable</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable">posix::basic_stream_descriptor::bytes_readable</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/bytes_readable.html">posix::basic_stream_descriptor::bytes_readable</a>
</dt>
-<dt>posix::descriptor_base, <a class="indexterm" href="reference.html#boost_asio.reference.posix__descriptor_base.bytes_readable">posix::descriptor_base::bytes_readable</a>
+<dt>posix::descriptor_base, <a class="indexterm" href="reference/posix__descriptor_base/bytes_readable.html">posix::descriptor_base::bytes_readable</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.bytes_readable">socket_base::bytes_readable</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/bytes_readable.html">socket_base::bytes_readable</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205552208">bytes_type</dt>
+<dt id="ientry-idp146926880">bytes_type</dt>
<dd><dl>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.bytes_type">ip::address_v4::bytes_type</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/bytes_type.html">ip::address_v4::bytes_type</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.bytes_type">ip::address_v6::bytes_type</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/bytes_type.html">ip::address_v6::bytes_type</a>
</dt>
</dl></dd>
</dl>
@@ -772,495 +722,458 @@
<div class="indexdiv">
<h3>C</h3>
<dl>
-<dt id="ientry-idp724512864">call-in, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.call-in">modules</a>
-</dt>
-<dt id="ientry-idp190583088">callee_type</dt>
-<dd><dl><dt>basic_yield_context, <a class="indexterm" href="reference.html#boost_asio.reference.basic_yield_context.callee_type">basic_yield_context::callee_type</a>
+<dt id="ientry-idp131684880">callee_type</dt>
+<dd><dl><dt>basic_yield_context, <a class="indexterm" href="reference/basic_yield_context/callee_type.html">basic_yield_context::callee_type</a>
</dt></dl></dd>
-<dt id="ientry-idp190602224">caller_type</dt>
-<dd><dl><dt>basic_yield_context, <a class="indexterm" href="reference.html#boost_asio.reference.basic_yield_context.caller_type">basic_yield_context::caller_type</a>
+<dt id="ientry-idp131704560">caller_type</dt>
+<dd><dl><dt>basic_yield_context, <a class="indexterm" href="reference/basic_yield_context/caller_type.html">basic_yield_context::caller_type</a>
</dt></dl></dd>
-<dt id="ientry-idp153933376">cancel</dt>
+<dt id="ientry-idp94644512">cancel</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel">basic_datagram_socket::cancel</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/cancel.html">basic_datagram_socket::cancel</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel">basic_deadline_timer::cancel</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/cancel.html">basic_deadline_timer::cancel</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.cancel">basic_raw_socket::cancel</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/cancel.html">basic_raw_socket::cancel</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel">basic_seq_packet_socket::cancel</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/cancel.html">basic_seq_packet_socket::cancel</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.cancel">basic_serial_port::cancel</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/cancel.html">basic_serial_port::cancel</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.cancel">basic_signal_set::cancel</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/cancel.html">basic_signal_set::cancel</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.cancel">basic_socket::cancel</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/cancel.html">basic_socket::cancel</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel">basic_socket_acceptor::cancel</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/cancel.html">basic_socket_acceptor::cancel</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel">basic_socket_streambuf::cancel</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/cancel.html">basic_socket_streambuf::cancel</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.cancel">basic_stream_socket::cancel</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/cancel.html">basic_stream_socket::cancel</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel">basic_waitable_timer::cancel</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/cancel.html">basic_waitable_timer::cancel</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.cancel">datagram_socket_service::cancel</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/cancel.html">datagram_socket_service::cancel</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.cancel">deadline_timer_service::cancel</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/cancel.html">deadline_timer_service::cancel</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.cancel">ip::basic_resolver::cancel</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/cancel.html">ip::basic_resolver::cancel</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.cancel">ip::resolver_service::cancel</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/cancel.html">ip::resolver_service::cancel</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel">posix::basic_descriptor::cancel</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/cancel.html">posix::basic_descriptor::cancel</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel">posix::basic_stream_descriptor::cancel</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/cancel.html">posix::basic_stream_descriptor::cancel</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.cancel">posix::stream_descriptor_service::cancel</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/cancel.html">posix::stream_descriptor_service::cancel</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.cancel">raw_socket_service::cancel</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/cancel.html">raw_socket_service::cancel</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.cancel">seq_packet_socket_service::cancel</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/cancel.html">seq_packet_socket_service::cancel</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.cancel">serial_port_service::cancel</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/cancel.html">serial_port_service::cancel</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.cancel">signal_set_service::cancel</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/cancel.html">signal_set_service::cancel</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.cancel">socket_acceptor_service::cancel</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/cancel.html">socket_acceptor_service::cancel</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.cancel">stream_socket_service::cancel</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/cancel.html">stream_socket_service::cancel</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.cancel">waitable_timer_service::cancel</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/cancel.html">waitable_timer_service::cancel</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.cancel">windows::basic_handle::cancel</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/cancel.html">windows::basic_handle::cancel</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel">windows::basic_object_handle::cancel</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/cancel.html">windows::basic_object_handle::cancel</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel">windows::basic_random_access_handle::cancel</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/cancel.html">windows::basic_random_access_handle::cancel</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel">windows::basic_stream_handle::cancel</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/cancel.html">windows::basic_stream_handle::cancel</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.cancel">windows::object_handle_service::cancel</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/cancel.html">windows::object_handle_service::cancel</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.cancel">windows::random_access_handle_service::cancel</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/cancel.html">windows::random_access_handle_service::cancel</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.cancel">windows::stream_handle_service::cancel</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/cancel.html">windows::stream_handle_service::cancel</a>
</dt>
</dl></dd>
-<dt id="ientry-idp158271760">cancel_one</dt>
+<dt id="ientry-idp99070928">cancel_one</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one">basic_deadline_timer::cancel_one</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/cancel_one.html">basic_deadline_timer::cancel_one</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one">basic_waitable_timer::cancel_one</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/cancel_one.html">basic_waitable_timer::cancel_one</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.cancel_one">deadline_timer_service::cancel_one</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/cancel_one.html">deadline_timer_service::cancel_one</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.cancel_one">waitable_timer_service::cancel_one</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/cancel_one.html">waitable_timer_service::cancel_one</a>
</dt>
</dl></dd>
-<dt id="ientry-idp208891984">canonical_name</dt>
+<dt id="ientry-idp150293760">canonical_name</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.canonical_name">ip::basic_resolver_query::canonical_name</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/canonical_name.html">ip::basic_resolver_query::canonical_name</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.canonical_name">ip::resolver_query_base::canonical_name</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/canonical_name.html">ip::resolver_query_base::canonical_name</a>
</dt>
</dl></dd>
-<dt id="ientry-idp200216576">capacity</dt>
+<dt id="ientry-idp141776192">capacity</dt>
<dd><dl>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity">generic::basic_endpoint::capacity</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/capacity.html">generic::basic_endpoint::capacity</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity">ip::basic_endpoint::capacity</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/capacity.html">ip::basic_endpoint::capacity</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.capacity">local::basic_endpoint::capacity</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/capacity.html">local::basic_endpoint::capacity</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724384576">catalog, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.xsltproc">xsltproc</a>
-</dt>
-<dt id="ientry-idp725000928">change-generated-target-prefix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.change-generated-target-prefix">type</a>
-</dt>
-<dt id="ientry-idp724975440">change-generated-target-suffix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.change-generated-target-suffix">type</a>
-</dt>
-<dt id="ientry-idp222950608">character_size</dt>
-<dd><dl><dt>serial_port_base::character_size, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__character_size.character_size">serial_port_base::character_size::character_size</a>
+<dt id="ientry-idp164456128">character_size</dt>
+<dd><dl><dt>serial_port_base::character_size, <a class="indexterm" href="reference/serial_port_base__character_size/character_size.html">serial_port_base::character_size::character_size</a>
</dt></dl></dd>
-<dt id="ientry-idp723780720">check-target-builds, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.rules">Builtin rules</a>
-</dt>
-<dt id="ientry-idp171433056">clear</dt>
+<dt id="ientry-idp112392640">clear</dt>
<dd><dl>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.clear">basic_signal_set::clear</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/clear.html">basic_signal_set::clear</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.clear">signal_set_service::clear</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/clear.html">signal_set_service::clear</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226048736">clear_options</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.clear_options">ssl::context::clear_options</a>
+<dt id="ientry-idp167916352">clear_options</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/clear_options.html">ssl::context::clear_options</a>
</dt></dl></dd>
-<dt id="ientry-idp228796256">client</dt>
+<dt id="ientry-idp170710912">client</dt>
<dd><dl>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.handshake_type">ssl::stream::handshake_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/handshake_type.html">ssl::stream::handshake_type</a>
</dt>
-<dt>ssl::stream_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type">ssl::stream_base::handshake_type</a>
+<dt>ssl::stream_base, <a class="indexterm" href="reference/ssl__stream_base/handshake_type.html">ssl::stream_base::handshake_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp190062240">clock_type</dt>
+<dt id="ientry-idp131158496">clock_type</dt>
<dd><dl>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type">basic_waitable_timer::clock_type</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/clock_type.html">basic_waitable_timer::clock_type</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.clock_type">waitable_timer_service::clock_type</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/clock_type.html">waitable_timer_service::clock_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724572144">clone-rules, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.clone-rules">modules</a>
-</dt>
-<dt id="ientry-idp154023904">close</dt>
+<dt id="ientry-idp94736800">close</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.close">basic_datagram_socket::close</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/close.html">basic_datagram_socket::close</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.close">basic_raw_socket::close</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/close.html">basic_raw_socket::close</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close">basic_seq_packet_socket::close</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/close.html">basic_seq_packet_socket::close</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.close">basic_serial_port::close</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/close.html">basic_serial_port::close</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.close">basic_socket::close</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/close.html">basic_socket::close</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.close">basic_socket_acceptor::close</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/close.html">basic_socket_acceptor::close</a>
</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.close">basic_socket_iostream::close</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/close.html">basic_socket_iostream::close</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.close">basic_socket_streambuf::close</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/close.html">basic_socket_streambuf::close</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.close">basic_stream_socket::close</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/close.html">basic_stream_socket::close</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.close">buffered_read_stream::close</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/close.html">buffered_read_stream::close</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.close">buffered_stream::close</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/close.html">buffered_stream::close</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.close">buffered_write_stream::close</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/close.html">buffered_write_stream::close</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.close">datagram_socket_service::close</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/close.html">datagram_socket_service::close</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.close">posix::basic_descriptor::close</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/close.html">posix::basic_descriptor::close</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close">posix::basic_stream_descriptor::close</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/close.html">posix::basic_stream_descriptor::close</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.close">posix::stream_descriptor_service::close</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/close.html">posix::stream_descriptor_service::close</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.close">raw_socket_service::close</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/close.html">raw_socket_service::close</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.close">seq_packet_socket_service::close</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/close.html">seq_packet_socket_service::close</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.close">serial_port_service::close</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/close.html">serial_port_service::close</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.close">socket_acceptor_service::close</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/close.html">socket_acceptor_service::close</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.close">stream_socket_service::close</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/close.html">stream_socket_service::close</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.close">windows::basic_handle::close</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/close.html">windows::basic_handle::close</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.close">windows::basic_object_handle::close</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/close.html">windows::basic_object_handle::close</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close">windows::basic_random_access_handle::close</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/close.html">windows::basic_random_access_handle::close</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close">windows::basic_stream_handle::close</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/close.html">windows::basic_stream_handle::close</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.close">windows::object_handle_service::close</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/close.html">windows::object_handle_service::close</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.close">windows::random_access_handle_service::close</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/close.html">windows::random_access_handle_service::close</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.close">windows::stream_handle_service::close</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/close.html">windows::stream_handle_service::close</a>
</dt>
</dl></dd>
-<dt id="ientry-idp189320144">commit</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.commit">basic_streambuf::commit</a>
+<dt id="ientry-idp130407536">commit</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/commit.html">basic_streambuf::commit</a>
</dt></dl></dd>
-<dt id="ientry-idp723381344">common signature, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.targets">Declaring Targets</a>
-</dt>
-<dt id="ientry-idp236594512">complete</dt>
-<dd><dl><dt>windows::overlapped_ptr, <a class="indexterm" href="reference.html#boost_asio.reference.windows__overlapped_ptr.complete">windows::overlapped_ptr::complete</a>
+<dt id="ientry-idp178327936">complete</dt>
+<dd><dl><dt>windows::overlapped_ptr, <a class="indexterm" href="reference/windows__overlapped_ptr/complete.html">windows::overlapped_ptr::complete</a>
</dt></dl></dd>
-<dt id="ientry-idp154113840">connect, <a class="indexterm" href="reference.html#boost_asio.reference.connect">connect</a>
+<dt id="ientry-idp94827952">connect, <a class="indexterm" href="reference/connect.html">connect</a>
</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.connect">basic_datagram_socket::connect</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/connect.html">basic_datagram_socket::connect</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.connect">basic_raw_socket::connect</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/connect.html">basic_raw_socket::connect</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect">basic_seq_packet_socket::connect</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/connect.html">basic_seq_packet_socket::connect</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.connect">basic_socket::connect</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/connect.html">basic_socket::connect</a>
</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.connect">basic_socket_iostream::connect</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/connect.html">basic_socket_iostream::connect</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect">basic_socket_streambuf::connect</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/connect.html">basic_socket_streambuf::connect</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.connect">basic_stream_socket::connect</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/connect.html">basic_stream_socket::connect</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.connect">datagram_socket_service::connect</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/connect.html">datagram_socket_service::connect</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.connect">raw_socket_service::connect</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/connect.html">raw_socket_service::connect</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.connect">seq_packet_socket_service::connect</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/connect.html">seq_packet_socket_service::connect</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.connect">stream_socket_service::connect</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/connect.html">stream_socket_service::connect</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199642400">connection_aborted</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141195344">connection_aborted</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199643504">connection_refused</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141196448">connection_refused</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199644608">connection_reset</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141197552">connection_reset</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp198482816">construct, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.basic-target.construct">Class basic-target</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.typed-target.construct">Class typed-target</a>
-</dt>
+<dt id="ientry-idp140016896">construct</dt>
<dd><dl>
-<dt>Basic Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.basic-target.construct">Class basic-target</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/construct.html">datagram_socket_service::construct</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.construct">datagram_socket_service::construct</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/construct.html">deadline_timer_service::construct</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.construct">deadline_timer_service::construct</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/construct.html">ip::resolver_service::construct</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.construct">ip::resolver_service::construct</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/construct.html">posix::stream_descriptor_service::construct</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.construct">posix::stream_descriptor_service::construct</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/construct.html">raw_socket_service::construct</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.construct">raw_socket_service::construct</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/construct.html">seq_packet_socket_service::construct</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.construct">seq_packet_socket_service::construct</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/construct.html">serial_port_service::construct</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.construct">serial_port_service::construct</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/construct.html">signal_set_service::construct</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.construct">signal_set_service::construct</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/construct.html">socket_acceptor_service::construct</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.construct">socket_acceptor_service::construct</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/construct.html">stream_socket_service::construct</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.construct">stream_socket_service::construct</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/construct.html">waitable_timer_service::construct</a>
</dt>
-<dt>Typed Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.typed-target.construct">Class typed-target</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/construct.html">windows::object_handle_service::construct</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.construct">waitable_timer_service::construct</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/construct.html">windows::random_access_handle_service::construct</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.construct">windows::object_handle_service::construct</a>
-</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.construct">windows::random_access_handle_service::construct</a>
-</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.construct">windows::stream_handle_service::construct</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/construct.html">windows::stream_handle_service::construct</a>
</dt>
</dl></dd>
-<dt id="ientry-idp197446304">const_buffer</dt>
-<dd><dl><dt>const_buffer, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffer.const_buffer">const_buffer::const_buffer</a>
+<dt id="ientry-idp138965552">const_buffer</dt>
+<dd><dl><dt>const_buffer, <a class="indexterm" href="reference/const_buffer/const_buffer.html">const_buffer::const_buffer</a>
</dt></dl></dd>
-<dt id="ientry-idp197597632">const_buffers_1</dt>
-<dd><dl><dt>const_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1">const_buffers_1::const_buffers_1</a>
+<dt id="ientry-idp139118896">const_buffers_1</dt>
+<dd><dl><dt>const_buffers_1, <a class="indexterm" href="reference/const_buffers_1/const_buffers_1.html">const_buffers_1::const_buffers_1</a>
</dt></dl></dd>
-<dt id="ientry-idp189341872">const_buffers_type</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.const_buffers_type">basic_streambuf::const_buffers_type</a>
+<dt id="ientry-idp130430112">const_buffers_type</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/const_buffers_type.html">basic_streambuf::const_buffers_type</a>
</dt></dl></dd>
-<dt id="ientry-idp197636176">const_iterator</dt>
+<dt id="ientry-idp139158112">const_iterator</dt>
<dd><dl>
-<dt>const_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffers_1.const_iterator">const_buffers_1::const_iterator</a>
+<dt>const_buffers_1, <a class="indexterm" href="reference/const_buffers_1/const_iterator.html">const_buffers_1::const_iterator</a>
</dt>
-<dt>mutable_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffers_1.const_iterator">mutable_buffers_1::const_iterator</a>
+<dt>mutable_buffers_1, <a class="indexterm" href="reference/mutable_buffers_1/const_iterator.html">mutable_buffers_1::const_iterator</a>
</dt>
-<dt>null_buffers, <a class="indexterm" href="reference.html#boost_asio.reference.null_buffers.const_iterator">null_buffers::const_iterator</a>
+<dt>null_buffers, <a class="indexterm" href="reference/null_buffers/const_iterator.html">null_buffers::const_iterator</a>
</dt>
</dl></dd>
-<dt id="ientry-idp189354256">consume</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.consume">basic_streambuf::consume</a>
+<dt id="ientry-idp130442576">consume</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/consume.html">basic_streambuf::consume</a>
</dt></dl></dd>
-<dt id="ientry-idp226123008">context</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.context">ssl::context::context</a>
+<dt id="ientry-idp167991872">context</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/context.html">ssl::context::context</a>
</dt></dl></dd>
-<dt id="ientry-idp198491248">converting_move_construct</dt>
+<dt id="ientry-idp140025616">converting_move_construct</dt>
<dd><dl>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.converting_move_construct">datagram_socket_service::converting_move_construct</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/converting_move_construct.html">datagram_socket_service::converting_move_construct</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.converting_move_construct">raw_socket_service::converting_move_construct</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/converting_move_construct.html">raw_socket_service::converting_move_construct</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.converting_move_construct">seq_packet_socket_service::converting_move_construct</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/converting_move_construct.html">seq_packet_socket_service::converting_move_construct</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.converting_move_construct">socket_acceptor_service::converting_move_construct</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/converting_move_construct.html">socket_acceptor_service::converting_move_construct</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.converting_move_construct">stream_socket_service::converting_move_construct</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/converting_move_construct.html">stream_socket_service::converting_move_construct</a>
</dt>
</dl></dd>
-<dt id="ientry-idp198043520">coroutine</dt>
-<dd><dl><dt>coroutine, <a class="indexterm" href="reference.html#boost_asio.reference.coroutine.coroutine">coroutine::coroutine</a>
+<dt id="ientry-idp139574464">coroutine</dt>
+<dd><dl><dt>coroutine, <a class="indexterm" href="reference/coroutine/coroutine.html">coroutine::coroutine</a>
</dt></dl></dd>
-<dt id="ientry-idp208156992">create</dt>
-<dd><dl><dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create">ip::basic_resolver_iterator::create</a>
+<dt id="ientry-idp149552096">create</dt>
+<dd><dl><dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/create.html">ip::basic_resolver_iterator::create</a>
</dt></dl></dd>
-<dt id="ientry-idp723733632">cross compilation, <a class="indexterm" href="../bbv2/tasks.html#bbv2.tasks.crosscompile">Cross-compilation</a>
-</dt>
</dl>
</div>
<div class="indexdiv">
<h3>D</h3>
<dl>
-<dt id="ientry-idp189369040">data</dt>
+<dt id="ientry-idp130457792">data</dt>
<dd><dl>
-<dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.data">basic_streambuf::data</a>
+<dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/data.html">basic_streambuf::data</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.data">generic::basic_endpoint::data</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/data.html">generic::basic_endpoint::data</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.data">ip::basic_endpoint::data</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/data.html">ip::basic_endpoint::data</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.data">local::basic_endpoint::data</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/data.html">local::basic_endpoint::data</a>
</dt>
</dl></dd>
-<dt id="ientry-idp200529168">datagram_protocol</dt>
-<dd><dl><dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol">generic::datagram_protocol::datagram_protocol</a>
+<dt id="ientry-idp142092928">datagram_protocol</dt>
+<dd><dl><dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/datagram_protocol.html">generic::datagram_protocol::datagram_protocol</a>
</dt></dl></dd>
-<dt id="ientry-idp198519136">datagram_socket_service</dt>
-<dd><dl><dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.datagram_socket_service">datagram_socket_service::datagram_socket_service</a>
+<dt id="ientry-idp140058096">datagram_socket_service</dt>
+<dd><dl><dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/datagram_socket_service.html">datagram_socket_service::datagram_socket_service</a>
</dt></dl></dd>
-<dt id="ientry-idp200251760">data_type</dt>
+<dt id="ientry-idp141812000">data_type</dt>
<dd><dl>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type">generic::basic_endpoint::data_type</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/data_type.html">generic::basic_endpoint::data_type</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type">ip::basic_endpoint::data_type</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/data_type.html">ip::basic_endpoint::data_type</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.data_type">local::basic_endpoint::data_type</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/data_type.html">local::basic_endpoint::data_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199018304">deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer">deadline_timer</a>
+<dt id="ientry-idp140563696">deadline_timer, <a class="indexterm" href="reference/deadline_timer.html">deadline_timer</a>
</dt>
-<dt id="ientry-idp199379792">deadline_timer_service</dt>
-<dd><dl><dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.deadline_timer_service">deadline_timer_service::deadline_timer_service</a>
+<dt id="ientry-idp140928432">deadline_timer_service</dt>
+<dd><dl><dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/deadline_timer_service.html">deadline_timer_service::deadline_timer_service</a>
</dt></dl></dd>
-<dt id="ientry-idp154249552">debug</dt>
+<dt id="ientry-idp94964640">debug</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.debug">basic_datagram_socket::debug</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/debug.html">basic_datagram_socket::debug</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.debug">basic_raw_socket::debug</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/debug.html">basic_raw_socket::debug</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug">basic_seq_packet_socket::debug</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/debug.html">basic_seq_packet_socket::debug</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.debug">basic_socket::debug</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/debug.html">basic_socket::debug</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug">basic_socket_acceptor::debug</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/debug.html">basic_socket_acceptor::debug</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.debug">basic_socket_streambuf::debug</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/debug.html">basic_socket_streambuf::debug</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.debug">basic_stream_socket::debug</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/debug.html">basic_stream_socket::debug</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.debug">socket_base::debug</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/debug.html">socket_base::debug</a>
</dt>
</dl></dd>
-<dt id="ientry-idp194114736">default_buffer_size</dt>
+<dt id="ientry-idp135592768">default_buffer_size</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.default_buffer_size">buffered_read_stream::default_buffer_size</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/default_buffer_size.html">buffered_read_stream::default_buffer_size</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.default_buffer_size">buffered_write_stream::default_buffer_size</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/default_buffer_size.html">buffered_write_stream::default_buffer_size</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226184352">default_workarounds</dt>
+<dt id="ientry-idp168054720">default_workarounds</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.default_workarounds">ssl::context::default_workarounds</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/default_workarounds.html">ssl::context::default_workarounds</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.default_workarounds">ssl::context_base::default_workarounds</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/default_workarounds.html">ssl::context_base::default_workarounds</a>
</dt>
</dl></dd>
-<dt id="ientry-idp723920480">define, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp723886688">dependency, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp198530752">destroy</dt>
+<dt id="ientry-idp140069904">destroy</dt>
<dd><dl>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.destroy">datagram_socket_service::destroy</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/destroy.html">datagram_socket_service::destroy</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.destroy">deadline_timer_service::destroy</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/destroy.html">deadline_timer_service::destroy</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.destroy">ip::resolver_service::destroy</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/destroy.html">ip::resolver_service::destroy</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.destroy">posix::stream_descriptor_service::destroy</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/destroy.html">posix::stream_descriptor_service::destroy</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.destroy">raw_socket_service::destroy</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/destroy.html">raw_socket_service::destroy</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.destroy">seq_packet_socket_service::destroy</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/destroy.html">seq_packet_socket_service::destroy</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.destroy">serial_port_service::destroy</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/destroy.html">serial_port_service::destroy</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.destroy">signal_set_service::destroy</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/destroy.html">signal_set_service::destroy</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.destroy">socket_acceptor_service::destroy</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/destroy.html">socket_acceptor_service::destroy</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.destroy">stream_socket_service::destroy</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/destroy.html">stream_socket_service::destroy</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.destroy">waitable_timer_service::destroy</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/destroy.html">waitable_timer_service::destroy</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.destroy">windows::object_handle_service::destroy</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/destroy.html">windows::object_handle_service::destroy</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.destroy">windows::random_access_handle_service::destroy</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/destroy.html">windows::random_access_handle_service::destroy</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.destroy">windows::stream_handle_service::destroy</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/destroy.html">windows::stream_handle_service::destroy</a>
</dt>
</dl></dd>
-<dt id="ientry-idp195796864">difference_type</dt>
+<dt id="ientry-idp137295984">difference_type</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.difference_type">buffers_iterator::difference_type</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/difference_type.html">buffers_iterator::difference_type</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type">ip::basic_resolver_iterator::difference_type</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/difference_type.html">ip::basic_resolver_iterator::difference_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp203423968">dispatch</dt>
+<dt id="ientry-idp145021312">dispatch</dt>
<dd><dl>
-<dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.dispatch">io_service::dispatch</a>
+<dt>io_service, <a class="indexterm" href="reference/io_service/dispatch.html">io_service::dispatch</a>
</dt>
-<dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand.dispatch">io_service::strand::dispatch</a>
+<dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/dispatch.html">io_service::strand::dispatch</a>
</dt>
</dl></dd>
-<dt id="ientry-idp723899584">dll-path, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp724414016">docbook, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp724433184">doxygen, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.doxygen">doxygen</a>
-</dt>
-<dd><dl><dt>rule, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.doxygen">doxygen</a>
-</dt></dl></dd>
-<dt id="ientry-idp724439536">doxygen:param, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.doxygen">doxygen</a>
-</dt>
-<dt id="ientry-idp724448976">doxygen:xml-imagedir, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.doxygen">doxygen</a>
-</dt>
-<dt id="ientry-idp154306128">do_not_route</dt>
+<dt id="ientry-idp95021712">do_not_route</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route">basic_datagram_socket::do_not_route</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/do_not_route.html">basic_datagram_socket::do_not_route</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route">basic_raw_socket::do_not_route</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/do_not_route.html">basic_raw_socket::do_not_route</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route">basic_seq_packet_socket::do_not_route</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/do_not_route.html">basic_seq_packet_socket::do_not_route</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.do_not_route">basic_socket::do_not_route</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/do_not_route.html">basic_socket::do_not_route</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route">basic_socket_acceptor::do_not_route</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/do_not_route.html">basic_socket_acceptor::do_not_route</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.do_not_route">basic_socket_streambuf::do_not_route</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/do_not_route.html">basic_socket_streambuf::do_not_route</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route">basic_stream_socket::do_not_route</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/do_not_route.html">basic_stream_socket::do_not_route</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.do_not_route">socket_base::do_not_route</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/do_not_route.html">socket_base::do_not_route</a>
</dt>
</dl></dd>
-<dt id="ientry-idp190074432">duration</dt>
+<dt id="ientry-idp131170912">duration</dt>
<dd><dl>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.duration">basic_waitable_timer::duration</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/duration.html">basic_waitable_timer::duration</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.duration">waitable_timer_service::duration</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/duration.html">waitable_timer_service::duration</a>
</dt>
</dl></dd>
-<dt id="ientry-idp158350128">duration_type</dt>
+<dt id="ientry-idp68739632">duration_type</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.duration_type">basic_deadline_timer::duration_type</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/duration_type.html">basic_deadline_timer::duration_type</a>
</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type">basic_socket_iostream::duration_type</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/duration_type.html">basic_socket_iostream::duration_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.duration_type">basic_socket_streambuf::duration_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/duration_type.html">basic_socket_streambuf::duration_type</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.duration_type">deadline_timer_service::duration_type</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/duration_type.html">deadline_timer_service::duration_type</a>
</dt>
-<dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.duration_type">time_traits&lt;
+<dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/duration_type.html">time_traits&lt;
boost::posix_time::ptime &gt;::duration_type</a>
</dt>
</dl></dd>
@@ -1269,179 +1182,167 @@
<div class="indexdiv">
<h3>E</h3>
<dl>
-<dt id="ientry-idp723998672">embed-manifest, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp724008016">embed-manifest-file, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp154362928">enable_connection_aborted</dt>
+<dt id="ientry-idp95079008">enable_connection_aborted</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted">basic_datagram_socket::enable_connection_aborted</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/enable_connection_aborted.html">basic_datagram_socket::enable_connection_aborted</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted">basic_raw_socket::enable_connection_aborted</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/enable_connection_aborted.html">basic_raw_socket::enable_connection_aborted</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted">basic_seq_packet_socket::enable_connection_aborted</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/enable_connection_aborted.html">basic_seq_packet_socket::enable_connection_aborted</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted">basic_socket::enable_connection_aborted</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/enable_connection_aborted.html">basic_socket::enable_connection_aborted</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted">basic_socket_acceptor::enable_connection_aborted</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/enable_connection_aborted.html">basic_socket_acceptor::enable_connection_aborted</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted">basic_socket_streambuf::enable_connection_aborted</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/enable_connection_aborted.html">basic_socket_streambuf::enable_connection_aborted</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted">basic_stream_socket::enable_connection_aborted</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/enable_connection_aborted.html">basic_stream_socket::enable_connection_aborted</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted">socket_base::enable_connection_aborted</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/enable_connection_aborted.html">socket_base::enable_connection_aborted</a>
</dt>
</dl></dd>
-<dt id="ientry-idp195810272">end</dt>
+<dt id="ientry-idp137309488">end</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.end">buffers_iterator::end</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/end.html">buffers_iterator::end</a>
</dt>
-<dt>const_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffers_1.end">const_buffers_1::end</a>
+<dt>const_buffers_1, <a class="indexterm" href="reference/const_buffers_1/end.html">const_buffers_1::end</a>
</dt>
-<dt>mutable_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffers_1.end">mutable_buffers_1::end</a>
+<dt>mutable_buffers_1, <a class="indexterm" href="reference/mutable_buffers_1/end.html">mutable_buffers_1::end</a>
</dt>
-<dt>null_buffers, <a class="indexterm" href="reference.html#boost_asio.reference.null_buffers.end">null_buffers::end</a>
+<dt>null_buffers, <a class="indexterm" href="reference/null_buffers/end.html">null_buffers::end</a>
</dt>
</dl></dd>
-<dt id="ientry-idp200574496">endpoint</dt>
+<dt id="ientry-idp142138976">endpoint</dt>
<dd><dl>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint">generic::datagram_protocol::endpoint</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/endpoint.html">generic::datagram_protocol::endpoint</a>
</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint">generic::raw_protocol::endpoint</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/endpoint.html">generic::raw_protocol::endpoint</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint">generic::seq_packet_protocol::endpoint</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/endpoint.html">generic::seq_packet_protocol::endpoint</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint">generic::stream_protocol::endpoint</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/endpoint.html">generic::stream_protocol::endpoint</a>
</dt>
-<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint">ip::basic_resolver_entry::endpoint</a>
+<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/endpoint.html">ip::basic_resolver_entry::endpoint</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.endpoint">ip::icmp::endpoint</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/endpoint.html">ip::icmp::endpoint</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.endpoint">ip::tcp::endpoint</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/endpoint.html">ip::tcp::endpoint</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.endpoint">ip::udp::endpoint</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/endpoint.html">ip::udp::endpoint</a>
</dt>
-<dt>local::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint">local::datagram_protocol::endpoint</a>
+<dt>local::datagram_protocol, <a class="indexterm" href="reference/local__datagram_protocol/endpoint.html">local::datagram_protocol::endpoint</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint">local::stream_protocol::endpoint</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/endpoint.html">local::stream_protocol::endpoint</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154423728">endpoint_type</dt>
+<dt id="ientry-idp95140384">endpoint_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type">basic_datagram_socket::endpoint_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/endpoint_type.html">basic_datagram_socket::endpoint_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type">basic_raw_socket::endpoint_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/endpoint_type.html">basic_raw_socket::endpoint_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type">basic_seq_packet_socket::endpoint_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/endpoint_type.html">basic_seq_packet_socket::endpoint_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.endpoint_type">basic_socket::endpoint_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/endpoint_type.html">basic_socket::endpoint_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type">basic_socket_acceptor::endpoint_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/endpoint_type.html">basic_socket_acceptor::endpoint_type</a>
</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type">basic_socket_iostream::endpoint_type</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/endpoint_type.html">basic_socket_iostream::endpoint_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.endpoint_type">basic_socket_streambuf::endpoint_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/endpoint_type.html">basic_socket_streambuf::endpoint_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type">basic_stream_socket::endpoint_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/endpoint_type.html">basic_stream_socket::endpoint_type</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.endpoint_type">datagram_socket_service::endpoint_type</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/endpoint_type.html">datagram_socket_service::endpoint_type</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type">ip::basic_resolver::endpoint_type</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/endpoint_type.html">ip::basic_resolver::endpoint_type</a>
</dt>
-<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type">ip::basic_resolver_entry::endpoint_type</a>
+<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/endpoint_type.html">ip::basic_resolver_entry::endpoint_type</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.endpoint_type">ip::resolver_service::endpoint_type</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/endpoint_type.html">ip::resolver_service::endpoint_type</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.endpoint_type">raw_socket_service::endpoint_type</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/endpoint_type.html">raw_socket_service::endpoint_type</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.endpoint_type">seq_packet_socket_service::endpoint_type</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/endpoint_type.html">seq_packet_socket_service::endpoint_type</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.endpoint_type">socket_acceptor_service::endpoint_type</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/endpoint_type.html">socket_acceptor_service::endpoint_type</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.endpoint_type">stream_socket_service::endpoint_type</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/endpoint_type.html">stream_socket_service::endpoint_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199926480">eof</dt>
-<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__misc_errors">error::misc_errors</a>
+<dt id="ientry-idp141482464">eof</dt>
+<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference/error__misc_errors.html">error::misc_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp179532560">error</dt>
+<dt id="ientry-idp120547408">error</dt>
<dd><dl>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.error">basic_socket_iostream::error</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/error.html">basic_socket_iostream::error</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.error">basic_socket_streambuf::error</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/error.html">basic_socket_streambuf::error</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199593104">error::addrinfo_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__addrinfo_category">error::addrinfo_category</a>
+<dt id="ientry-idp141145040">error::addrinfo_category, <a class="indexterm" href="reference/error__addrinfo_category.html">error::addrinfo_category</a>
</dt>
-<dt id="ientry-idp199612928">error::addrinfo_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__addrinfo_errors">error::addrinfo_errors</a>
+<dt id="ientry-idp141165376">error::addrinfo_errors, <a class="indexterm" href="reference/error__addrinfo_errors.html">error::addrinfo_errors</a>
</dt>
-<dt id="ientry-idp199632656">error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141185424">error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt>
-<dt id="ientry-idp199740128">error::get_addrinfo_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__get_addrinfo_category">error::get_addrinfo_category</a>
+<dt id="ientry-idp141293408">error::get_addrinfo_category, <a class="indexterm" href="reference/error__get_addrinfo_category.html">error::get_addrinfo_category</a>
</dt>
-<dt id="ientry-idp199755056">error::get_misc_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__get_misc_category">error::get_misc_category</a>
+<dt id="ientry-idp141308640">error::get_misc_category, <a class="indexterm" href="reference/error__get_misc_category.html">error::get_misc_category</a>
</dt>
-<dt id="ientry-idp199769776">error::get_netdb_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__get_netdb_category">error::get_netdb_category</a>
+<dt id="ientry-idp141323696">error::get_netdb_category, <a class="indexterm" href="reference/error__get_netdb_category.html">error::get_netdb_category</a>
</dt>
-<dt id="ientry-idp199784544">error::get_ssl_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__get_ssl_category">error::get_ssl_category</a>
+<dt id="ientry-idp141338736">error::get_ssl_category, <a class="indexterm" href="reference/error__get_ssl_category.html">error::get_ssl_category</a>
</dt>
-<dt id="ientry-idp199799392">error::get_system_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__get_system_category">error::get_system_category</a>
+<dt id="ientry-idp141353744">error::get_system_category, <a class="indexterm" href="reference/error__get_system_category.html">error::get_system_category</a>
</dt>
-<dt id="ientry-idp199814032">error::make_error_code, <a class="indexterm" href="reference.html#boost_asio.reference.error__make_error_code">error::make_error_code</a>
+<dt id="ientry-idp141368784">error::make_error_code, <a class="indexterm" href="reference/error__make_error_code.html">error::make_error_code</a>
</dt>
-<dt id="ientry-idp199902480">error::misc_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__misc_category">error::misc_category</a>
+<dt id="ientry-idp141458160">error::misc_category, <a class="indexterm" href="reference/error__misc_category.html">error::misc_category</a>
</dt>
-<dt id="ientry-idp199922272">error::misc_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__misc_errors">error::misc_errors</a>
+<dt id="ientry-idp141478160">error::misc_errors, <a class="indexterm" href="reference/error__misc_errors.html">error::misc_errors</a>
</dt>
-<dt id="ientry-idp199947712">error::netdb_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__netdb_category">error::netdb_category</a>
+<dt id="ientry-idp141503808">error::netdb_category, <a class="indexterm" href="reference/error__netdb_category.html">error::netdb_category</a>
</dt>
-<dt id="ientry-idp199967520">error::netdb_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__netdb_errors">error::netdb_errors</a>
+<dt id="ientry-idp141523888">error::netdb_errors, <a class="indexterm" href="reference/error__netdb_errors.html">error::netdb_errors</a>
</dt>
-<dt id="ientry-idp199992880">error::ssl_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__ssl_category">error::ssl_category</a>
+<dt id="ientry-idp141549520">error::ssl_category, <a class="indexterm" href="reference/error__ssl_category.html">error::ssl_category</a>
</dt>
-<dt id="ientry-idp200012688">error::ssl_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__ssl_errors">error::ssl_errors</a>
+<dt id="ientry-idp141569744">error::ssl_errors, <a class="indexterm" href="reference/error__ssl_errors.html">error::ssl_errors</a>
</dt>
-<dt id="ientry-idp200023328">error::system_category, <a class="indexterm" href="reference.html#boost_asio.reference.error__system_category">error::system_category</a>
+<dt id="ientry-idp141580656">error::system_category, <a class="indexterm" href="reference/error__system_category.html">error::system_category</a>
</dt>
-<dt id="ientry-idp724782496">escape, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.escape">regex</a>
-</dt>
-<dd><dl><dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.escape">regex</a>
-</dt></dl></dd>
-<dt id="ientry-idp223188800">even</dt>
-<dd><dl><dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.type">serial_port_base::parity::type</a>
+<dt id="ientry-idp164696192">even</dt>
+<dd><dl><dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/type.html">serial_port_base::parity::type</a>
</dt></dl></dd>
-<dt id="ientry-idp723522000">exe, <a class="indexterm" href="../bbv2/tasks.html#bbv2.tasks.programs">Programs</a>
-</dt>
-<dt id="ientry-idp724669632">exists, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.exists">path</a>
-</dt>
-<dt id="ientry-idp158363344">expires_at</dt>
+<dt id="ientry-idp99248336">expires_at</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at">basic_deadline_timer::expires_at</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/expires_at.html">basic_deadline_timer::expires_at</a>
</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at">basic_socket_iostream::expires_at</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/expires_at.html">basic_socket_iostream::expires_at</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at">basic_socket_streambuf::expires_at</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/expires_at.html">basic_socket_streambuf::expires_at</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at">basic_waitable_timer::expires_at</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/expires_at.html">basic_waitable_timer::expires_at</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at">deadline_timer_service::expires_at</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/expires_at.html">deadline_timer_service::expires_at</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at">waitable_timer_service::expires_at</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/expires_at.html">waitable_timer_service::expires_at</a>
</dt>
</dl></dd>
-<dt id="ientry-idp158473008">expires_from_now</dt>
+<dt id="ientry-idp99355760">expires_from_now</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now">basic_deadline_timer::expires_from_now</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/expires_from_now.html">basic_deadline_timer::expires_from_now</a>
</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now">basic_socket_iostream::expires_from_now</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/expires_from_now.html">basic_socket_iostream::expires_from_now</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now">basic_socket_streambuf::expires_from_now</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/expires_from_now.html">basic_socket_streambuf::expires_from_now</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now">basic_waitable_timer::expires_from_now</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/expires_from_now.html">basic_waitable_timer::expires_from_now</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now">deadline_timer_service::expires_from_now</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/expires_from_now.html">deadline_timer_service::expires_from_now</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now">waitable_timer_service::expires_from_now</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/expires_from_now.html">waitable_timer_service::expires_from_now</a>
</dt>
</dl></dd>
</dl>
@@ -1449,858 +1350,767 @@
<div class="indexdiv">
<h3>F</h3>
<dl>
-<dt id="ientry-idp200673392">family</dt>
+<dt id="ientry-idp142238976">family</dt>
<dd><dl>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.family">generic::datagram_protocol::family</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/family.html">generic::datagram_protocol::family</a>
</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.family">generic::raw_protocol::family</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/family.html">generic::raw_protocol::family</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.family">generic::seq_packet_protocol::family</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/family.html">generic::seq_packet_protocol::family</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.family">generic::stream_protocol::family</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/family.html">generic::stream_protocol::family</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.family">ip::icmp::family</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/family.html">ip::icmp::family</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.family">ip::tcp::family</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/family.html">ip::tcp::family</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.family">ip::udp::family</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/family.html">ip::udp::family</a>
</dt>
-<dt>local::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__datagram_protocol.family">local::datagram_protocol::family</a>
+<dt>local::datagram_protocol, <a class="indexterm" href="reference/local__datagram_protocol/family.html">local::datagram_protocol::family</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.family">local::stream_protocol::family</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/family.html">local::stream_protocol::family</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724068816">fat binaries, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.compiler.darwin">Apple Darwin gcc</a>
-</dt>
-<dt id="ientry-idp199646816">fault</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
-</dt></dl></dd>
-<dt id="ientry-idp199928656">fd_set_failure</dt>
-<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__misc_errors">error::misc_errors</a>
+<dt id="ientry-idp141199760">fault</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp723838752">features</dt>
-<dd><dl><dt>builtin, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
+<dt id="ientry-idp141484640">fd_set_failure</dt>
+<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference/error__misc_errors.html">error::misc_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp226192880">file_format</dt>
+<dt id="ientry-idp168063552">file_format</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.file_format">ssl::context::file_format</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/file_format.html">ssl::context::file_format</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.file_format">ssl::context_base::file_format</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/file_format.html">ssl::context_base::file_format</a>
</dt>
</dl></dd>
-<dt id="ientry-idp194124368">fill</dt>
+<dt id="ientry-idp135602384">fill</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.fill">buffered_read_stream::fill</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/fill.html">buffered_read_stream::fill</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.fill">buffered_stream::fill</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/fill.html">buffered_stream::fill</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724810368">filter, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.filter">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.filter">sequence</a>
-</dt></dl></dd>
-<dt id="ientry-idp725161248">find, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.find">Class project-target</a>
-</dt>
-<dd><dl><dt>Project Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.find">Class project-target</a>
-</dt></dl></dd>
-<dt id="ientry-idp208901376">flags</dt>
+<dt id="ientry-idp150303360">flags</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags">ip::basic_resolver_query::flags</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/flags.html">ip::basic_resolver_query::flags</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.flags">ip::resolver_query_base::flags</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/flags.html">ip::resolver_query_base::flags</a>
</dt>
</dl></dd>
-<dt id="ientry-idp223039232">flow_control</dt>
-<dd><dl><dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.flow_control">serial_port_base::flow_control::flow_control</a>
+<dt id="ientry-idp164545280">flow_control</dt>
+<dd><dl><dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/flow_control.html">serial_port_base::flow_control::flow_control</a>
</dt></dl></dd>
-<dt id="ientry-idp194730976">flush</dt>
+<dt id="ientry-idp136216848">flush</dt>
<dd><dl>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.flush">buffered_stream::flush</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/flush.html">buffered_stream::flush</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.flush">buffered_write_stream::flush</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/flush.html">buffered_write_stream::flush</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724414832">fo, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp724464096">fop, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.fop">fop</a>
-</dt>
-<dt id="ientry-idp203469904">fork_child</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.fork_event">io_service::fork_event</a>
+<dt id="ientry-idp145068912">fork_child</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/fork_event.html">io_service::fork_event</a>
</dt></dl></dd>
-<dt id="ientry-idp203464304">fork_event</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.fork_event">io_service::fork_event</a>
+<dt id="ientry-idp145063040">fork_event</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/fork_event.html">io_service::fork_event</a>
</dt></dl></dd>
-<dt id="ientry-idp203468800">fork_parent</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.fork_event">io_service::fork_event</a>
+<dt id="ientry-idp145067808">fork_parent</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/fork_event.html">io_service::fork_event</a>
</dt></dl></dd>
-<dt id="ientry-idp203467696">fork_prepare</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.fork_event">io_service::fork_event</a>
+<dt id="ientry-idp145066704">fork_prepare</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/fork_event.html">io_service::fork_event</a>
</dt></dl></dd>
-<dt id="ientry-idp204332480">fork_service</dt>
-<dd><dl><dt>io_service::service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__service.fork_service">io_service::service::fork_service</a>
+<dt id="ientry-idp145759680">fork_service</dt>
+<dd><dl><dt>io_service::service, <a class="indexterm" href="reference/io_service__service/fork_service.html">io_service::service::fork_service</a>
</dt></dl></dd>
-<dt id="ientry-idp724407584">format, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp226470624">for_reading</dt>
+<dt id="ientry-idp168352096">for_reading</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.password_purpose">ssl::context::password_purpose</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/password_purpose.html">ssl::context::password_purpose</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.password_purpose">ssl::context_base::password_purpose</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/password_purpose.html">ssl::context_base::password_purpose</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226471664">for_writing</dt>
+<dt id="ientry-idp168353200">for_writing</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.password_purpose">ssl::context::password_purpose</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/password_purpose.html">ssl::context::password_purpose</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.password_purpose">ssl::context_base::password_purpose</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/password_purpose.html">ssl::context_base::password_purpose</a>
</dt>
</dl></dd>
-<dt id="ientry-idp204923296">from_string</dt>
+<dt id="ientry-idp146292016">from_string</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.from_string">ip::address::from_string</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/from_string.html">ip::address::from_string</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.from_string">ip::address_v4::from_string</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/from_string.html">ip::address_v4::from_string</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.from_string">ip::address_v6::from_string</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/from_string.html">ip::address_v6::from_string</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725080640">full-name, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.full-name">Class abstract-target</a>
-</dt>
-<dd><dl><dt>Abstract Target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.full-name">Class abstract-target</a>
-</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>G</h3>
<dl>
-<dt id="ientry-idp725086384">generate, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.generate">Class abstract-target</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.generate">Class project-target</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.main-target.generate">Class main-target</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.basic-target.generate">Class basic-target</a>
-</dt>
+<dt id="ientry-idp92118784">get</dt>
<dd><dl>
-<dt>Abstract Target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.generate">Class abstract-target</a>
-</dt>
-<dt>Basic Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.basic-target.generate">Class basic-target</a>
+<dt>async_result, <a class="indexterm" href="reference/async_result/get.html">async_result::get</a>
</dt>
-<dt>Main Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.main-target.generate">Class main-target</a>
-</dt>
-<dt>Project Target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.generate">Class project-target</a>
+<dt>windows::overlapped_ptr, <a class="indexterm" href="reference/windows__overlapped_ptr/get.html">windows::overlapped_ptr::get</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725008016">generated-target-prefix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.generated-target-prefix">type</a>
-</dt>
-<dt id="ientry-idp724982528">generated-target-suffix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.generated-target-suffix">type</a>
-</dt>
-<dt id="ientry-idp725604304">generators, <a class="indexterm" href="../bbv2/extender.html#bbv2.extender.overview.generators">Generators</a>
-</dt>
-<dt id="ientry-idp151431888">get, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.get">Class property-set</a>
-</dt>
-<dd><dl>
-<dt>async_result, <a class="indexterm" href="reference.html#boost_asio.reference.async_result.get">async_result::get</a>
-</dt>
-<dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.get">Class property-set</a>
-</dt>
-<dt>windows::overlapped_ptr, <a class="indexterm" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get">windows::overlapped_ptr::get</a>
-</dt>
-</dl></dd>
-<dt id="ientry-idp724931008">get-scanner, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.get-scanner">type</a>
-</dt>
-<dt id="ientry-idp231717232">get_allocator</dt>
-<dd><dl><dt>use_future_t, <a class="indexterm" href="reference.html#boost_asio.reference.use_future_t.get_allocator">use_future_t::get_allocator</a>
+<dt id="ientry-idp173672416">get_allocator</dt>
+<dd><dl><dt>use_future_t, <a class="indexterm" href="reference/use_future_t/get_allocator.html">use_future_t::get_allocator</a>
</dt></dl></dd>
-<dt id="ientry-idp154436992">get_implementation</dt>
+<dt id="ientry-idp95153776">get_implementation</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation">basic_datagram_socket::get_implementation</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/get_implementation.html">basic_datagram_socket::get_implementation</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation">basic_deadline_timer::get_implementation</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/get_implementation.html">basic_deadline_timer::get_implementation</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.get_implementation">basic_io_object::get_implementation</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/get_implementation.html">basic_io_object::get_implementation</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation">basic_raw_socket::get_implementation</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/get_implementation.html">basic_raw_socket::get_implementation</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation">basic_seq_packet_socket::get_implementation</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/get_implementation.html">basic_seq_packet_socket::get_implementation</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation">basic_serial_port::get_implementation</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/get_implementation.html">basic_serial_port::get_implementation</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation">basic_signal_set::get_implementation</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/get_implementation.html">basic_signal_set::get_implementation</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.get_implementation">basic_socket::get_implementation</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/get_implementation.html">basic_socket::get_implementation</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation">basic_socket_acceptor::get_implementation</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/get_implementation.html">basic_socket_acceptor::get_implementation</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation">basic_socket_streambuf::get_implementation</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/get_implementation.html">basic_socket_streambuf::get_implementation</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation">basic_stream_socket::get_implementation</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/get_implementation.html">basic_stream_socket::get_implementation</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation">basic_waitable_timer::get_implementation</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/get_implementation.html">basic_waitable_timer::get_implementation</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation">ip::basic_resolver::get_implementation</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/get_implementation.html">ip::basic_resolver::get_implementation</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation">posix::basic_descriptor::get_implementation</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/get_implementation.html">posix::basic_descriptor::get_implementation</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation">posix::basic_stream_descriptor::get_implementation</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/get_implementation.html">posix::basic_stream_descriptor::get_implementation</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation">windows::basic_handle::get_implementation</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/get_implementation.html">windows::basic_handle::get_implementation</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation">windows::basic_object_handle::get_implementation</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/get_implementation.html">windows::basic_object_handle::get_implementation</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation">windows::basic_random_access_handle::get_implementation</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/get_implementation.html">windows::basic_random_access_handle::get_implementation</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation">windows::basic_stream_handle::get_implementation</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/get_implementation.html">windows::basic_stream_handle::get_implementation</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154466800">get_io_service</dt>
+<dt id="ientry-idp95183920">get_io_service</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service">basic_datagram_socket::get_io_service</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/get_io_service.html">basic_datagram_socket::get_io_service</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.get_io_service">basic_deadline_timer::get_io_service</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/get_io_service.html">basic_deadline_timer::get_io_service</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.get_io_service">basic_io_object::get_io_service</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/get_io_service.html">basic_io_object::get_io_service</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service">basic_raw_socket::get_io_service</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/get_io_service.html">basic_raw_socket::get_io_service</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_io_service">basic_seq_packet_socket::get_io_service</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/get_io_service.html">basic_seq_packet_socket::get_io_service</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.get_io_service">basic_serial_port::get_io_service</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/get_io_service.html">basic_serial_port::get_io_service</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.get_io_service">basic_signal_set::get_io_service</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/get_io_service.html">basic_signal_set::get_io_service</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.get_io_service">basic_socket::get_io_service</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/get_io_service.html">basic_socket::get_io_service</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service">basic_socket_acceptor::get_io_service</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/get_io_service.html">basic_socket_acceptor::get_io_service</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_io_service">basic_socket_streambuf::get_io_service</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/get_io_service.html">basic_socket_streambuf::get_io_service</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service">basic_stream_socket::get_io_service</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/get_io_service.html">basic_stream_socket::get_io_service</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service">basic_waitable_timer::get_io_service</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/get_io_service.html">basic_waitable_timer::get_io_service</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.get_io_service">buffered_read_stream::get_io_service</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/get_io_service.html">buffered_read_stream::get_io_service</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.get_io_service">buffered_stream::get_io_service</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/get_io_service.html">buffered_stream::get_io_service</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.get_io_service">buffered_write_stream::get_io_service</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/get_io_service.html">buffered_write_stream::get_io_service</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.get_io_service">datagram_socket_service::get_io_service</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/get_io_service.html">datagram_socket_service::get_io_service</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.get_io_service">deadline_timer_service::get_io_service</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/get_io_service.html">deadline_timer_service::get_io_service</a>
</dt>
-<dt>io_service::service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__service.get_io_service">io_service::service::get_io_service</a>
+<dt>io_service::service, <a class="indexterm" href="reference/io_service__service/get_io_service.html">io_service::service::get_io_service</a>
</dt>
-<dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand.get_io_service">io_service::strand::get_io_service</a>
+<dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/get_io_service.html">io_service::strand::get_io_service</a>
</dt>
-<dt>io_service::work, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__work.get_io_service">io_service::work::get_io_service</a>
+<dt>io_service::work, <a class="indexterm" href="reference/io_service__work/get_io_service.html">io_service::work::get_io_service</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service">ip::basic_resolver::get_io_service</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/get_io_service.html">ip::basic_resolver::get_io_service</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.get_io_service">ip::resolver_service::get_io_service</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/get_io_service.html">ip::resolver_service::get_io_service</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service">posix::basic_descriptor::get_io_service</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/get_io_service.html">posix::basic_descriptor::get_io_service</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service">posix::basic_stream_descriptor::get_io_service</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/get_io_service.html">posix::basic_stream_descriptor::get_io_service</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.get_io_service">posix::stream_descriptor_service::get_io_service</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/get_io_service.html">posix::stream_descriptor_service::get_io_service</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.get_io_service">raw_socket_service::get_io_service</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/get_io_service.html">raw_socket_service::get_io_service</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.get_io_service">seq_packet_socket_service::get_io_service</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/get_io_service.html">seq_packet_socket_service::get_io_service</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.get_io_service">serial_port_service::get_io_service</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/get_io_service.html">serial_port_service::get_io_service</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.get_io_service">signal_set_service::get_io_service</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/get_io_service.html">signal_set_service::get_io_service</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.get_io_service">socket_acceptor_service::get_io_service</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/get_io_service.html">socket_acceptor_service::get_io_service</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.get_io_service">ssl::stream::get_io_service</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/get_io_service.html">ssl::stream::get_io_service</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.get_io_service">stream_socket_service::get_io_service</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/get_io_service.html">stream_socket_service::get_io_service</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.get_io_service">waitable_timer_service::get_io_service</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/get_io_service.html">waitable_timer_service::get_io_service</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service">windows::basic_handle::get_io_service</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/get_io_service.html">windows::basic_handle::get_io_service</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_io_service">windows::basic_object_handle::get_io_service</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/get_io_service.html">windows::basic_object_handle::get_io_service</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service">windows::basic_random_access_handle::get_io_service</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/get_io_service.html">windows::basic_random_access_handle::get_io_service</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_io_service">windows::basic_stream_handle::get_io_service</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/get_io_service.html">windows::basic_stream_handle::get_io_service</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.get_io_service">windows::object_handle_service::get_io_service</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/get_io_service.html">windows::object_handle_service::get_io_service</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.get_io_service">windows::random_access_handle_service::get_io_service</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/get_io_service.html">windows::random_access_handle_service::get_io_service</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.get_io_service">windows::stream_handle_service::get_io_service</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/get_io_service.html">windows::stream_handle_service::get_io_service</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154484624">get_option</dt>
+<dt id="ientry-idp95202272">get_option</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option">basic_datagram_socket::get_option</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/get_option.html">basic_datagram_socket::get_option</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.get_option">basic_raw_socket::get_option</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/get_option.html">basic_raw_socket::get_option</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option">basic_seq_packet_socket::get_option</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/get_option.html">basic_seq_packet_socket::get_option</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.get_option">basic_serial_port::get_option</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/get_option.html">basic_serial_port::get_option</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.get_option">basic_socket::get_option</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/get_option.html">basic_socket::get_option</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option">basic_socket_acceptor::get_option</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/get_option.html">basic_socket_acceptor::get_option</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option">basic_socket_streambuf::get_option</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/get_option.html">basic_socket_streambuf::get_option</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.get_option">basic_stream_socket::get_option</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/get_option.html">basic_stream_socket::get_option</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.get_option">datagram_socket_service::get_option</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/get_option.html">datagram_socket_service::get_option</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.get_option">raw_socket_service::get_option</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/get_option.html">raw_socket_service::get_option</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.get_option">seq_packet_socket_service::get_option</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/get_option.html">seq_packet_socket_service::get_option</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.get_option">serial_port_service::get_option</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/get_option.html">serial_port_service::get_option</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.get_option">socket_acceptor_service::get_option</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/get_option.html">socket_acceptor_service::get_option</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.get_option">stream_socket_service::get_option</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/get_option.html">stream_socket_service::get_option</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154624320">get_service</dt>
+<dt id="ientry-idp95342720">get_service</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service">basic_datagram_socket::get_service</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/get_service.html">basic_datagram_socket::get_service</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service">basic_deadline_timer::get_service</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/get_service.html">basic_deadline_timer::get_service</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.get_service">basic_io_object::get_service</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/get_service.html">basic_io_object::get_service</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.get_service">basic_raw_socket::get_service</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/get_service.html">basic_raw_socket::get_service</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service">basic_seq_packet_socket::get_service</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/get_service.html">basic_seq_packet_socket::get_service</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.get_service">basic_serial_port::get_service</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/get_service.html">basic_serial_port::get_service</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.get_service">basic_signal_set::get_service</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/get_service.html">basic_signal_set::get_service</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.get_service">basic_socket::get_service</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/get_service.html">basic_socket::get_service</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service">basic_socket_acceptor::get_service</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/get_service.html">basic_socket_acceptor::get_service</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service">basic_socket_streambuf::get_service</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/get_service.html">basic_socket_streambuf::get_service</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.get_service">basic_stream_socket::get_service</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/get_service.html">basic_stream_socket::get_service</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service">basic_waitable_timer::get_service</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/get_service.html">basic_waitable_timer::get_service</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service">ip::basic_resolver::get_service</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/get_service.html">ip::basic_resolver::get_service</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service">posix::basic_descriptor::get_service</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/get_service.html">posix::basic_descriptor::get_service</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service">posix::basic_stream_descriptor::get_service</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/get_service.html">posix::basic_stream_descriptor::get_service</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.get_service">windows::basic_handle::get_service</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/get_service.html">windows::basic_handle::get_service</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service">windows::basic_object_handle::get_service</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/get_service.html">windows::basic_object_handle::get_service</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service">windows::basic_random_access_handle::get_service</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/get_service.html">windows::basic_random_access_handle::get_service</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service">windows::basic_stream_handle::get_service</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/get_service.html">windows::basic_stream_handle::get_service</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724647696">glob, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.glob">path</a>
-</dt>
-<dt id="ientry-idp724682800">glob-in-parents, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.glob-in-parents">path</a>
-</dt>
-<dt id="ientry-idp723798576">glob-tree, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.rules">Builtin rules</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.glob-tree">path</a>
-</dt>
</dl>
</div>
<div class="indexdiv">
<h3>H</h3>
<dl>
-<dt id="ientry-idp228647456">handshake</dt>
-<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.handshake">ssl::stream::handshake</a>
+<dt id="ientry-idp170560816">handshake</dt>
+<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/handshake.html">ssl::stream::handshake</a>
</dt></dl></dd>
-<dt id="ientry-idp228792816">handshake_type</dt>
+<dt id="ientry-idp170707296">handshake_type</dt>
<dd><dl>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.handshake_type">ssl::stream::handshake_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/handshake_type.html">ssl::stream::handshake_type</a>
</dt>
-<dt>ssl::stream_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type">ssl::stream_base::handshake_type</a>
+<dt>ssl::stream_base, <a class="indexterm" href="reference/ssl__stream_base/handshake_type.html">ssl::stream_base::handshake_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp723904080">hardcode-dll-paths, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp223085952">hardware</dt>
-<dd><dl><dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type">serial_port_base::flow_control::type</a>
+<dt id="ientry-idp164592608">hardware</dt>
+<dd><dl><dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/type.html">serial_port_base::flow_control::type</a>
</dt></dl></dd>
-<dt id="ientry-idp725154576">has-main-target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.has-main-target">Class project-target</a>
+<dt id="ientry-idp144331408">has_service, <a class="indexterm" href="reference/has_service.html">has_service</a>
</dt>
-<dd><dl><dt>Project Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.has-main-target">Class project-target</a>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/has_service.html">io_service::has_service</a>
</dt></dl></dd>
-<dt id="ientry-idp724604256">has-parent, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.has-parent">path</a>
+<dt id="ientry-idp144362816">high_resolution_timer, <a class="indexterm" href="reference/high_resolution_timer.html">high_resolution_timer</a>
</dt>
-<dt id="ientry-idp202751328">has_service, <a class="indexterm" href="reference.html#boost_asio.reference.has_service">has_service</a>
-</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.has_service">io_service::has_service</a>
-</dt></dl></dd>
-<dt id="ientry-idp202781904">high_resolution_timer, <a class="indexterm" href="reference.html#boost_asio.reference.high_resolution_timer">high_resolution_timer</a>
-</dt>
-<dt id="ientry-idp208913520">hints</dt>
-<dd><dl><dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.hints">ip::basic_resolver_query::hints</a>
+<dt id="ientry-idp150315568">hints</dt>
+<dd><dl><dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/hints.html">ip::basic_resolver_query::hints</a>
</dt></dl></dd>
-<dt id="ientry-idp208028128">host_name</dt>
+<dt id="ientry-idp149422112">host_name</dt>
<dd><dl>
-<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.host_name">ip::basic_resolver_entry::host_name</a>
+<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/host_name.html">ip::basic_resolver_entry::host_name</a>
</dt>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.host_name">ip::basic_resolver_query::host_name</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/host_name.html">ip::basic_resolver_query::host_name</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199970624">host_not_found</dt>
-<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__netdb_errors">error::netdb_errors</a>
+<dt id="ientry-idp141527072">host_not_found</dt>
+<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference/error__netdb_errors.html">error::netdb_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199971728">host_not_found_try_again</dt>
-<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__netdb_errors">error::netdb_errors</a>
+<dt id="ientry-idp141528176">host_not_found_try_again</dt>
+<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference/error__netdb_errors.html">error::netdb_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199647920">host_unreachable</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141200864">host_unreachable</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp724408400">html, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp724410032">htmlhelp, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
</dl>
</div>
<div class="indexdiv">
<h3>I</h3>
<dl>
-<dt id="ientry-idp198586864">id</dt>
+<dt id="ientry-idp140127152">id</dt>
<dd><dl>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.id">datagram_socket_service::id</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/id.html">datagram_socket_service::id</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.id">deadline_timer_service::id</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/id.html">deadline_timer_service::id</a>
</dt>
-<dt>io_service::id, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__id.id">io_service::id::id</a>
+<dt>io_service::id, <a class="indexterm" href="reference/io_service__id/id.html">io_service::id::id</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.id">ip::resolver_service::id</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/id.html">ip::resolver_service::id</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.id">posix::stream_descriptor_service::id</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/id.html">posix::stream_descriptor_service::id</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.id">raw_socket_service::id</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/id.html">raw_socket_service::id</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.id">seq_packet_socket_service::id</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/id.html">seq_packet_socket_service::id</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.id">serial_port_service::id</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/id.html">serial_port_service::id</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.id">signal_set_service::id</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/id.html">signal_set_service::id</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.id">socket_acceptor_service::id</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/id.html">socket_acceptor_service::id</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.id">stream_socket_service::id</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/id.html">stream_socket_service::id</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.id">waitable_timer_service::id</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/id.html">waitable_timer_service::id</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.id">windows::object_handle_service::id</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/id.html">windows::object_handle_service::id</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.id">windows::random_access_handle_service::id</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/id.html">windows::random_access_handle_service::id</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.id">windows::stream_handle_service::id</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/id.html">windows::stream_handle_service::id</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226207264">impl</dt>
+<dt id="ientry-idp168078080">impl</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.impl">ssl::context::impl</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/impl.html">ssl::context::impl</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.impl">ssl::stream::impl</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/impl.html">ssl::stream::impl</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154653888">implementation</dt>
+<dt id="ientry-idp95372960">implementation</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation">basic_datagram_socket::implementation</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/implementation.html">basic_datagram_socket::implementation</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation">basic_deadline_timer::implementation</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/implementation.html">basic_deadline_timer::implementation</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.implementation">basic_io_object::implementation</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/implementation.html">basic_io_object::implementation</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.implementation">basic_raw_socket::implementation</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/implementation.html">basic_raw_socket::implementation</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation">basic_seq_packet_socket::implementation</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/implementation.html">basic_seq_packet_socket::implementation</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.implementation">basic_serial_port::implementation</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/implementation.html">basic_serial_port::implementation</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.implementation">basic_signal_set::implementation</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/implementation.html">basic_signal_set::implementation</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.implementation">basic_socket::implementation</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/implementation.html">basic_socket::implementation</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation">basic_socket_acceptor::implementation</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/implementation.html">basic_socket_acceptor::implementation</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation">basic_socket_streambuf::implementation</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/implementation.html">basic_socket_streambuf::implementation</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.implementation">basic_stream_socket::implementation</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/implementation.html">basic_stream_socket::implementation</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation">basic_waitable_timer::implementation</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/implementation.html">basic_waitable_timer::implementation</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation">ip::basic_resolver::implementation</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/implementation.html">ip::basic_resolver::implementation</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation">posix::basic_descriptor::implementation</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/implementation.html">posix::basic_descriptor::implementation</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation">posix::basic_stream_descriptor::implementation</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/implementation.html">posix::basic_stream_descriptor::implementation</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.implementation">windows::basic_handle::implementation</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/implementation.html">windows::basic_handle::implementation</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation">windows::basic_object_handle::implementation</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/implementation.html">windows::basic_object_handle::implementation</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation">windows::basic_random_access_handle::implementation</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/implementation.html">windows::basic_random_access_handle::implementation</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation">windows::basic_stream_handle::implementation</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/implementation.html">windows::basic_stream_handle::implementation</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154662320">implementation_type</dt>
+<dt id="ientry-idp95381680">implementation_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type">basic_datagram_socket::implementation_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/implementation_type.html">basic_datagram_socket::implementation_type</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation_type">basic_deadline_timer::implementation_type</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/implementation_type.html">basic_deadline_timer::implementation_type</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.implementation_type">basic_io_object::implementation_type</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/implementation_type.html">basic_io_object::implementation_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type">basic_raw_socket::implementation_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/implementation_type.html">basic_raw_socket::implementation_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation_type">basic_seq_packet_socket::implementation_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/implementation_type.html">basic_seq_packet_socket::implementation_type</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.implementation_type">basic_serial_port::implementation_type</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/implementation_type.html">basic_serial_port::implementation_type</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.implementation_type">basic_signal_set::implementation_type</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/implementation_type.html">basic_signal_set::implementation_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.implementation_type">basic_socket::implementation_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/implementation_type.html">basic_socket::implementation_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type">basic_socket_acceptor::implementation_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/implementation_type.html">basic_socket_acceptor::implementation_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation_type">basic_socket_streambuf::implementation_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/implementation_type.html">basic_socket_streambuf::implementation_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type">basic_stream_socket::implementation_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/implementation_type.html">basic_stream_socket::implementation_type</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type">basic_waitable_timer::implementation_type</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/implementation_type.html">basic_waitable_timer::implementation_type</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.implementation_type">datagram_socket_service::implementation_type</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/implementation_type.html">datagram_socket_service::implementation_type</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.implementation_type">deadline_timer_service::implementation_type</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/implementation_type.html">deadline_timer_service::implementation_type</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type">ip::basic_resolver::implementation_type</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/implementation_type.html">ip::basic_resolver::implementation_type</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.implementation_type">ip::resolver_service::implementation_type</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/implementation_type.html">ip::resolver_service::implementation_type</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type">posix::basic_descriptor::implementation_type</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/implementation_type.html">posix::basic_descriptor::implementation_type</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type">posix::basic_stream_descriptor::implementation_type</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/implementation_type.html">posix::basic_stream_descriptor::implementation_type</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.implementation_type">posix::stream_descriptor_service::implementation_type</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/implementation_type.html">posix::stream_descriptor_service::implementation_type</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.implementation_type">raw_socket_service::implementation_type</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/implementation_type.html">raw_socket_service::implementation_type</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.implementation_type">seq_packet_socket_service::implementation_type</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/implementation_type.html">seq_packet_socket_service::implementation_type</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.implementation_type">serial_port_service::implementation_type</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/implementation_type.html">serial_port_service::implementation_type</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.implementation_type">signal_set_service::implementation_type</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/implementation_type.html">signal_set_service::implementation_type</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.implementation_type">socket_acceptor_service::implementation_type</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/implementation_type.html">socket_acceptor_service::implementation_type</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.implementation_type">stream_socket_service::implementation_type</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/implementation_type.html">stream_socket_service::implementation_type</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.implementation_type">waitable_timer_service::implementation_type</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/implementation_type.html">waitable_timer_service::implementation_type</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type">windows::basic_handle::implementation_type</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/implementation_type.html">windows::basic_handle::implementation_type</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation_type">windows::basic_object_handle::implementation_type</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/implementation_type.html">windows::basic_object_handle::implementation_type</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type">windows::basic_random_access_handle::implementation_type</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/implementation_type.html">windows::basic_random_access_handle::implementation_type</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation_type">windows::basic_stream_handle::implementation_type</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/implementation_type.html">windows::basic_stream_handle::implementation_type</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.implementation_type">windows::object_handle_service::implementation_type</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/implementation_type.html">windows::object_handle_service::implementation_type</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.implementation_type">windows::random_access_handle_service::implementation_type</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/implementation_type.html">windows::random_access_handle_service::implementation_type</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.implementation_type">windows::stream_handle_service::implementation_type</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/implementation_type.html">windows::stream_handle_service::implementation_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp723890432">implicit-dependency, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp226215360">impl_type</dt>
+<dt id="ientry-idp168086464">impl_type</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.impl_type">ssl::context::impl_type</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/impl_type.html">ssl::context::impl_type</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.impl_type">ssl::stream::impl_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/impl_type.html">ssl::stream::impl_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724553792">import, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.import">modules</a>
-</dt>
-<dt id="ientry-idp723917568">include, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp724836304">insertion-sort, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.insertion-sort">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.insertion-sort">sequence</a>
+<dt id="ientry-idp141203072">interrupted</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp723607872">install-source-root, <a class="indexterm" href="../bbv2/tasks.html#bbv2.tasks.installing">Installing</a>
-</dt>
-<dt id="ientry-idp723978464">instruction-set, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp199650128">interrupted</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141204176">invalid_argument</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199651232">invalid_argument</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp144630544">invalid_service_owner</dt>
+<dd><dl><dt>invalid_service_owner, <a class="indexterm" href="reference/invalid_service_owner/invalid_service_owner.html">invalid_service_owner::invalid_service_owner</a>
</dt></dl></dd>
-<dt id="ientry-idp203046320">invalid_service_owner</dt>
-<dd><dl><dt>invalid_service_owner, <a class="indexterm" href="reference.html#boost_asio.reference.invalid_service_owner.invalid_service_owner">invalid_service_owner::invalid_service_owner</a>
-</dt></dl></dd>
-<dt id="ientry-idp194170208">in_avail</dt>
+<dt id="ientry-idp135649552">in_avail</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail">buffered_read_stream::in_avail</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/in_avail.html">buffered_read_stream::in_avail</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.in_avail">buffered_stream::in_avail</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/in_avail.html">buffered_stream::in_avail</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail">buffered_write_stream::in_avail</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/in_avail.html">buffered_write_stream::in_avail</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199649024">in_progress</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141201968">in_progress</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp202283120">iostream</dt>
+<dt id="ientry-idp143860208">iostream</dt>
<dd><dl>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream">generic::stream_protocol::iostream</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/iostream.html">generic::stream_protocol::iostream</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.iostream">ip::tcp::iostream</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/iostream.html">ip::tcp::iostream</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.iostream">local::stream_protocol::iostream</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/iostream.html">local::stream_protocol::iostream</a>
</dt>
</dl></dd>
-<dt id="ientry-idp154675904">io_control</dt>
+<dt id="ientry-idp95395264">io_control</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control">basic_datagram_socket::io_control</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/io_control.html">basic_datagram_socket::io_control</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.io_control">basic_raw_socket::io_control</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/io_control.html">basic_raw_socket::io_control</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control">basic_seq_packet_socket::io_control</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/io_control.html">basic_seq_packet_socket::io_control</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.io_control">basic_socket::io_control</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/io_control.html">basic_socket::io_control</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control">basic_socket_acceptor::io_control</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/io_control.html">basic_socket_acceptor::io_control</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control">basic_socket_streambuf::io_control</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/io_control.html">basic_socket_streambuf::io_control</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.io_control">basic_stream_socket::io_control</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/io_control.html">basic_stream_socket::io_control</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.io_control">datagram_socket_service::io_control</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/io_control.html">datagram_socket_service::io_control</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control">posix::basic_descriptor::io_control</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/io_control.html">posix::basic_descriptor::io_control</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control">posix::basic_stream_descriptor::io_control</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/io_control.html">posix::basic_stream_descriptor::io_control</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.io_control">posix::stream_descriptor_service::io_control</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/io_control.html">posix::stream_descriptor_service::io_control</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.io_control">raw_socket_service::io_control</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/io_control.html">raw_socket_service::io_control</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.io_control">seq_packet_socket_service::io_control</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/io_control.html">seq_packet_socket_service::io_control</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.io_control">socket_acceptor_service::io_control</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/io_control.html">socket_acceptor_service::io_control</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.io_control">stream_socket_service::io_control</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/io_control.html">stream_socket_service::io_control</a>
</dt>
</dl></dd>
-<dt id="ientry-idp181534992">io_handler</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_handler">basic_socket_streambuf::io_handler</a>
+<dt id="ientry-idp122561872">io_handler</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/io_handler.html">basic_socket_streambuf::io_handler</a>
</dt></dl></dd>
-<dt id="ientry-idp203515024">io_service</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.io_service">io_service::io_service</a>
+<dt id="ientry-idp145115296">io_service</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/io_service.html">io_service::io_service</a>
</dt></dl></dd>
-<dt id="ientry-idp208991776">ip::host_name, <a class="indexterm" href="reference.html#boost_asio.reference.ip__host_name">ip::host_name</a>
-</dt>
-<dt id="ientry-idp209653792">ip::multicast::enable_loopback, <a class="indexterm" href="reference.html#boost_asio.reference.ip__multicast__enable_loopback">ip::multicast::enable_loopback</a>
+<dt id="ientry-idp150395008">ip::host_name, <a class="indexterm" href="reference/ip__host_name.html">ip::host_name</a>
</dt>
-<dt id="ientry-idp209711536">ip::multicast::hops, <a class="indexterm" href="reference.html#boost_asio.reference.ip__multicast__hops">ip::multicast::hops</a>
+<dt id="ientry-idp151058608">ip::multicast::enable_loopback, <a class="indexterm" href="reference/ip__multicast__enable_loopback.html">ip::multicast::enable_loopback</a>
</dt>
-<dt id="ientry-idp209769024">ip::multicast::join_group, <a class="indexterm" href="reference.html#boost_asio.reference.ip__multicast__join_group">ip::multicast::join_group</a>
+<dt id="ientry-idp151116720">ip::multicast::hops, <a class="indexterm" href="reference/ip__multicast__hops.html">ip::multicast::hops</a>
</dt>
-<dt id="ientry-idp209815648">ip::multicast::leave_group, <a class="indexterm" href="reference.html#boost_asio.reference.ip__multicast__leave_group">ip::multicast::leave_group</a>
+<dt id="ientry-idp151174480">ip::multicast::join_group, <a class="indexterm" href="reference/ip__multicast__join_group.html">ip::multicast::join_group</a>
</dt>
-<dt id="ientry-idp209862448">ip::multicast::outbound_interface, <a class="indexterm" href="reference.html#boost_asio.reference.ip__multicast__outbound_interface">ip::multicast::outbound_interface</a>
+<dt id="ientry-idp151221728">ip::multicast::leave_group, <a class="indexterm" href="reference/ip__multicast__leave_group.html">ip::multicast::leave_group</a>
</dt>
-<dt id="ientry-idp212188624">ip::unicast::hops, <a class="indexterm" href="reference.html#boost_asio.reference.ip__unicast__hops">ip::unicast::hops</a>
+<dt id="ientry-idp151268736">ip::multicast::outbound_interface, <a class="indexterm" href="reference/ip__multicast__outbound_interface.html">ip::multicast::outbound_interface</a>
</dt>
-<dt id="ientry-idp212245968">ip::v6_only, <a class="indexterm" href="reference.html#boost_asio.reference.ip__v6_only">ip::v6_only</a>
+<dt id="ientry-idp153603840">ip::unicast::hops, <a class="indexterm" href="reference/ip__unicast__hops.html">ip::unicast::hops</a>
</dt>
-<dt id="ientry-idp724955024">is-derived, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.is-derived">type</a>
+<dt id="ientry-idp153661424">ip::v6_only, <a class="indexterm" href="reference/ip__v6_only.html">ip::v6_only</a>
</dt>
-<dt id="ientry-idp724598848">is-rooted, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.is-rooted">path</a>
-</dt>
-<dt id="ientry-idp198048608">is_child</dt>
-<dd><dl><dt>coroutine, <a class="indexterm" href="reference.html#boost_asio.reference.coroutine.is_child">coroutine::is_child</a>
+<dt id="ientry-idp139579696">is_child</dt>
+<dd><dl><dt>coroutine, <a class="indexterm" href="reference/coroutine/is_child.html">coroutine::is_child</a>
</dt></dl></dd>
-<dt id="ientry-idp205667776">is_class_a</dt>
-<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.is_class_a">ip::address_v4::is_class_a</a>
+<dt id="ientry-idp147043488">is_class_a</dt>
+<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/is_class_a.html">ip::address_v4::is_class_a</a>
</dt></dl></dd>
-<dt id="ientry-idp205674880">is_class_b</dt>
-<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.is_class_b">ip::address_v4::is_class_b</a>
+<dt id="ientry-idp147050736">is_class_b</dt>
+<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/is_class_b.html">ip::address_v4::is_class_b</a>
</dt></dl></dd>
-<dt id="ientry-idp205681920">is_class_c</dt>
-<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.is_class_c">ip::address_v4::is_class_c</a>
+<dt id="ientry-idp147057920">is_class_c</dt>
+<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/is_class_c.html">ip::address_v4::is_class_c</a>
</dt></dl></dd>
-<dt id="ientry-idp198055712">is_complete</dt>
-<dd><dl><dt>coroutine, <a class="indexterm" href="reference.html#boost_asio.reference.coroutine.is_complete">coroutine::is_complete</a>
+<dt id="ientry-idp139586944">is_complete</dt>
+<dd><dl><dt>coroutine, <a class="indexterm" href="reference/coroutine/is_complete.html">coroutine::is_complete</a>
</dt></dl></dd>
-<dt id="ientry-idp206261360">is_link_local</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_link_local">ip::address_v6::is_link_local</a>
+<dt id="ientry-idp147641520">is_link_local</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_link_local.html">ip::address_v6::is_link_local</a>
</dt></dl></dd>
-<dt id="ientry-idp205014976">is_loopback</dt>
+<dt id="ientry-idp146384208">is_loopback</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.is_loopback">ip::address::is_loopback</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/is_loopback.html">ip::address::is_loopback</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.is_loopback">ip::address_v4::is_loopback</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/is_loopback.html">ip::address_v4::is_loopback</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_loopback">ip::address_v6::is_loopback</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_loopback.html">ip::address_v6::is_loopback</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205022016">is_multicast</dt>
+<dt id="ientry-idp146391392">is_multicast</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.is_multicast">ip::address::is_multicast</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/is_multicast.html">ip::address::is_multicast</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.is_multicast">ip::address_v4::is_multicast</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/is_multicast.html">ip::address_v4::is_multicast</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast">ip::address_v6::is_multicast</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_multicast.html">ip::address_v6::is_multicast</a>
</dt>
</dl></dd>
-<dt id="ientry-idp206282608">is_multicast_global</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_global">ip::address_v6::is_multicast_global</a>
+<dt id="ientry-idp147663232">is_multicast_global</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_multicast_global.html">ip::address_v6::is_multicast_global</a>
</dt></dl></dd>
-<dt id="ientry-idp206289744">is_multicast_link_local</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_link_local">ip::address_v6::is_multicast_link_local</a>
+<dt id="ientry-idp147670576">is_multicast_link_local</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_multicast_link_local.html">ip::address_v6::is_multicast_link_local</a>
</dt></dl></dd>
-<dt id="ientry-idp206296928">is_multicast_node_local</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_node_local">ip::address_v6::is_multicast_node_local</a>
+<dt id="ientry-idp147677904">is_multicast_node_local</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_multicast_node_local.html">ip::address_v6::is_multicast_node_local</a>
</dt></dl></dd>
-<dt id="ientry-idp206304048">is_multicast_org_local</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_org_local">ip::address_v6::is_multicast_org_local</a>
+<dt id="ientry-idp147685168">is_multicast_org_local</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_multicast_org_local.html">ip::address_v6::is_multicast_org_local</a>
</dt></dl></dd>
-<dt id="ientry-idp206311168">is_multicast_site_local</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_site_local">ip::address_v6::is_multicast_site_local</a>
+<dt id="ientry-idp147692432">is_multicast_site_local</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_multicast_site_local.html">ip::address_v6::is_multicast_site_local</a>
</dt></dl></dd>
-<dt id="ientry-idp154813216">is_open</dt>
+<dt id="ientry-idp95533840">is_open</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.is_open">basic_datagram_socket::is_open</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/is_open.html">basic_datagram_socket::is_open</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.is_open">basic_raw_socket::is_open</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/is_open.html">basic_raw_socket::is_open</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.is_open">basic_seq_packet_socket::is_open</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/is_open.html">basic_seq_packet_socket::is_open</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.is_open">basic_serial_port::is_open</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/is_open.html">basic_serial_port::is_open</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.is_open">basic_socket::is_open</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/is_open.html">basic_socket::is_open</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.is_open">basic_socket_acceptor::is_open</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/is_open.html">basic_socket_acceptor::is_open</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.is_open">basic_socket_streambuf::is_open</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/is_open.html">basic_socket_streambuf::is_open</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.is_open">basic_stream_socket::is_open</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/is_open.html">basic_stream_socket::is_open</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.is_open">datagram_socket_service::is_open</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/is_open.html">datagram_socket_service::is_open</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.is_open">posix::basic_descriptor::is_open</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/is_open.html">posix::basic_descriptor::is_open</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.is_open">posix::basic_stream_descriptor::is_open</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/is_open.html">posix::basic_stream_descriptor::is_open</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.is_open">posix::stream_descriptor_service::is_open</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/is_open.html">posix::stream_descriptor_service::is_open</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.is_open">raw_socket_service::is_open</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/is_open.html">raw_socket_service::is_open</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.is_open">seq_packet_socket_service::is_open</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/is_open.html">seq_packet_socket_service::is_open</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.is_open">serial_port_service::is_open</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/is_open.html">serial_port_service::is_open</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.is_open">socket_acceptor_service::is_open</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/is_open.html">socket_acceptor_service::is_open</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.is_open">stream_socket_service::is_open</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/is_open.html">stream_socket_service::is_open</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.is_open">windows::basic_handle::is_open</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/is_open.html">windows::basic_handle::is_open</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.is_open">windows::basic_object_handle::is_open</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/is_open.html">windows::basic_object_handle::is_open</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.is_open">windows::basic_random_access_handle::is_open</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/is_open.html">windows::basic_random_access_handle::is_open</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.is_open">windows::basic_stream_handle::is_open</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/is_open.html">windows::basic_stream_handle::is_open</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.is_open">windows::object_handle_service::is_open</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/is_open.html">windows::object_handle_service::is_open</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.is_open">windows::random_access_handle_service::is_open</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/is_open.html">windows::random_access_handle_service::is_open</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.is_open">windows::stream_handle_service::is_open</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/is_open.html">windows::stream_handle_service::is_open</a>
</dt>
</dl></dd>
-<dt id="ientry-idp198062752">is_parent</dt>
-<dd><dl><dt>coroutine, <a class="indexterm" href="reference.html#boost_asio.reference.coroutine.is_parent">coroutine::is_parent</a>
+<dt id="ientry-idp139594192">is_parent</dt>
+<dd><dl><dt>coroutine, <a class="indexterm" href="reference/coroutine/is_parent.html">coroutine::is_parent</a>
</dt></dl></dd>
-<dt id="ientry-idp206318288">is_site_local</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_site_local">ip::address_v6::is_site_local</a>
+<dt id="ientry-idp147699760">is_site_local</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_site_local.html">ip::address_v6::is_site_local</a>
</dt></dl></dd>
-<dt id="ientry-idp205029056">is_unspecified</dt>
+<dt id="ientry-idp146398640">is_unspecified</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.is_unspecified">ip::address::is_unspecified</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/is_unspecified.html">ip::address::is_unspecified</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.is_unspecified">ip::address_v4::is_unspecified</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/is_unspecified.html">ip::address_v4::is_unspecified</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_unspecified">ip::address_v6::is_unspecified</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_unspecified.html">ip::address_v6::is_unspecified</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205036000">is_v4</dt>
-<dd><dl><dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.is_v4">ip::address::is_v4</a>
+<dt id="ientry-idp146405792">is_v4</dt>
+<dd><dl><dt>ip::address, <a class="indexterm" href="reference/ip__address/is_v4.html">ip::address::is_v4</a>
</dt></dl></dd>
-<dt id="ientry-idp206332272">is_v4_compatible</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_v4_compatible">ip::address_v6::is_v4_compatible</a>
+<dt id="ientry-idp147714032">is_v4_compatible</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_v4_compatible.html">ip::address_v6::is_v4_compatible</a>
</dt></dl></dd>
-<dt id="ientry-idp206339392">is_v4_mapped</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.is_v4_mapped">ip::address_v6::is_v4_mapped</a>
+<dt id="ientry-idp147721232">is_v4_mapped</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/is_v4_mapped.html">ip::address_v6::is_v4_mapped</a>
</dt></dl></dd>
-<dt id="ientry-idp205043024">is_v6</dt>
-<dd><dl><dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.is_v6">ip::address::is_v6</a>
+<dt id="ientry-idp146412896">is_v6</dt>
+<dd><dl><dt>ip::address, <a class="indexterm" href="reference/ip__address/is_v6.html">ip::address::is_v6</a>
</dt></dl></dd>
-<dt id="ientry-idp207536896">iterator</dt>
-<dd><dl><dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator">ip::basic_resolver::iterator</a>
+<dt id="ientry-idp148928816">iterator</dt>
+<dd><dl><dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/iterator.html">ip::basic_resolver::iterator</a>
</dt></dl></dd>
-<dt id="ientry-idp195820016">iterator_category</dt>
+<dt id="ientry-idp137319440">iterator_category</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.iterator_category">buffers_iterator::iterator_category</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/iterator_category.html">buffers_iterator::iterator_category</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category">ip::basic_resolver_iterator::iterator_category</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/iterator_category.html">ip::basic_resolver_iterator::iterator_category</a>
</dt>
</dl></dd>
-<dt id="ientry-idp210277824">iterator_type</dt>
-<dd><dl><dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type">ip::resolver_service::iterator_type</a>
-</dt></dl></dd>
-</dl>
-</div>
-<div class="indexdiv">
-<h3>J</h3>
-<dl>
-<dt id="ientry-idp724629872">join, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.join">path</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.join">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.join">sequence</a>
+<dt id="ientry-idp151687472">iterator_type</dt>
+<dd><dl><dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/iterator_type.html">ip::resolver_service::iterator_type</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>K</h3>
<dl>
-<dt id="ientry-idp154821056">keep_alive</dt>
+<dt id="ientry-idp95541888">keep_alive</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive">basic_datagram_socket::keep_alive</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/keep_alive.html">basic_datagram_socket::keep_alive</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive">basic_raw_socket::keep_alive</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/keep_alive.html">basic_raw_socket::keep_alive</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive">basic_seq_packet_socket::keep_alive</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/keep_alive.html">basic_seq_packet_socket::keep_alive</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.keep_alive">basic_socket::keep_alive</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/keep_alive.html">basic_socket::keep_alive</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive">basic_socket_acceptor::keep_alive</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/keep_alive.html">basic_socket_acceptor::keep_alive</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.keep_alive">basic_socket_streambuf::keep_alive</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/keep_alive.html">basic_socket_streambuf::keep_alive</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive">basic_stream_socket::keep_alive</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/keep_alive.html">basic_stream_socket::keep_alive</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.keep_alive">socket_base::keep_alive</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/keep_alive.html">socket_base::keep_alive</a>
</dt>
</dl></dd>
</dl>
@@ -2308,175 +2118,160 @@
<div class="indexdiv">
<h3>L</h3>
<dl>
-<dt id="ientry-idp724859952">length, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.length">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.length">sequence</a>
-</dt></dl></dd>
-<dt id="ientry-idp231410928">less_than</dt>
-<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.less_than">time_traits&lt;
+<dt id="ientry-idp173362768">less_than</dt>
+<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/less_than.html">time_traits&lt;
boost::posix_time::ptime &gt;::less_than</a>
</dt></dl></dd>
-<dt id="ientry-idp723530528">library, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dd><dl><dt>target, <a class="indexterm" href="../bbv2/tasks.html#bbv2.tasks.libraries">Libraries</a>
-</dt></dl></dd>
-<dt id="ientry-idp154877920">linger</dt>
+<dt id="ientry-idp95599136">linger</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.linger">basic_datagram_socket::linger</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/linger.html">basic_datagram_socket::linger</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.linger">basic_raw_socket::linger</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/linger.html">basic_raw_socket::linger</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger">basic_seq_packet_socket::linger</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/linger.html">basic_seq_packet_socket::linger</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.linger">basic_socket::linger</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/linger.html">basic_socket::linger</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger">basic_socket_acceptor::linger</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/linger.html">basic_socket_acceptor::linger</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.linger">basic_socket_streambuf::linger</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/linger.html">basic_socket_streambuf::linger</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.linger">basic_stream_socket::linger</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/linger.html">basic_stream_socket::linger</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.linger">socket_base::linger</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/linger.html">socket_base::linger</a>
</dt>
</dl></dd>
-<dt id="ientry-idp723857264">link, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp178086608">listen</dt>
+<dt id="ientry-idp119087424">listen</dt>
<dd><dl>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen">basic_socket_acceptor::listen</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/listen.html">basic_socket_acceptor::listen</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.listen">socket_acceptor_service::listen</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/listen.html">socket_acceptor_service::listen</a>
</dt>
</dl></dd>
-<dt id="ientry-idp222881040">load, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.load">modules</a>
-</dt>
+<dt id="ientry-idp164386304">load</dt>
<dd><dl>
-<dt>serial_port_base::baud_rate, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.load">serial_port_base::baud_rate::load</a>
+<dt>serial_port_base::baud_rate, <a class="indexterm" href="reference/serial_port_base__baud_rate/load.html">serial_port_base::baud_rate::load</a>
</dt>
-<dt>serial_port_base::character_size, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__character_size.load">serial_port_base::character_size::load</a>
+<dt>serial_port_base::character_size, <a class="indexterm" href="reference/serial_port_base__character_size/load.html">serial_port_base::character_size::load</a>
</dt>
-<dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.load">serial_port_base::flow_control::load</a>
+<dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/load.html">serial_port_base::flow_control::load</a>
</dt>
-<dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.load">serial_port_base::parity::load</a>
+<dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/load.html">serial_port_base::parity::load</a>
</dt>
-<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.load">serial_port_base::stop_bits::load</a>
+<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/load.html">serial_port_base::stop_bits::load</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226228176">load_verify_file</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.load_verify_file">ssl::context::load_verify_file</a>
+<dt id="ientry-idp168099424">load_verify_file</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/load_verify_file.html">ssl::context::load_verify_file</a>
</dt></dl></dd>
-<dt id="ientry-idp212873584">local::connect_pair, <a class="indexterm" href="reference.html#boost_asio.reference.local__connect_pair">local::connect_pair</a>
+<dt id="ientry-idp154293200">local::connect_pair, <a class="indexterm" href="reference/local__connect_pair.html">local::connect_pair</a>
</dt>
-<dt id="ientry-idp154939792">local_endpoint</dt>
+<dt id="ientry-idp95661632">local_endpoint</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint">basic_datagram_socket::local_endpoint</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/local_endpoint.html">basic_datagram_socket::local_endpoint</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint">basic_raw_socket::local_endpoint</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/local_endpoint.html">basic_raw_socket::local_endpoint</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint">basic_seq_packet_socket::local_endpoint</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/local_endpoint.html">basic_seq_packet_socket::local_endpoint</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.local_endpoint">basic_socket::local_endpoint</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/local_endpoint.html">basic_socket::local_endpoint</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint">basic_socket_acceptor::local_endpoint</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/local_endpoint.html">basic_socket_acceptor::local_endpoint</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint">basic_socket_streambuf::local_endpoint</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/local_endpoint.html">basic_socket_streambuf::local_endpoint</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint">basic_stream_socket::local_endpoint</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/local_endpoint.html">basic_stream_socket::local_endpoint</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.local_endpoint">datagram_socket_service::local_endpoint</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/local_endpoint.html">datagram_socket_service::local_endpoint</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.local_endpoint">raw_socket_service::local_endpoint</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/local_endpoint.html">raw_socket_service::local_endpoint</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.local_endpoint">seq_packet_socket_service::local_endpoint</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/local_endpoint.html">seq_packet_socket_service::local_endpoint</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.local_endpoint">socket_acceptor_service::local_endpoint</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/local_endpoint.html">socket_acceptor_service::local_endpoint</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.local_endpoint">stream_socket_service::local_endpoint</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/local_endpoint.html">stream_socket_service::local_endpoint</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725074992">location, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.location">Class abstract-target</a>
-</dt>
-<dd><dl><dt>Abstract Target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.location">Class abstract-target</a>
-</dt></dl></dd>
-<dt id="ientry-idp205710160">loopback</dt>
+<dt id="ientry-idp147086736">loopback</dt>
<dd><dl>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.loopback">ip::address_v4::loopback</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/loopback.html">ip::address_v4::loopback</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.loopback">ip::address_v6::loopback</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/loopback.html">ip::address_v6::loopback</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155044016">lowest_layer</dt>
+<dt id="ientry-idp95767168">lowest_layer</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer">basic_datagram_socket::lowest_layer</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/lowest_layer.html">basic_datagram_socket::lowest_layer</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer">basic_raw_socket::lowest_layer</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/lowest_layer.html">basic_raw_socket::lowest_layer</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer">basic_seq_packet_socket::lowest_layer</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/lowest_layer.html">basic_seq_packet_socket::lowest_layer</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer">basic_serial_port::lowest_layer</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/lowest_layer.html">basic_serial_port::lowest_layer</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.lowest_layer">basic_socket::lowest_layer</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/lowest_layer.html">basic_socket::lowest_layer</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer">basic_socket_streambuf::lowest_layer</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/lowest_layer.html">basic_socket_streambuf::lowest_layer</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer">basic_stream_socket::lowest_layer</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/lowest_layer.html">basic_stream_socket::lowest_layer</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer">buffered_read_stream::lowest_layer</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/lowest_layer.html">buffered_read_stream::lowest_layer</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer">buffered_stream::lowest_layer</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/lowest_layer.html">buffered_stream::lowest_layer</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer">buffered_write_stream::lowest_layer</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/lowest_layer.html">buffered_write_stream::lowest_layer</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer">posix::basic_descriptor::lowest_layer</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/lowest_layer.html">posix::basic_descriptor::lowest_layer</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer">posix::basic_stream_descriptor::lowest_layer</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/lowest_layer.html">posix::basic_stream_descriptor::lowest_layer</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer">ssl::stream::lowest_layer</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/lowest_layer.html">ssl::stream::lowest_layer</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer">windows::basic_handle::lowest_layer</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/lowest_layer.html">windows::basic_handle::lowest_layer</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer">windows::basic_object_handle::lowest_layer</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/lowest_layer.html">windows::basic_object_handle::lowest_layer</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer">windows::basic_random_access_handle::lowest_layer</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/lowest_layer.html">windows::basic_random_access_handle::lowest_layer</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer">windows::basic_stream_handle::lowest_layer</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/lowest_layer.html">windows::basic_stream_handle::lowest_layer</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155086192">lowest_layer_type</dt>
+<dt id="ientry-idp95810272">lowest_layer_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type">basic_datagram_socket::lowest_layer_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/lowest_layer_type.html">basic_datagram_socket::lowest_layer_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type">basic_raw_socket::lowest_layer_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/lowest_layer_type.html">basic_raw_socket::lowest_layer_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type">basic_seq_packet_socket::lowest_layer_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/lowest_layer_type.html">basic_seq_packet_socket::lowest_layer_type</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type">basic_serial_port::lowest_layer_type</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/lowest_layer_type.html">basic_serial_port::lowest_layer_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type">basic_socket::lowest_layer_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/lowest_layer_type.html">basic_socket::lowest_layer_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type">basic_socket_streambuf::lowest_layer_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/lowest_layer_type.html">basic_socket_streambuf::lowest_layer_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type">basic_stream_socket::lowest_layer_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/lowest_layer_type.html">basic_stream_socket::lowest_layer_type</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer_type">buffered_read_stream::lowest_layer_type</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/lowest_layer_type.html">buffered_read_stream::lowest_layer_type</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer_type">buffered_stream::lowest_layer_type</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/lowest_layer_type.html">buffered_stream::lowest_layer_type</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer_type">buffered_write_stream::lowest_layer_type</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/lowest_layer_type.html">buffered_write_stream::lowest_layer_type</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type">posix::basic_descriptor::lowest_layer_type</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/lowest_layer_type.html">posix::basic_descriptor::lowest_layer_type</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type">posix::basic_stream_descriptor::lowest_layer_type</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/lowest_layer_type.html">posix::basic_stream_descriptor::lowest_layer_type</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer_type">ssl::stream::lowest_layer_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/lowest_layer_type.html">ssl::stream::lowest_layer_type</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type">windows::basic_handle::lowest_layer_type</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/lowest_layer_type.html">windows::basic_handle::lowest_layer_type</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type">windows::basic_object_handle::lowest_layer_type</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/lowest_layer_type.html">windows::basic_object_handle::lowest_layer_type</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type">windows::basic_random_access_handle::lowest_layer_type</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/lowest_layer_type.html">windows::basic_random_access_handle::lowest_layer_type</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type">windows::basic_stream_handle::lowest_layer_type</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/lowest_layer_type.html">windows::basic_stream_handle::lowest_layer_type</a>
</dt>
</dl></dd>
</dl>
@@ -2484,678 +2279,637 @@
<div class="indexdiv">
<h3>M</h3>
<dl>
-<dt id="ientry-idp723141120">main target (see metataget)</dt>
-<dd><dl><dt>declaration
- syntax, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.targets">Declaring Targets</a>
-</dt></dl></dd>
-<dt id="ientry-idp725147152">main-target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.main-target">Class project-target</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.main-target">Class main-target</a>
-</dt>
-<dd><dl><dt>Project Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target.main-target">Class project-target</a>
-</dt></dl></dd>
-<dt id="ientry-idp724587712">make, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.make">path</a>
-</dt>
-<dd><dl><dt>path, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.make">path</a>
-</dt></dl></dd>
-<dt id="ientry-idp724411664">man, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp723997568">manifest file</dt>
-<dd><dl><dt>embedding, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt></dl></dd>
-<dt id="ientry-idp724762912">match, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.match">regex</a>
-</dt>
-<dd><dl><dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.match">regex</a>
-</dt></dl></dd>
-<dt id="ientry-idp724873760">max-element, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.max-element">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.max-element">sequence</a>
-</dt></dl></dd>
-<dt id="ientry-idp155342112">max_connections</dt>
+<dt id="ientry-idp96067200">max_connections</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections">basic_datagram_socket::max_connections</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/max_connections.html">basic_datagram_socket::max_connections</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.max_connections">basic_raw_socket::max_connections</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/max_connections.html">basic_raw_socket::max_connections</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.max_connections">basic_seq_packet_socket::max_connections</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/max_connections.html">basic_seq_packet_socket::max_connections</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.max_connections">basic_socket::max_connections</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/max_connections.html">basic_socket::max_connections</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.max_connections">basic_socket_acceptor::max_connections</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/max_connections.html">basic_socket_acceptor::max_connections</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.max_connections">basic_socket_streambuf::max_connections</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/max_connections.html">basic_socket_streambuf::max_connections</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.max_connections">basic_stream_socket::max_connections</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/max_connections.html">basic_stream_socket::max_connections</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.max_connections">socket_base::max_connections</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/max_connections.html">socket_base::max_connections</a>
</dt>
</dl></dd>
-<dt id="ientry-idp189385104">max_size</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.max_size">basic_streambuf::max_size</a>
-</dt></dl></dd>
-<dt id="ientry-idp724844208">merge, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.merge">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.merge">sequence</a>
+<dt id="ientry-idp130474096">max_size</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/max_size.html">basic_streambuf::max_size</a>
</dt></dl></dd>
-<dt id="ientry-idp155351440">message_do_not_route</dt>
+<dt id="ientry-idp96076832">message_do_not_route</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route">basic_datagram_socket::message_do_not_route</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/message_do_not_route.html">basic_datagram_socket::message_do_not_route</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.message_do_not_route">basic_raw_socket::message_do_not_route</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/message_do_not_route.html">basic_raw_socket::message_do_not_route</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_do_not_route">basic_seq_packet_socket::message_do_not_route</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/message_do_not_route.html">basic_seq_packet_socket::message_do_not_route</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route">basic_socket::message_do_not_route</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/message_do_not_route.html">basic_socket::message_do_not_route</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_do_not_route">basic_socket_acceptor::message_do_not_route</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/message_do_not_route.html">basic_socket_acceptor::message_do_not_route</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_do_not_route">basic_socket_streambuf::message_do_not_route</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/message_do_not_route.html">basic_socket_streambuf::message_do_not_route</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route">basic_stream_socket::message_do_not_route</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/message_do_not_route.html">basic_stream_socket::message_do_not_route</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.message_do_not_route">socket_base::message_do_not_route</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/message_do_not_route.html">socket_base::message_do_not_route</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155360928">message_end_of_record</dt>
+<dt id="ientry-idp96086464">message_end_of_record</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record">basic_datagram_socket::message_end_of_record</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/message_end_of_record.html">basic_datagram_socket::message_end_of_record</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.message_end_of_record">basic_raw_socket::message_end_of_record</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/message_end_of_record.html">basic_raw_socket::message_end_of_record</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_end_of_record">basic_seq_packet_socket::message_end_of_record</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/message_end_of_record.html">basic_seq_packet_socket::message_end_of_record</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record">basic_socket::message_end_of_record</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/message_end_of_record.html">basic_socket::message_end_of_record</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_end_of_record">basic_socket_acceptor::message_end_of_record</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/message_end_of_record.html">basic_socket_acceptor::message_end_of_record</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_end_of_record">basic_socket_streambuf::message_end_of_record</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/message_end_of_record.html">basic_socket_streambuf::message_end_of_record</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record">basic_stream_socket::message_end_of_record</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/message_end_of_record.html">basic_stream_socket::message_end_of_record</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.message_end_of_record">socket_base::message_end_of_record</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/message_end_of_record.html">socket_base::message_end_of_record</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155370384">message_flags</dt>
+<dt id="ientry-idp96096064">message_flags</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags">basic_datagram_socket::message_flags</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/message_flags.html">basic_datagram_socket::message_flags</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.message_flags">basic_raw_socket::message_flags</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/message_flags.html">basic_raw_socket::message_flags</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_flags">basic_seq_packet_socket::message_flags</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/message_flags.html">basic_seq_packet_socket::message_flags</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.message_flags">basic_socket::message_flags</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/message_flags.html">basic_socket::message_flags</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags">basic_socket_acceptor::message_flags</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/message_flags.html">basic_socket_acceptor::message_flags</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_flags">basic_socket_streambuf::message_flags</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/message_flags.html">basic_socket_streambuf::message_flags</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags">basic_stream_socket::message_flags</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/message_flags.html">basic_stream_socket::message_flags</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.message_flags">socket_base::message_flags</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/message_flags.html">socket_base::message_flags</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155383440">message_out_of_band</dt>
+<dt id="ientry-idp96109328">message_out_of_band</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band">basic_datagram_socket::message_out_of_band</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/message_out_of_band.html">basic_datagram_socket::message_out_of_band</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.message_out_of_band">basic_raw_socket::message_out_of_band</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/message_out_of_band.html">basic_raw_socket::message_out_of_band</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_out_of_band">basic_seq_packet_socket::message_out_of_band</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/message_out_of_band.html">basic_seq_packet_socket::message_out_of_band</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band">basic_socket::message_out_of_band</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/message_out_of_band.html">basic_socket::message_out_of_band</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_out_of_band">basic_socket_acceptor::message_out_of_band</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/message_out_of_band.html">basic_socket_acceptor::message_out_of_band</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_out_of_band">basic_socket_streambuf::message_out_of_band</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/message_out_of_band.html">basic_socket_streambuf::message_out_of_band</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band">basic_stream_socket::message_out_of_band</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/message_out_of_band.html">basic_stream_socket::message_out_of_band</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.message_out_of_band">socket_base::message_out_of_band</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/message_out_of_band.html">socket_base::message_out_of_band</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155392864">message_peek</dt>
+<dt id="ientry-idp96118896">message_peek</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek">basic_datagram_socket::message_peek</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/message_peek.html">basic_datagram_socket::message_peek</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.message_peek">basic_raw_socket::message_peek</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/message_peek.html">basic_raw_socket::message_peek</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_peek">basic_seq_packet_socket::message_peek</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/message_peek.html">basic_seq_packet_socket::message_peek</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.message_peek">basic_socket::message_peek</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/message_peek.html">basic_socket::message_peek</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_peek">basic_socket_acceptor::message_peek</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/message_peek.html">basic_socket_acceptor::message_peek</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_peek">basic_socket_streambuf::message_peek</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/message_peek.html">basic_socket_streambuf::message_peek</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.message_peek">basic_stream_socket::message_peek</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/message_peek.html">basic_stream_socket::message_peek</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.message_peek">socket_base::message_peek</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/message_peek.html">socket_base::message_peek</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199652336">message_size</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
-</dt></dl></dd>
-<dt id="ientry-idp723139760">metatarget</dt>
-<dd><dl><dt>definition, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.concepts">Concepts</a>
+<dt id="ientry-idp141205280">message_size</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp226306944">method</dt>
+<dt id="ientry-idp168178512">method</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724711712">mkdirs, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.mkdirs">path</a>
-</dt>
-<dt id="ientry-idp724473824">modules, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules">modules</a>
-</dt>
-<dt id="ientry-idp198655456">move_assign</dt>
+<dt id="ientry-idp140196816">move_assign</dt>
<dd><dl>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.move_assign">datagram_socket_service::move_assign</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/move_assign.html">datagram_socket_service::move_assign</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_assign">posix::stream_descriptor_service::move_assign</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/move_assign.html">posix::stream_descriptor_service::move_assign</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.move_assign">raw_socket_service::move_assign</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/move_assign.html">raw_socket_service::move_assign</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.move_assign">seq_packet_socket_service::move_assign</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/move_assign.html">seq_packet_socket_service::move_assign</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.move_assign">serial_port_service::move_assign</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/move_assign.html">serial_port_service::move_assign</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.move_assign">socket_acceptor_service::move_assign</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/move_assign.html">socket_acceptor_service::move_assign</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.move_assign">stream_socket_service::move_assign</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/move_assign.html">stream_socket_service::move_assign</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.move_assign">windows::object_handle_service::move_assign</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/move_assign.html">windows::object_handle_service::move_assign</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_assign">windows::random_access_handle_service::move_assign</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/move_assign.html">windows::random_access_handle_service::move_assign</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.move_assign">windows::stream_handle_service::move_assign</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/move_assign.html">windows::stream_handle_service::move_assign</a>
</dt>
</dl></dd>
-<dt id="ientry-idp198669200">move_construct</dt>
+<dt id="ientry-idp140210720">move_construct</dt>
<dd><dl>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.move_construct">datagram_socket_service::move_construct</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/move_construct.html">datagram_socket_service::move_construct</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_construct">posix::stream_descriptor_service::move_construct</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/move_construct.html">posix::stream_descriptor_service::move_construct</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.move_construct">raw_socket_service::move_construct</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/move_construct.html">raw_socket_service::move_construct</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.move_construct">seq_packet_socket_service::move_construct</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/move_construct.html">seq_packet_socket_service::move_construct</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.move_construct">serial_port_service::move_construct</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/move_construct.html">serial_port_service::move_construct</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.move_construct">socket_acceptor_service::move_construct</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/move_construct.html">socket_acceptor_service::move_construct</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.move_construct">stream_socket_service::move_construct</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/move_construct.html">stream_socket_service::move_construct</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.move_construct">windows::object_handle_service::move_construct</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/move_construct.html">windows::object_handle_service::move_construct</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_construct">windows::random_access_handle_service::move_construct</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/move_construct.html">windows::random_access_handle_service::move_construct</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.move_construct">windows::stream_handle_service::move_construct</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/move_construct.html">windows::stream_handle_service::move_construct</a>
</dt>
</dl></dd>
-<dt id="ientry-idp214288256">mutable_buffer</dt>
-<dd><dl><dt>mutable_buffer, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer">mutable_buffer::mutable_buffer</a>
+<dt id="ientry-idp155710832">mutable_buffer</dt>
+<dd><dl><dt>mutable_buffer, <a class="indexterm" href="reference/mutable_buffer/mutable_buffer.html">mutable_buffer::mutable_buffer</a>
</dt></dl></dd>
-<dt id="ientry-idp214444896">mutable_buffers_1</dt>
-<dd><dl><dt>mutable_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1">mutable_buffers_1::mutable_buffers_1</a>
+<dt id="ientry-idp155868688">mutable_buffers_1</dt>
+<dd><dl><dt>mutable_buffers_1, <a class="indexterm" href="reference/mutable_buffers_1/mutable_buffers_1.html">mutable_buffers_1::mutable_buffers_1</a>
</dt></dl></dd>
-<dt id="ientry-idp189398416">mutable_buffers_type</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.mutable_buffers_type">basic_streambuf::mutable_buffers_type</a>
+<dt id="ientry-idp130487696">mutable_buffers_type</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/mutable_buffers_type.html">basic_streambuf::mutable_buffers_type</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>N</h3>
<dl>
-<dt id="ientry-idp725062736">name, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.name">Class abstract-target</a>
-</dt>
-<dd><dl><dt>Abstract Target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.name">Class abstract-target</a>
-</dt></dl></dd>
-<dt id="ientry-idp199653440">name_too_long</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141206384">name_too_long</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp155402272">native, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.native">path</a>
-</dt>
+<dt id="ientry-idp96128368">native</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.native">basic_datagram_socket::native</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/native.html">basic_datagram_socket::native</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.native">basic_raw_socket::native</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/native.html">basic_raw_socket::native</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native">basic_seq_packet_socket::native</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/native.html">basic_seq_packet_socket::native</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.native">basic_serial_port::native</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/native.html">basic_serial_port::native</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.native">basic_socket::native</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/native.html">basic_socket::native</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.native">basic_socket_acceptor::native</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/native.html">basic_socket_acceptor::native</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.native">basic_socket_streambuf::native</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/native.html">basic_socket_streambuf::native</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.native">basic_stream_socket::native</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/native.html">basic_stream_socket::native</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.native">datagram_socket_service::native</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/native.html">datagram_socket_service::native</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.native">posix::basic_descriptor::native</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/native.html">posix::basic_descriptor::native</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native">posix::basic_stream_descriptor::native</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/native.html">posix::basic_stream_descriptor::native</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native">posix::stream_descriptor_service::native</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/native.html">posix::stream_descriptor_service::native</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.native">raw_socket_service::native</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/native.html">raw_socket_service::native</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.native">seq_packet_socket_service::native</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/native.html">seq_packet_socket_service::native</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.native">serial_port_service::native</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/native.html">serial_port_service::native</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.native">socket_acceptor_service::native</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/native.html">socket_acceptor_service::native</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.native">stream_socket_service::native</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/native.html">stream_socket_service::native</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.native">windows::basic_handle::native</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/native.html">windows::basic_handle::native</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.native">windows::basic_object_handle::native</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/native.html">windows::basic_object_handle::native</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native">windows::basic_random_access_handle::native</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/native.html">windows::basic_random_access_handle::native</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native">windows::basic_stream_handle::native</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/native.html">windows::basic_stream_handle::native</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native">windows::random_access_handle_service::native</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/native.html">windows::random_access_handle_service::native</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.native">windows::stream_handle_service::native</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/native.html">windows::stream_handle_service::native</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155411232">native_handle</dt>
+<dt id="ientry-idp96137696">native_handle</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle">basic_datagram_socket::native_handle</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/native_handle.html">basic_datagram_socket::native_handle</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle">basic_raw_socket::native_handle</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/native_handle.html">basic_raw_socket::native_handle</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle">basic_seq_packet_socket::native_handle</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/native_handle.html">basic_seq_packet_socket::native_handle</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.native_handle">basic_serial_port::native_handle</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/native_handle.html">basic_serial_port::native_handle</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.native_handle">basic_socket::native_handle</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/native_handle.html">basic_socket::native_handle</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle">basic_socket_acceptor::native_handle</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/native_handle.html">basic_socket_acceptor::native_handle</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle">basic_socket_streambuf::native_handle</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/native_handle.html">basic_socket_streambuf::native_handle</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle">basic_stream_socket::native_handle</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/native_handle.html">basic_stream_socket::native_handle</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle">datagram_socket_service::native_handle</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/native_handle.html">datagram_socket_service::native_handle</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle">posix::basic_descriptor::native_handle</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/native_handle.html">posix::basic_descriptor::native_handle</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle">posix::basic_stream_descriptor::native_handle</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/native_handle.html">posix::basic_stream_descriptor::native_handle</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle">posix::stream_descriptor_service::native_handle</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/native_handle.html">posix::stream_descriptor_service::native_handle</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.native_handle">raw_socket_service::native_handle</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/native_handle.html">raw_socket_service::native_handle</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle">seq_packet_socket_service::native_handle</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/native_handle.html">seq_packet_socket_service::native_handle</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.native_handle">serial_port_service::native_handle</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/native_handle.html">serial_port_service::native_handle</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle">socket_acceptor_service::native_handle</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/native_handle.html">socket_acceptor_service::native_handle</a>
</dt>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.native_handle">ssl::context::native_handle</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/native_handle.html">ssl::context::native_handle</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.native_handle">ssl::stream::native_handle</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/native_handle.html">ssl::stream::native_handle</a>
</dt>
-<dt>ssl::verify_context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle">ssl::verify_context::native_handle</a>
+<dt>ssl::verify_context, <a class="indexterm" href="reference/ssl__verify_context/native_handle.html">ssl::verify_context::native_handle</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.native_handle">stream_socket_service::native_handle</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/native_handle.html">stream_socket_service::native_handle</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle">windows::basic_handle::native_handle</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/native_handle.html">windows::basic_handle::native_handle</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle">windows::basic_object_handle::native_handle</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/native_handle.html">windows::basic_object_handle::native_handle</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle">windows::basic_random_access_handle::native_handle</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/native_handle.html">windows::basic_random_access_handle::native_handle</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle">windows::basic_stream_handle::native_handle</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/native_handle.html">windows::basic_stream_handle::native_handle</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle">windows::object_handle_service::native_handle</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/native_handle.html">windows::object_handle_service::native_handle</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle">windows::random_access_handle_service::native_handle</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/native_handle.html">windows::random_access_handle_service::native_handle</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle">windows::stream_handle_service::native_handle</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/native_handle.html">windows::stream_handle_service::native_handle</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155417808">native_handle_type</dt>
+<dt id="ientry-idp96144416">native_handle_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type">basic_datagram_socket::native_handle_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/native_handle_type.html">basic_datagram_socket::native_handle_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type">basic_raw_socket::native_handle_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/native_handle_type.html">basic_raw_socket::native_handle_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type">basic_seq_packet_socket::native_handle_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/native_handle_type.html">basic_seq_packet_socket::native_handle_type</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type">basic_serial_port::native_handle_type</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/native_handle_type.html">basic_serial_port::native_handle_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.native_handle_type">basic_socket::native_handle_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/native_handle_type.html">basic_socket::native_handle_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type">basic_socket_acceptor::native_handle_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/native_handle_type.html">basic_socket_acceptor::native_handle_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle_type">basic_socket_streambuf::native_handle_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/native_handle_type.html">basic_socket_streambuf::native_handle_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type">basic_stream_socket::native_handle_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/native_handle_type.html">basic_stream_socket::native_handle_type</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle_type">datagram_socket_service::native_handle_type</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/native_handle_type.html">datagram_socket_service::native_handle_type</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type">posix::basic_descriptor::native_handle_type</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/native_handle_type.html">posix::basic_descriptor::native_handle_type</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type">posix::basic_stream_descriptor::native_handle_type</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/native_handle_type.html">posix::basic_stream_descriptor::native_handle_type</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle_type">posix::stream_descriptor_service::native_handle_type</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/native_handle_type.html">posix::stream_descriptor_service::native_handle_type</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.native_handle_type">raw_socket_service::native_handle_type</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/native_handle_type.html">raw_socket_service::native_handle_type</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle_type">seq_packet_socket_service::native_handle_type</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/native_handle_type.html">seq_packet_socket_service::native_handle_type</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.native_handle_type">serial_port_service::native_handle_type</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/native_handle_type.html">serial_port_service::native_handle_type</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle_type">socket_acceptor_service::native_handle_type</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/native_handle_type.html">socket_acceptor_service::native_handle_type</a>
</dt>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.native_handle_type">ssl::context::native_handle_type</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/native_handle_type.html">ssl::context::native_handle_type</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.native_handle_type">ssl::stream::native_handle_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/native_handle_type.html">ssl::stream::native_handle_type</a>
</dt>
-<dt>ssl::verify_context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle_type">ssl::verify_context::native_handle_type</a>
+<dt>ssl::verify_context, <a class="indexterm" href="reference/ssl__verify_context/native_handle_type.html">ssl::verify_context::native_handle_type</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.native_handle_type">stream_socket_service::native_handle_type</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/native_handle_type.html">stream_socket_service::native_handle_type</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type">windows::basic_handle::native_handle_type</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/native_handle_type.html">windows::basic_handle::native_handle_type</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle_type">windows::basic_object_handle::native_handle_type</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/native_handle_type.html">windows::basic_object_handle::native_handle_type</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type">windows::basic_random_access_handle::native_handle_type</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/native_handle_type.html">windows::basic_random_access_handle::native_handle_type</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type">windows::basic_stream_handle::native_handle_type</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/native_handle_type.html">windows::basic_stream_handle::native_handle_type</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle_type">windows::object_handle_service::native_handle_type</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/native_handle_type.html">windows::object_handle_service::native_handle_type</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle_type">windows::random_access_handle_service::native_handle_type</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/native_handle_type.html">windows::random_access_handle_service::native_handle_type</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle_type">windows::stream_handle_service::native_handle_type</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/native_handle_type.html">windows::stream_handle_service::native_handle_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp155431392">native_non_blocking</dt>
+<dt id="ientry-idp96158048">native_non_blocking</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking">basic_datagram_socket::native_non_blocking</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/native_non_blocking.html">basic_datagram_socket::native_non_blocking</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking">basic_raw_socket::native_non_blocking</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/native_non_blocking.html">basic_raw_socket::native_non_blocking</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking">basic_seq_packet_socket::native_non_blocking</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/native_non_blocking.html">basic_seq_packet_socket::native_non_blocking</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking">basic_socket::native_non_blocking</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/native_non_blocking.html">basic_socket::native_non_blocking</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking">basic_socket_acceptor::native_non_blocking</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/native_non_blocking.html">basic_socket_acceptor::native_non_blocking</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking">basic_socket_streambuf::native_non_blocking</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/native_non_blocking.html">basic_socket_streambuf::native_non_blocking</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking">basic_stream_socket::native_non_blocking</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/native_non_blocking.html">basic_stream_socket::native_non_blocking</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking">datagram_socket_service::native_non_blocking</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/native_non_blocking.html">datagram_socket_service::native_non_blocking</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking">posix::basic_descriptor::native_non_blocking</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/native_non_blocking.html">posix::basic_descriptor::native_non_blocking</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking">posix::basic_stream_descriptor::native_non_blocking</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/native_non_blocking.html">posix::basic_stream_descriptor::native_non_blocking</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking">posix::stream_descriptor_service::native_non_blocking</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/native_non_blocking.html">posix::stream_descriptor_service::native_non_blocking</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking">raw_socket_service::native_non_blocking</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/native_non_blocking.html">raw_socket_service::native_non_blocking</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking">seq_packet_socket_service::native_non_blocking</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/native_non_blocking.html">seq_packet_socket_service::native_non_blocking</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking">socket_acceptor_service::native_non_blocking</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/native_non_blocking.html">socket_acceptor_service::native_non_blocking</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking">stream_socket_service::native_non_blocking</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/native_non_blocking.html">stream_socket_service::native_non_blocking</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156036640">native_type</dt>
+<dt id="ientry-idp96767632">native_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type">basic_datagram_socket::native_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/native_type.html">basic_datagram_socket::native_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.native_type">basic_raw_socket::native_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/native_type.html">basic_raw_socket::native_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_type">basic_seq_packet_socket::native_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/native_type.html">basic_seq_packet_socket::native_type</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.native_type">basic_serial_port::native_type</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/native_type.html">basic_serial_port::native_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.native_type">basic_socket::native_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/native_type.html">basic_socket::native_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type">basic_socket_acceptor::native_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/native_type.html">basic_socket_acceptor::native_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_type">basic_socket_streambuf::native_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/native_type.html">basic_socket_streambuf::native_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.native_type">basic_stream_socket::native_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/native_type.html">basic_stream_socket::native_type</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.native_type">datagram_socket_service::native_type</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/native_type.html">datagram_socket_service::native_type</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type">posix::basic_descriptor::native_type</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/native_type.html">posix::basic_descriptor::native_type</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_type">posix::basic_stream_descriptor::native_type</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/native_type.html">posix::basic_stream_descriptor::native_type</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_type">posix::stream_descriptor_service::native_type</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/native_type.html">posix::stream_descriptor_service::native_type</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.native_type">raw_socket_service::native_type</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/native_type.html">raw_socket_service::native_type</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_type">seq_packet_socket_service::native_type</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/native_type.html">seq_packet_socket_service::native_type</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.native_type">serial_port_service::native_type</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/native_type.html">serial_port_service::native_type</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.native_type">socket_acceptor_service::native_type</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/native_type.html">socket_acceptor_service::native_type</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.native_type">stream_socket_service::native_type</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/native_type.html">stream_socket_service::native_type</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.native_type">windows::basic_handle::native_type</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/native_type.html">windows::basic_handle::native_type</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_type">windows::basic_object_handle::native_type</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/native_type.html">windows::basic_object_handle::native_type</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_type">windows::basic_random_access_handle::native_type</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/native_type.html">windows::basic_random_access_handle::native_type</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_type">windows::basic_stream_handle::native_type</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/native_type.html">windows::basic_stream_handle::native_type</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_type">windows::random_access_handle_service::native_type</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/native_type.html">windows::random_access_handle_service::native_type</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_type">windows::stream_handle_service::native_type</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/native_type.html">windows::stream_handle_service::native_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205716672">netmask</dt>
-<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.netmask">ip::address_v4::netmask</a>
+<dt id="ientry-idp147093296">netmask</dt>
+<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/netmask.html">ip::address_v4::netmask</a>
</dt></dl></dd>
-<dt id="ientry-idp199654544">network_down</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141207488">network_down</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199655648">network_reset</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141208592">network_reset</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199656752">network_unreachable</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141209696">network_unreachable</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp194246128">next_layer</dt>
+<dt id="ientry-idp135726704">next_layer</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer">buffered_read_stream::next_layer</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/next_layer.html">buffered_read_stream::next_layer</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.next_layer">buffered_stream::next_layer</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/next_layer.html">buffered_stream::next_layer</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer">buffered_write_stream::next_layer</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/next_layer.html">buffered_write_stream::next_layer</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.next_layer">ssl::stream::next_layer</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/next_layer.html">ssl::stream::next_layer</a>
</dt>
</dl></dd>
-<dt id="ientry-idp194252624">next_layer_type</dt>
+<dt id="ientry-idp135733408">next_layer_type</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer_type">buffered_read_stream::next_layer_type</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/next_layer_type.html">buffered_read_stream::next_layer_type</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.next_layer_type">buffered_stream::next_layer_type</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/next_layer_type.html">buffered_stream::next_layer_type</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer_type">buffered_write_stream::next_layer_type</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/next_layer_type.html">buffered_write_stream::next_layer_type</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.next_layer_type">ssl::stream::next_layer_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/next_layer_type.html">ssl::stream::next_layer_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp223083712">none</dt>
+<dt id="ientry-idp164590368">none</dt>
<dd><dl>
-<dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type">serial_port_base::flow_control::type</a>
+<dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/type.html">serial_port_base::flow_control::type</a>
</dt>
-<dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.type">serial_port_base::parity::type</a>
+<dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/type.html">serial_port_base::parity::type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156050048">non_blocking</dt>
+<dt id="ientry-idp96781344">non_blocking</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking">basic_datagram_socket::non_blocking</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/non_blocking.html">basic_datagram_socket::non_blocking</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking">basic_raw_socket::non_blocking</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/non_blocking.html">basic_raw_socket::non_blocking</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking">basic_seq_packet_socket::non_blocking</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/non_blocking.html">basic_seq_packet_socket::non_blocking</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.non_blocking">basic_socket::non_blocking</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/non_blocking.html">basic_socket::non_blocking</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking">basic_socket_acceptor::non_blocking</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/non_blocking.html">basic_socket_acceptor::non_blocking</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking">basic_socket_streambuf::non_blocking</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/non_blocking.html">basic_socket_streambuf::non_blocking</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking">basic_stream_socket::non_blocking</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/non_blocking.html">basic_stream_socket::non_blocking</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking">datagram_socket_service::non_blocking</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/non_blocking.html">datagram_socket_service::non_blocking</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking">posix::basic_descriptor::non_blocking</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/non_blocking.html">posix::basic_descriptor::non_blocking</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking">posix::basic_stream_descriptor::non_blocking</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/non_blocking.html">posix::basic_stream_descriptor::non_blocking</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking">posix::stream_descriptor_service::non_blocking</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/non_blocking.html">posix::stream_descriptor_service::non_blocking</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking">raw_socket_service::non_blocking</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/non_blocking.html">raw_socket_service::non_blocking</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking">seq_packet_socket_service::non_blocking</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/non_blocking.html">seq_packet_socket_service::non_blocking</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking">socket_acceptor_service::non_blocking</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/non_blocking.html">socket_acceptor_service::non_blocking</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking">stream_socket_service::non_blocking</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/non_blocking.html">stream_socket_service::non_blocking</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156172352">non_blocking_io</dt>
+<dt id="ientry-idp96905952">non_blocking_io</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io">basic_datagram_socket::non_blocking_io</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/non_blocking_io.html">basic_datagram_socket::non_blocking_io</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io">basic_raw_socket::non_blocking_io</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/non_blocking_io.html">basic_raw_socket::non_blocking_io</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io">basic_seq_packet_socket::non_blocking_io</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/non_blocking_io.html">basic_seq_packet_socket::non_blocking_io</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io">basic_socket::non_blocking_io</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/non_blocking_io.html">basic_socket::non_blocking_io</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io">basic_socket_acceptor::non_blocking_io</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/non_blocking_io.html">basic_socket_acceptor::non_blocking_io</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io">basic_socket_streambuf::non_blocking_io</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/non_blocking_io.html">basic_socket_streambuf::non_blocking_io</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io">basic_stream_socket::non_blocking_io</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/non_blocking_io.html">basic_stream_socket::non_blocking_io</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io">posix::basic_descriptor::non_blocking_io</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/non_blocking_io.html">posix::basic_descriptor::non_blocking_io</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io">posix::basic_stream_descriptor::non_blocking_io</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/non_blocking_io.html">posix::basic_stream_descriptor::non_blocking_io</a>
</dt>
-<dt>posix::descriptor_base, <a class="indexterm" href="reference.html#boost_asio.reference.posix__descriptor_base.non_blocking_io">posix::descriptor_base::non_blocking_io</a>
+<dt>posix::descriptor_base, <a class="indexterm" href="reference/posix__descriptor_base/non_blocking_io.html">posix::descriptor_base::non_blocking_io</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.non_blocking_io">socket_base::non_blocking_io</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/non_blocking_io.html">socket_base::non_blocking_io</a>
</dt>
</dl></dd>
-<dt id="ientry-idp203544608">notify_fork</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.notify_fork">io_service::notify_fork</a>
+<dt id="ientry-idp145145280">notify_fork</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/notify_fork.html">io_service::notify_fork</a>
</dt></dl></dd>
-<dt id="ientry-idp199664480">not_connected</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141217424">not_connected</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199927552">not_found</dt>
-<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__misc_errors">error::misc_errors</a>
+<dt id="ientry-idp141483536">not_found</dt>
+<dd><dl><dt>error::misc_errors, <a class="indexterm" href="reference/error__misc_errors.html">error::misc_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199665584">not_socket</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141218528">not_socket</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp231424080">now</dt>
-<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.now">time_traits&lt;
+<dt id="ientry-idp173376064">now</dt>
+<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/now.html">time_traits&lt;
boost::posix_time::ptime &gt;::now</a>
</dt></dl></dd>
-<dt id="ientry-idp199658960">no_buffer_space</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141211904">no_buffer_space</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp226384736">no_compression</dt>
+<dt id="ientry-idp168265024">no_compression</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.no_compression">ssl::context::no_compression</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/no_compression.html">ssl::context::no_compression</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.no_compression">ssl::context_base::no_compression</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/no_compression.html">ssl::context_base::no_compression</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199972848">no_data</dt>
-<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__netdb_errors">error::netdb_errors</a>
+<dt id="ientry-idp141529296">no_data</dt>
+<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference/error__netdb_errors.html">error::netdb_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp211075248">no_delay</dt>
-<dd><dl><dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.no_delay">ip::tcp::no_delay</a>
+<dt id="ientry-idp152487264">no_delay</dt>
+<dd><dl><dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/no_delay.html">ip::tcp::no_delay</a>
</dt></dl></dd>
-<dt id="ientry-idp199657856">no_descriptors</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141210800">no_descriptors</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199660064">no_memory</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141213008">no_memory</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199661168">no_permission</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141214112">no_permission</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199662272">no_protocol_option</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141215216">no_protocol_option</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199973952">no_recovery</dt>
-<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__netdb_errors">error::netdb_errors</a>
+<dt id="ientry-idp141530400">no_recovery</dt>
+<dd><dl><dt>error::netdb_errors, <a class="indexterm" href="reference/error__netdb_errors.html">error::netdb_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp226393280">no_sslv2</dt>
+<dt id="ientry-idp168273776">no_sslv2</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.no_sslv2">ssl::context::no_sslv2</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/no_sslv2.html">ssl::context::no_sslv2</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.no_sslv2">ssl::context_base::no_sslv2</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/no_sslv2.html">ssl::context_base::no_sslv2</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226401840">no_sslv3</dt>
+<dt id="ientry-idp168282480">no_sslv3</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.no_sslv3">ssl::context::no_sslv3</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/no_sslv3.html">ssl::context::no_sslv3</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.no_sslv3">ssl::context_base::no_sslv3</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/no_sslv3.html">ssl::context_base::no_sslv3</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199663376">no_such_device</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141216320">no_such_device</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp226410400">no_tlsv1</dt>
+<dt id="ientry-idp168291120">no_tlsv1</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1">ssl::context::no_tlsv1</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/no_tlsv1.html">ssl::context::no_tlsv1</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1">ssl::context_base::no_tlsv1</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/no_tlsv1.html">ssl::context_base::no_tlsv1</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226418976">no_tlsv1_1</dt>
+<dt id="ientry-idp168299776">no_tlsv1_1</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_1">ssl::context::no_tlsv1_1</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/no_tlsv1_1.html">ssl::context::no_tlsv1_1</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_1">ssl::context_base::no_tlsv1_1</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/no_tlsv1_1.html">ssl::context_base::no_tlsv1_1</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226427488">no_tlsv1_2</dt>
+<dt id="ientry-idp168308432">no_tlsv1_2</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_2">ssl::context::no_tlsv1_2</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/no_tlsv1_2.html">ssl::context::no_tlsv1_2</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_2">ssl::context_base::no_tlsv1_2</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/no_tlsv1_2.html">ssl::context_base::no_tlsv1_2</a>
</dt>
</dl></dd>
-<dt id="ientry-idp208934192">numeric_host</dt>
+<dt id="ientry-idp150336432">numeric_host</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_host">ip::basic_resolver_query::numeric_host</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/numeric_host.html">ip::basic_resolver_query::numeric_host</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_host">ip::resolver_query_base::numeric_host</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/numeric_host.html">ip::resolver_query_base::numeric_host</a>
</dt>
</dl></dd>
-<dt id="ientry-idp208943744">numeric_service</dt>
+<dt id="ientry-idp150346224">numeric_service</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_service">ip::basic_resolver_query::numeric_service</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/numeric_service.html">ip::basic_resolver_query::numeric_service</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_service">ip::resolver_query_base::numeric_service</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/numeric_service.html">ip::resolver_query_base::numeric_service</a>
</dt>
</dl></dd>
</dl>
@@ -3163,1903 +2917,1729 @@
<div class="indexdiv">
<h3>O</h3>
<dl>
-<dt id="ientry-idp236524192">object_handle_service</dt>
-<dd><dl><dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.object_handle_service">windows::object_handle_service::object_handle_service</a>
+<dt id="ientry-idp178257248">object_handle_service</dt>
+<dd><dl><dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/object_handle_service.html">windows::object_handle_service::object_handle_service</a>
</dt></dl></dd>
-<dt id="ientry-idp223187664">odd</dt>
-<dd><dl><dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.type">serial_port_base::parity::type</a>
+<dt id="ientry-idp164695056">odd</dt>
+<dd><dl><dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/type.html">serial_port_base::parity::type</a>
</dt></dl></dd>
-<dt id="ientry-idp223289152">one</dt>
-<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type">serial_port_base::stop_bits::type</a>
+<dt id="ientry-idp164797664">one</dt>
+<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/type.html">serial_port_base::stop_bits::type</a>
</dt></dl></dd>
-<dt id="ientry-idp724410848">onehtml, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp223290240">onepointfive</dt>
-<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type">serial_port_base::stop_bits::type</a>
+<dt id="ientry-idp164798672">onepointfive</dt>
+<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/type.html">serial_port_base::stop_bits::type</a>
</dt></dl></dd>
-<dt id="ientry-idp156206128">open</dt>
+<dt id="ientry-idp96940032">open</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.open">basic_datagram_socket::open</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/open.html">basic_datagram_socket::open</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.open">basic_raw_socket::open</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/open.html">basic_raw_socket::open</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open">basic_seq_packet_socket::open</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/open.html">basic_seq_packet_socket::open</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.open">basic_serial_port::open</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/open.html">basic_serial_port::open</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.open">basic_socket::open</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/open.html">basic_socket::open</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.open">basic_socket_acceptor::open</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/open.html">basic_socket_acceptor::open</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.open">basic_socket_streambuf::open</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/open.html">basic_socket_streambuf::open</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.open">basic_stream_socket::open</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/open.html">basic_stream_socket::open</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.open">datagram_socket_service::open</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/open.html">datagram_socket_service::open</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.open">raw_socket_service::open</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/open.html">raw_socket_service::open</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.open">seq_packet_socket_service::open</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/open.html">seq_packet_socket_service::open</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.open">serial_port_service::open</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/open.html">serial_port_service::open</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.open">socket_acceptor_service::open</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/open.html">socket_acceptor_service::open</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.open">stream_socket_service::open</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/open.html">stream_socket_service::open</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199666688">operation_aborted</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141219632">operation_aborted</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp199667792">operation_not_supported</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141220736">operation_not_supported</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp195833264">operator *</dt>
+<dt id="ientry-idp137332832">operator *</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator__star_">buffers_iterator::operator
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator__star_.html">buffers_iterator::operator
*</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator__star_">ip::basic_resolver_iterator::operator
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/operator__star_.html">ip::basic_resolver_iterator::operator
*</a>
</dt>
</dl></dd>
-<dt id="ientry-idp208036256">operator endpoint_type</dt>
-<dd><dl><dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type">ip::basic_resolver_entry::operator
+<dt id="ientry-idp149430384">operator endpoint_type</dt>
+<dd><dl><dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/operator_endpoint_type.html">ip::basic_resolver_entry::operator
endpoint_type</a>
</dt></dl></dd>
-<dt id="ientry-idp195840448">operator!=</dt>
+<dt id="ientry-idp137340224">operator!=</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_not__eq_">buffers_iterator::operator!=</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_not__eq_.html">buffers_iterator::operator!=</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_">generic::basic_endpoint::operator!=</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_not__eq_.html">generic::basic_endpoint::operator!=</a>
</dt>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_not__eq_">generic::datagram_protocol::operator!=</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/operator_not__eq_.html">generic::datagram_protocol::operator!=</a>
</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_not__eq_">generic::raw_protocol::operator!=</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/operator_not__eq_.html">generic::raw_protocol::operator!=</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_">generic::seq_packet_protocol::operator!=</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/operator_not__eq_.html">generic::seq_packet_protocol::operator!=</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_not__eq_">generic::stream_protocol::operator!=</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/operator_not__eq_.html">generic::stream_protocol::operator!=</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_not__eq_">ip::address::operator!=</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_not__eq_.html">ip::address::operator!=</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_not__eq_">ip::address_v4::operator!=</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_not__eq_.html">ip::address_v4::operator!=</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_not__eq_">ip::address_v6::operator!=</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_not__eq_.html">ip::address_v6::operator!=</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_">ip::basic_endpoint::operator!=</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_not__eq_.html">ip::basic_endpoint::operator!=</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_">ip::basic_resolver_iterator::operator!=</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/operator_not__eq_.html">ip::basic_resolver_iterator::operator!=</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.operator_not__eq_">ip::icmp::operator!=</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/operator_not__eq_.html">ip::icmp::operator!=</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.operator_not__eq_">ip::tcp::operator!=</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/operator_not__eq_.html">ip::tcp::operator!=</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.operator_not__eq_">ip::udp::operator!=</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/operator_not__eq_.html">ip::udp::operator!=</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_">local::basic_endpoint::operator!=</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_not__eq_.html">local::basic_endpoint::operator!=</a>
</dt>
</dl></dd>
-<dt id="ientry-idp228236016">operator()</dt>
-<dd><dl><dt>ssl::rfc2818_verification, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.operator_lp__rp_">ssl::rfc2818_verification::operator()</a>
+<dt id="ientry-idp170145488">operator()</dt>
+<dd><dl><dt>ssl::rfc2818_verification, <a class="indexterm" href="reference/ssl__rfc2818_verification/operator_lp__rp_.html">ssl::rfc2818_verification::operator()</a>
</dt></dl></dd>
-<dt id="ientry-idp195859072">operator+</dt>
+<dt id="ientry-idp137358960">operator+</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_">buffers_iterator::operator+</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_plus_.html">buffers_iterator::operator+</a>
</dt>
-<dt>const_buffer, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffer.operator_plus_">const_buffer::operator+</a>
+<dt>const_buffer, <a class="indexterm" href="reference/const_buffer/operator_plus_.html">const_buffer::operator+</a>
</dt>
-<dt>const_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_">const_buffers_1::operator+</a>
+<dt>const_buffers_1, <a class="indexterm" href="reference/const_buffers_1/operator_plus_.html">const_buffers_1::operator+</a>
</dt>
-<dt>mutable_buffer, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_">mutable_buffer::operator+</a>
+<dt>mutable_buffer, <a class="indexterm" href="reference/mutable_buffer/operator_plus_.html">mutable_buffer::operator+</a>
</dt>
-<dt>mutable_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_">mutable_buffers_1::operator+</a>
+<dt>mutable_buffers_1, <a class="indexterm" href="reference/mutable_buffers_1/operator_plus_.html">mutable_buffers_1::operator+</a>
</dt>
</dl></dd>
-<dt id="ientry-idp195918640">operator++</dt>
+<dt id="ientry-idp137419392">operator++</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_">buffers_iterator::operator++</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_plus__plus_.html">buffers_iterator::operator++</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_">ip::basic_resolver_iterator::operator++</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/operator_plus__plus_.html">ip::basic_resolver_iterator::operator++</a>
</dt>
</dl></dd>
-<dt id="ientry-idp195944192">operator+=</dt>
-<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__eq_">buffers_iterator::operator+=</a>
+<dt id="ientry-idp137445536">operator+=</dt>
+<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_plus__eq_.html">buffers_iterator::operator+=</a>
</dt></dl></dd>
-<dt id="ientry-idp195953744">operator-</dt>
-<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_">buffers_iterator::operator-</a>
+<dt id="ientry-idp137455296">operator-</dt>
+<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_minus_.html">buffers_iterator::operator-</a>
</dt></dl></dd>
-<dt id="ientry-idp196015920">operator--</dt>
-<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_">buffers_iterator::operator--</a>
+<dt id="ientry-idp137518128">operator--</dt>
+<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_minus__minus_.html">buffers_iterator::operator--</a>
</dt></dl></dd>
-<dt id="ientry-idp196041600">operator-=</dt>
-<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__eq_">buffers_iterator::operator-=</a>
+<dt id="ientry-idp137544448">operator-=</dt>
+<dd><dl><dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_minus__eq_.html">buffers_iterator::operator-=</a>
</dt></dl></dd>
-<dt id="ientry-idp196051184">operator-&gt;</dt>
+<dt id="ientry-idp137554240">operator-&gt;</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_arrow_">buffers_iterator::operator-&gt;</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_arrow_.html">buffers_iterator::operator-&gt;</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_">ip::basic_resolver_iterator::operator-&gt;</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/operator_arrow_.html">ip::basic_resolver_iterator::operator-&gt;</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196058240">operator&lt;</dt>
+<dt id="ientry-idp137561504">operator&lt;</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt_">buffers_iterator::operator&lt;</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_lt_.html">buffers_iterator::operator&lt;</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_">generic::basic_endpoint::operator&lt;</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_lt_.html">generic::basic_endpoint::operator&lt;</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_lt_">ip::address::operator&lt;</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_lt_.html">ip::address::operator&lt;</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt_">ip::address_v4::operator&lt;</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_lt_.html">ip::address_v4::operator&lt;</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt_">ip::address_v6::operator&lt;</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_lt_.html">ip::address_v6::operator&lt;</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_">ip::basic_endpoint::operator&lt;</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_lt_.html">ip::basic_endpoint::operator&lt;</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_">local::basic_endpoint::operator&lt;</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_lt_.html">local::basic_endpoint::operator&lt;</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205087264">operator&lt;&lt;</dt>
+<dt id="ientry-idp146457696">operator&lt;&lt;</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_lt__lt_">ip::address::operator&lt;&lt;</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_lt__lt_.html">ip::address::operator&lt;&lt;</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__lt_">ip::address_v4::operator&lt;&lt;</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_lt__lt_.html">ip::address_v4::operator&lt;&lt;</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__lt_">ip::address_v6::operator&lt;&lt;</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_lt__lt_.html">ip::address_v6::operator&lt;&lt;</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_">ip::basic_endpoint::operator&lt;&lt;</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_lt__lt_.html">ip::basic_endpoint::operator&lt;&lt;</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_">local::basic_endpoint::operator&lt;&lt;</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_lt__lt_.html">local::basic_endpoint::operator&lt;&lt;</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196076800">operator&lt;=</dt>
+<dt id="ientry-idp137580400">operator&lt;=</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt__eq_">buffers_iterator::operator&lt;=</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_lt__eq_.html">buffers_iterator::operator&lt;=</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_">generic::basic_endpoint::operator&lt;=</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_lt__eq_.html">generic::basic_endpoint::operator&lt;=</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_lt__eq_">ip::address::operator&lt;=</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_lt__eq_.html">ip::address::operator&lt;=</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__eq_">ip::address_v4::operator&lt;=</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_lt__eq_.html">ip::address_v4::operator&lt;=</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__eq_">ip::address_v6::operator&lt;=</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_lt__eq_.html">ip::address_v6::operator&lt;=</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_">ip::basic_endpoint::operator&lt;=</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_lt__eq_.html">ip::basic_endpoint::operator&lt;=</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_">local::basic_endpoint::operator&lt;=</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_lt__eq_.html">local::basic_endpoint::operator&lt;=</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156322416">operator=</dt>
+<dt id="ientry-idp97057600">operator=</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_">basic_datagram_socket::operator=</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/operator_eq_.html">basic_datagram_socket::operator=</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.operator_eq_">basic_io_object::operator=</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/operator_eq_.html">basic_io_object::operator=</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_">basic_raw_socket::operator=</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/operator_eq_.html">basic_raw_socket::operator=</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_">basic_seq_packet_socket::operator=</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/operator_eq_.html">basic_seq_packet_socket::operator=</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_">basic_serial_port::operator=</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/operator_eq_.html">basic_serial_port::operator=</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.operator_eq_">basic_socket::operator=</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/operator_eq_.html">basic_socket::operator=</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_">basic_socket_acceptor::operator=</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/operator_eq_.html">basic_socket_acceptor::operator=</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_">basic_stream_socket::operator=</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/operator_eq_.html">basic_stream_socket::operator=</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_">generic::basic_endpoint::operator=</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_eq_.html">generic::basic_endpoint::operator=</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_eq_">ip::address::operator=</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_eq_.html">ip::address::operator=</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq_">ip::address_v4::operator=</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_eq_.html">ip::address_v4::operator=</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq_">ip::address_v6::operator=</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_eq_.html">ip::address_v6::operator=</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_">ip::basic_endpoint::operator=</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_eq_.html">ip::basic_endpoint::operator=</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq_">local::basic_endpoint::operator=</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_eq_.html">local::basic_endpoint::operator=</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_">posix::basic_descriptor::operator=</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/operator_eq_.html">posix::basic_descriptor::operator=</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_">posix::basic_stream_descriptor::operator=</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/operator_eq_.html">posix::basic_stream_descriptor::operator=</a>
</dt>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.operator_eq_">ssl::context::operator=</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/operator_eq_.html">ssl::context::operator=</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_">windows::basic_handle::operator=</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/operator_eq_.html">windows::basic_handle::operator=</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_">windows::basic_object_handle::operator=</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/operator_eq_.html">windows::basic_object_handle::operator=</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_">windows::basic_random_access_handle::operator=</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/operator_eq_.html">windows::basic_random_access_handle::operator=</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_">windows::basic_stream_handle::operator=</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/operator_eq_.html">windows::basic_stream_handle::operator=</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196095440">operator==</dt>
+<dt id="ientry-idp137599312">operator==</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_eq__eq_">buffers_iterator::operator==</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_eq__eq_.html">buffers_iterator::operator==</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_">generic::basic_endpoint::operator==</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_eq__eq_.html">generic::basic_endpoint::operator==</a>
</dt>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_eq__eq_">generic::datagram_protocol::operator==</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/operator_eq__eq_.html">generic::datagram_protocol::operator==</a>
</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_eq__eq_">generic::raw_protocol::operator==</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/operator_eq__eq_.html">generic::raw_protocol::operator==</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_">generic::seq_packet_protocol::operator==</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/operator_eq__eq_.html">generic::seq_packet_protocol::operator==</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_eq__eq_">generic::stream_protocol::operator==</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/operator_eq__eq_.html">generic::stream_protocol::operator==</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_eq__eq_">ip::address::operator==</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_eq__eq_.html">ip::address::operator==</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq__eq_">ip::address_v4::operator==</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_eq__eq_.html">ip::address_v4::operator==</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq__eq_">ip::address_v6::operator==</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_eq__eq_.html">ip::address_v6::operator==</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_">ip::basic_endpoint::operator==</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_eq__eq_.html">ip::basic_endpoint::operator==</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_">ip::basic_resolver_iterator::operator==</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/operator_eq__eq_.html">ip::basic_resolver_iterator::operator==</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.operator_eq__eq_">ip::icmp::operator==</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/operator_eq__eq_.html">ip::icmp::operator==</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.operator_eq__eq_">ip::tcp::operator==</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/operator_eq__eq_.html">ip::tcp::operator==</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.operator_eq__eq_">ip::udp::operator==</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/operator_eq__eq_.html">ip::udp::operator==</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_">local::basic_endpoint::operator==</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_eq__eq_.html">local::basic_endpoint::operator==</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196114016">operator&gt;</dt>
+<dt id="ientry-idp137618272">operator&gt;</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt_">buffers_iterator::operator&gt;</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_gt_.html">buffers_iterator::operator&gt;</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_">generic::basic_endpoint::operator&gt;</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_gt_.html">generic::basic_endpoint::operator&gt;</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_gt_">ip::address::operator&gt;</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_gt_.html">ip::address::operator&gt;</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt_">ip::address_v4::operator&gt;</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_gt_.html">ip::address_v4::operator&gt;</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt_">ip::address_v6::operator&gt;</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_gt_.html">ip::address_v6::operator&gt;</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_">ip::basic_endpoint::operator&gt;</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_gt_.html">ip::basic_endpoint::operator&gt;</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_">local::basic_endpoint::operator&gt;</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_gt_.html">local::basic_endpoint::operator&gt;</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196132576">operator&gt;=</dt>
+<dt id="ientry-idp137637024">operator&gt;=</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt__eq_">buffers_iterator::operator&gt;=</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_gt__eq_.html">buffers_iterator::operator&gt;=</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_">generic::basic_endpoint::operator&gt;=</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/operator_gt__eq_.html">generic::basic_endpoint::operator&gt;=</a>
</dt>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.operator_gt__eq_">ip::address::operator&gt;=</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/operator_gt__eq_.html">ip::address::operator&gt;=</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt__eq_">ip::address_v4::operator&gt;=</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/operator_gt__eq_.html">ip::address_v4::operator&gt;=</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt__eq_">ip::address_v6::operator&gt;=</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/operator_gt__eq_.html">ip::address_v6::operator&gt;=</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_">ip::basic_endpoint::operator&gt;=</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/operator_gt__eq_.html">ip::basic_endpoint::operator&gt;=</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_">local::basic_endpoint::operator&gt;=</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/operator_gt__eq_.html">local::basic_endpoint::operator&gt;=</a>
</dt>
</dl></dd>
-<dt id="ientry-idp190621920">operator[]</dt>
+<dt id="ientry-idp131724624">operator[]</dt>
<dd><dl>
-<dt>basic_yield_context, <a class="indexterm" href="reference.html#boost_asio.reference.basic_yield_context.operator_lb__rb_">basic_yield_context::operator[]</a>
+<dt>basic_yield_context, <a class="indexterm" href="reference/basic_yield_context/operator_lb__rb_.html">basic_yield_context::operator[]</a>
</dt>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.operator_lb__rb_">buffers_iterator::operator[]</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/operator_lb__rb_.html">buffers_iterator::operator[]</a>
</dt>
-<dt>use_future_t, <a class="indexterm" href="reference.html#boost_asio.reference.use_future_t.operator_lb__rb_">use_future_t::operator[]</a>
+<dt>use_future_t, <a class="indexterm" href="reference/use_future_t/operator_lb__rb_.html">use_future_t::operator[]</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226455152">options</dt>
+<dt id="ientry-idp168336464">options</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.options">ssl::context::options</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/options.html">ssl::context::options</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.options">ssl::context_base::options</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/options.html">ssl::context_base::options</a>
</dt>
</dl></dd>
-<dt id="ientry-idp183055792">overflow</dt>
+<dt id="ientry-idp124092416">overflow</dt>
<dd><dl>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.overflow">basic_socket_streambuf::overflow</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/overflow.html">basic_socket_streambuf::overflow</a>
</dt>
-<dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.overflow">basic_streambuf::overflow</a>
+<dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/overflow.html">basic_streambuf::overflow</a>
</dt>
</dl></dd>
-<dt id="ientry-idp236635408">overlapped_ptr</dt>
-<dd><dl><dt>windows::overlapped_ptr, <a class="indexterm" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr">windows::overlapped_ptr::overlapped_ptr</a>
+<dt id="ientry-idp178369424">overlapped_ptr</dt>
+<dd><dl><dt>windows::overlapped_ptr, <a class="indexterm" href="reference/windows__overlapped_ptr/overlapped_ptr.html">windows::overlapped_ptr::overlapped_ptr</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>P</h3>
<dl>
-<dt id="ientry-idp724615024">parent, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.parent">path</a>
-</dt>
-<dt id="ientry-idp223158288">parity</dt>
-<dd><dl><dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.parity">serial_port_base::parity::parity</a>
+<dt id="ientry-idp164665216">parity</dt>
+<dd><dl><dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/parity.html">serial_port_base::parity::parity</a>
</dt></dl></dd>
-<dt id="ientry-idp208953264">passive</dt>
+<dt id="ientry-idp150355888">passive</dt>
<dd><dl>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.passive">ip::basic_resolver_query::passive</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/passive.html">ip::basic_resolver_query::passive</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.passive">ip::resolver_query_base::passive</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/passive.html">ip::resolver_query_base::passive</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226467184">password_purpose</dt>
+<dt id="ientry-idp168348576">password_purpose</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.password_purpose">ssl::context::password_purpose</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/password_purpose.html">ssl::context::password_purpose</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.password_purpose">ssl::context_base::password_purpose</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/password_purpose.html">ssl::context_base::password_purpose</a>
</dt>
</dl></dd>
-<dt id="ientry-idp212787696">path</dt>
-<dd><dl>
-<dt>for targets, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.buildprocess.targetpath">Target Paths</a>
-</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.path">local::basic_endpoint::path</a>
-</dt>
-<dt>module, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path">path</a>
-</dt>
-</dl></dd>
-<dt id="ientry-idp724412448">pdf, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp194267424">peek, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.peek">modules</a>
-</dt>
+<dt id="ientry-idp154206272">path</dt>
+<dd><dl><dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/path.html">local::basic_endpoint::path</a>
+</dt></dl></dd>
+<dt id="ientry-idp135748224">peek</dt>
<dd><dl>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.peek">buffered_read_stream::peek</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/peek.html">buffered_read_stream::peek</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.peek">buffered_stream::peek</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/peek.html">buffered_stream::peek</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.peek">buffered_write_stream::peek</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/peek.html">buffered_write_stream::peek</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226197424">pem</dt>
+<dt id="ientry-idp168068176">pem</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.file_format">ssl::context::file_format</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/file_format.html">ssl::context::file_format</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.file_format">ssl::context_base::file_format</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/file_format.html">ssl::context_base::file_format</a>
</dt>
</dl></dd>
-<dt id="ientry-idp214730128">placeholders::bytes_transferred, <a class="indexterm" href="reference.html#boost_asio.reference.placeholders__bytes_transferred">placeholders::bytes_transferred</a>
+<dt id="ientry-idp156156832">placeholders::bytes_transferred, <a class="indexterm" href="reference/placeholders__bytes_transferred.html">placeholders::bytes_transferred</a>
</dt>
-<dt id="ientry-idp214749120">placeholders::error, <a class="indexterm" href="reference.html#boost_asio.reference.placeholders__error">placeholders::error</a>
+<dt id="ientry-idp156176224">placeholders::error, <a class="indexterm" href="reference/placeholders__error.html">placeholders::error</a>
</dt>
-<dt id="ientry-idp214760224">placeholders::iterator, <a class="indexterm" href="reference.html#boost_asio.reference.placeholders__iterator">placeholders::iterator</a>
+<dt id="ientry-idp156187472">placeholders::iterator, <a class="indexterm" href="reference/placeholders__iterator.html">placeholders::iterator</a>
</dt>
-<dt id="ientry-idp214771568">placeholders::signal_number, <a class="indexterm" href="reference.html#boost_asio.reference.placeholders__signal_number">placeholders::signal_number</a>
+<dt id="ientry-idp156198784">placeholders::signal_number, <a class="indexterm" href="reference/placeholders__signal_number.html">placeholders::signal_number</a>
</dt>
-<dt id="ientry-idp196161088">pointer</dt>
+<dt id="ientry-idp137666160">pointer</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.pointer">buffers_iterator::pointer</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/pointer.html">buffers_iterator::pointer</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer">ip::basic_resolver_iterator::pointer</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/pointer.html">ip::basic_resolver_iterator::pointer</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724492528">poke, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.modules.poke">modules</a>
-</dt>
-<dt id="ientry-idp203621920">poll</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.poll">io_service::poll</a>
+<dt id="ientry-idp145224768">poll</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/poll.html">io_service::poll</a>
</dt></dl></dd>
-<dt id="ientry-idp203685584">poll_one</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.poll_one">io_service::poll_one</a>
+<dt id="ientry-idp97599280">poll_one</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/poll_one.html">io_service::poll_one</a>
</dt></dl></dd>
-<dt id="ientry-idp207099792">port</dt>
-<dd><dl><dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.port">ip::basic_endpoint::port</a>
+<dt id="ientry-idp148487280">port</dt>
+<dd><dl><dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/port.html">ip::basic_endpoint::port</a>
</dt></dl></dd>
-<dt id="ientry-idp217824416">posix::stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor">posix::stream_descriptor</a>
+<dt id="ientry-idp159287376">posix::stream_descriptor, <a class="indexterm" href="reference/posix__stream_descriptor.html">posix::stream_descriptor</a>
</dt>
-<dt id="ientry-idp203745904">post</dt>
+<dt id="ientry-idp97656976">post</dt>
<dd><dl>
-<dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.post">io_service::post</a>
+<dt>io_service, <a class="indexterm" href="reference/io_service/post.html">io_service::post</a>
</dt>
-<dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand.post">io_service::strand::post</a>
+<dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/post.html">io_service::strand::post</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724443104">prefix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.doxygen">doxygen</a>
-</dt>
-<dt id="ientry-idp189428592">prepare</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.prepare">basic_streambuf::prepare</a>
+<dt id="ientry-idp130518544">prepare</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/prepare.html">basic_streambuf::prepare</a>
</dt></dl></dd>
-<dt id="ientry-idp723790512">preprocessed, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.rules">Builtin rules</a>
-</dt>
-<dt id="ientry-idp723651392">preserve-test-targets, <a class="indexterm" href="../bbv2/tasks.html#bbv2.builtins.testing">Testing</a>
-</dt>
-<dt id="ientry-idp724706240">programs-path, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.programs-path">path</a>
-</dt>
-<dt id="ientry-idp725068416">project, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.project">Class abstract-target</a>
-</dt>
-<dd><dl><dt>Abstract Target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.abstract-target.project">Class abstract-target</a>
-</dt></dl></dd>
-<dt id="ientry-idp725095648">project-target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.project-target">Class project-target</a>
-</dt>
-<dt id="ientry-idp725381920">propagated, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.propagated">Class property-set</a>
-</dt>
-<dd><dl><dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.propagated">Class property-set</a>
-</dt></dl></dd>
-<dt id="ientry-idp723147472">property</dt>
-<dd><dl>
-<dt>definition, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.concepts">Concepts</a>
-</dt>
-<dt>propagation, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.concepts">Concepts</a>
-</dt>
-</dl></dd>
-<dt id="ientry-idp725342848">property-set, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set">Class property-set</a>
-</dt>
-<dt id="ientry-idp200409824">protocol</dt>
+<dt id="ientry-idp141971856">protocol</dt>
<dd><dl>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol">generic::basic_endpoint::protocol</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/protocol.html">generic::basic_endpoint::protocol</a>
</dt>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.protocol">generic::datagram_protocol::protocol</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/protocol.html">generic::datagram_protocol::protocol</a>
</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.protocol">generic::raw_protocol::protocol</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/protocol.html">generic::raw_protocol::protocol</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.protocol">generic::seq_packet_protocol::protocol</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/protocol.html">generic::seq_packet_protocol::protocol</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.protocol">generic::stream_protocol::protocol</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/protocol.html">generic::stream_protocol::protocol</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol">ip::basic_endpoint::protocol</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/protocol.html">ip::basic_endpoint::protocol</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.protocol">ip::icmp::protocol</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/protocol.html">ip::icmp::protocol</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.protocol">ip::tcp::protocol</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/protocol.html">ip::tcp::protocol</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.protocol">ip::udp::protocol</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/protocol.html">ip::udp::protocol</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol">local::basic_endpoint::protocol</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/protocol.html">local::basic_endpoint::protocol</a>
</dt>
-<dt>local::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__datagram_protocol.protocol">local::datagram_protocol::protocol</a>
+<dt>local::datagram_protocol, <a class="indexterm" href="reference/local__datagram_protocol/protocol.html">local::datagram_protocol::protocol</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.protocol">local::stream_protocol::protocol</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/protocol.html">local::stream_protocol::protocol</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156424864">protocol_type</dt>
+<dt id="ientry-idp97161648">protocol_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type">basic_datagram_socket::protocol_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/protocol_type.html">basic_datagram_socket::protocol_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type">basic_raw_socket::protocol_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/protocol_type.html">basic_raw_socket::protocol_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protocol_type">basic_seq_packet_socket::protocol_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/protocol_type.html">basic_seq_packet_socket::protocol_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.protocol_type">basic_socket::protocol_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/protocol_type.html">basic_socket::protocol_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type">basic_socket_acceptor::protocol_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/protocol_type.html">basic_socket_acceptor::protocol_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.protocol_type">basic_socket_streambuf::protocol_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/protocol_type.html">basic_socket_streambuf::protocol_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type">basic_stream_socket::protocol_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/protocol_type.html">basic_stream_socket::protocol_type</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.protocol_type">datagram_socket_service::protocol_type</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/protocol_type.html">datagram_socket_service::protocol_type</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type">generic::basic_endpoint::protocol_type</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/protocol_type.html">generic::basic_endpoint::protocol_type</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type">ip::basic_endpoint::protocol_type</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/protocol_type.html">ip::basic_endpoint::protocol_type</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type">ip::basic_resolver::protocol_type</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/protocol_type.html">ip::basic_resolver::protocol_type</a>
</dt>
-<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type">ip::basic_resolver_entry::protocol_type</a>
+<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/protocol_type.html">ip::basic_resolver_entry::protocol_type</a>
</dt>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type">ip::basic_resolver_query::protocol_type</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/protocol_type.html">ip::basic_resolver_query::protocol_type</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.protocol_type">ip::resolver_service::protocol_type</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/protocol_type.html">ip::resolver_service::protocol_type</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type">local::basic_endpoint::protocol_type</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/protocol_type.html">local::basic_endpoint::protocol_type</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.protocol_type">raw_socket_service::protocol_type</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/protocol_type.html">raw_socket_service::protocol_type</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.protocol_type">seq_packet_socket_service::protocol_type</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/protocol_type.html">seq_packet_socket_service::protocol_type</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.protocol_type">socket_acceptor_service::protocol_type</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/protocol_type.html">socket_acceptor_service::protocol_type</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.protocol_type">stream_socket_service::protocol_type</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/protocol_type.html">stream_socket_service::protocol_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724413232">ps, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp183076592">puberror</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.puberror">basic_socket_streambuf::puberror</a>
+<dt id="ientry-idp124113152">puberror</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/puberror.html">basic_socket_streambuf::puberror</a>
</dt></dl></dd>
-<dt id="ientry-idp724642304">pwd, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.pwd">path</a>
-</dt>
</dl>
</div>
<div class="indexdiv">
<h3>Q</h3>
<dl>
-<dt id="ientry-idp207639680">query</dt>
-<dd><dl><dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.query">ip::basic_resolver::query</a>
+<dt id="ientry-idp149031920">query</dt>
+<dd><dl><dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/query.html">ip::basic_resolver::query</a>
</dt></dl></dd>
-<dt id="ientry-idp210378672">query_type</dt>
-<dd><dl><dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.query_type">ip::resolver_service::query_type</a>
+<dt id="ientry-idp151789392">query_type</dt>
+<dd><dl><dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/query_type.html">ip::resolver_service::query_type</a>
</dt></dl></dd>
-<dt id="ientry-idp724458752">quickbook, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.quickbook">quickbook</a>
-</dt>
</dl>
</div>
<div class="indexdiv">
<h3>R</h3>
<dl>
-<dt id="ientry-idp237191904">random_access_handle_service</dt>
-<dd><dl><dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.random_access_handle_service">windows::random_access_handle_service::random_access_handle_service</a>
-</dt></dl></dd>
-<dt id="ientry-idp725370608">raw, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.raw">Class property-set</a>
-</dt>
-<dd><dl><dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.raw">Class property-set</a>
+<dt id="ientry-idp178930736">random_access_handle_service</dt>
+<dd><dl><dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/random_access_handle_service.html">windows::random_access_handle_service::random_access_handle_service</a>
</dt></dl></dd>
-<dt id="ientry-idp201235056">raw_protocol</dt>
-<dd><dl><dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol">generic::raw_protocol::raw_protocol</a>
+<dt id="ientry-idp142804672">raw_protocol</dt>
+<dd><dl><dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/raw_protocol.html">generic::raw_protocol::raw_protocol</a>
</dt></dl></dd>
-<dt id="ientry-idp219277424">raw_socket_service</dt>
-<dd><dl><dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.raw_socket_service">raw_socket_service::raw_socket_service</a>
+<dt id="ientry-idp160754928">raw_socket_service</dt>
+<dd><dl><dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/raw_socket_service.html">raw_socket_service::raw_socket_service</a>
</dt></dl></dd>
-<dt id="ientry-idp179659728">rdbuf</dt>
-<dd><dl><dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf">basic_socket_iostream::rdbuf</a>
+<dt id="ientry-idp120675728">rdbuf</dt>
+<dd><dl><dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/rdbuf.html">basic_socket_iostream::rdbuf</a>
</dt></dl></dd>
-<dt id="ientry-idp219445712">read, <a class="indexterm" href="reference.html#boost_asio.reference.read">read</a>
+<dt id="ientry-idp160924512">read, <a class="indexterm" href="reference/read.html">read</a>
</dt>
-<dt id="ientry-idp220106672">read_at, <a class="indexterm" href="reference.html#boost_asio.reference.read_at">read_at</a>
+<dt id="ientry-idp161589632">read_at, <a class="indexterm" href="reference/read_at.html">read_at</a>
</dt>
-<dt id="ientry-idp170537040">read_some</dt>
+<dt id="ientry-idp111490176">read_some</dt>
<dd><dl>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.read_some">basic_serial_port::read_some</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/read_some.html">basic_serial_port::read_some</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.read_some">basic_stream_socket::read_some</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/read_some.html">basic_stream_socket::read_some</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.read_some">buffered_read_stream::read_some</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/read_some.html">buffered_read_stream::read_some</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.read_some">buffered_stream::read_some</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/read_some.html">buffered_stream::read_some</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.read_some">buffered_write_stream::read_some</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/read_some.html">buffered_write_stream::read_some</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some">posix::basic_stream_descriptor::read_some</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/read_some.html">posix::basic_stream_descriptor::read_some</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.read_some">posix::stream_descriptor_service::read_some</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/read_some.html">posix::stream_descriptor_service::read_some</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.read_some">serial_port_service::read_some</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/read_some.html">serial_port_service::read_some</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.read_some">ssl::stream::read_some</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/read_some.html">ssl::stream::read_some</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some">windows::basic_stream_handle::read_some</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/read_some.html">windows::basic_stream_handle::read_some</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.read_some">windows::stream_handle_service::read_some</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/read_some.html">windows::stream_handle_service::read_some</a>
</dt>
</dl></dd>
-<dt id="ientry-idp234717264">read_some_at</dt>
+<dt id="ientry-idp176517200">read_some_at</dt>
<dd><dl>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at">windows::basic_random_access_handle::read_some_at</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/read_some_at.html">windows::basic_random_access_handle::read_some_at</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.read_some_at">windows::random_access_handle_service::read_some_at</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/read_some_at.html">windows::random_access_handle_service::read_some_at</a>
</dt>
</dl></dd>
-<dt id="ientry-idp220819200">read_until, <a class="indexterm" href="reference.html#boost_asio.reference.read_until">read_until</a>
+<dt id="ientry-idp162305280">read_until, <a class="indexterm" href="reference/read_until.html">read_until</a>
</dt>
-<dt id="ientry-idp156437040">receive</dt>
+<dt id="ientry-idp97174096">receive</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.receive">basic_datagram_socket::receive</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/receive.html">basic_datagram_socket::receive</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.receive">basic_raw_socket::receive</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/receive.html">basic_raw_socket::receive</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive">basic_seq_packet_socket::receive</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/receive.html">basic_seq_packet_socket::receive</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.receive">basic_stream_socket::receive</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/receive.html">basic_stream_socket::receive</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.receive">datagram_socket_service::receive</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/receive.html">datagram_socket_service::receive</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.receive">raw_socket_service::receive</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/receive.html">raw_socket_service::receive</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.receive">seq_packet_socket_service::receive</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/receive.html">seq_packet_socket_service::receive</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.receive">stream_socket_service::receive</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/receive.html">stream_socket_service::receive</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156603488">receive_buffer_size</dt>
+<dt id="ientry-idp97342128">receive_buffer_size</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size">basic_datagram_socket::receive_buffer_size</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/receive_buffer_size.html">basic_datagram_socket::receive_buffer_size</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size">basic_raw_socket::receive_buffer_size</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/receive_buffer_size.html">basic_raw_socket::receive_buffer_size</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size">basic_seq_packet_socket::receive_buffer_size</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/receive_buffer_size.html">basic_seq_packet_socket::receive_buffer_size</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size">basic_socket::receive_buffer_size</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/receive_buffer_size.html">basic_socket::receive_buffer_size</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size">basic_socket_acceptor::receive_buffer_size</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/receive_buffer_size.html">basic_socket_acceptor::receive_buffer_size</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size">basic_socket_streambuf::receive_buffer_size</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/receive_buffer_size.html">basic_socket_streambuf::receive_buffer_size</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size">basic_stream_socket::receive_buffer_size</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/receive_buffer_size.html">basic_stream_socket::receive_buffer_size</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.receive_buffer_size">socket_base::receive_buffer_size</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/receive_buffer_size.html">socket_base::receive_buffer_size</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156659424">receive_from</dt>
+<dt id="ientry-idp97398720">receive_from</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from">basic_datagram_socket::receive_from</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/receive_from.html">basic_datagram_socket::receive_from</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from">basic_raw_socket::receive_from</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/receive_from.html">basic_raw_socket::receive_from</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.receive_from">datagram_socket_service::receive_from</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/receive_from.html">datagram_socket_service::receive_from</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.receive_from">raw_socket_service::receive_from</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/receive_from.html">raw_socket_service::receive_from</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156844240">receive_low_watermark</dt>
+<dt id="ientry-idp97670400">receive_low_watermark</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark">basic_datagram_socket::receive_low_watermark</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/receive_low_watermark.html">basic_datagram_socket::receive_low_watermark</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark">basic_raw_socket::receive_low_watermark</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/receive_low_watermark.html">basic_raw_socket::receive_low_watermark</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark">basic_seq_packet_socket::receive_low_watermark</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/receive_low_watermark.html">basic_seq_packet_socket::receive_low_watermark</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark">basic_socket::receive_low_watermark</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/receive_low_watermark.html">basic_socket::receive_low_watermark</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark">basic_socket_acceptor::receive_low_watermark</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/receive_low_watermark.html">basic_socket_acceptor::receive_low_watermark</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark">basic_socket_streambuf::receive_low_watermark</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/receive_low_watermark.html">basic_socket_streambuf::receive_low_watermark</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark">basic_stream_socket::receive_low_watermark</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/receive_low_watermark.html">basic_stream_socket::receive_low_watermark</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.receive_low_watermark">socket_base::receive_low_watermark</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/receive_low_watermark.html">socket_base::receive_low_watermark</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196177776">reference</dt>
+<dt id="ientry-idp137683408">reference</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.reference">buffers_iterator::reference</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/reference.html">buffers_iterator::reference</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference">ip::basic_resolver_iterator::reference</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/reference.html">ip::basic_resolver_iterator::reference</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725408192">refine, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.refine">Class property-set</a>
-</dt>
-<dd><dl><dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.refine">Class property-set</a>
-</dt></dl></dd>
-<dt id="ientry-idp724446080">reftitle, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.doxygen">doxygen</a>
-</dt>
-<dt id="ientry-idp724717792">regex</dt>
-<dd><dl><dt>module, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex">regex</a>
-</dt></dl></dd>
-<dt id="ientry-idp724895728">register, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.register">type</a>
-</dt>
-<dd><dl><dt>type, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.register">type</a>
-</dt></dl></dd>
-<dt id="ientry-idp724905920">register-suffixes, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.register-suffixes">type</a>
-</dt>
-<dt id="ientry-idp724913488">registered, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.registered">type</a>
-</dt>
-<dt id="ientry-idp724691808">relative, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.relative">path</a>
-</dt>
-<dt id="ientry-idp724700816">relative-to, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.relative-to">path</a>
-</dt>
-<dt id="ientry-idp216010480">release</dt>
+<dt id="ientry-idp157452496">release</dt>
<dd><dl>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.release">posix::basic_descriptor::release</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/release.html">posix::basic_descriptor::release</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.release">posix::basic_stream_descriptor::release</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/release.html">posix::basic_stream_descriptor::release</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.release">posix::stream_descriptor_service::release</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/release.html">posix::stream_descriptor_service::release</a>
</dt>
-<dt>windows::overlapped_ptr, <a class="indexterm" href="reference.html#boost_asio.reference.windows__overlapped_ptr.release">windows::overlapped_ptr::release</a>
+<dt>windows::overlapped_ptr, <a class="indexterm" href="reference/windows__overlapped_ptr/release.html">windows::overlapped_ptr::release</a>
</dt>
</dl></dd>
-<dt id="ientry-idp156900416">remote_endpoint</dt>
+<dt id="ientry-idp97725840">remote_endpoint</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint">basic_datagram_socket::remote_endpoint</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/remote_endpoint.html">basic_datagram_socket::remote_endpoint</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint">basic_raw_socket::remote_endpoint</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/remote_endpoint.html">basic_raw_socket::remote_endpoint</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint">basic_seq_packet_socket::remote_endpoint</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/remote_endpoint.html">basic_seq_packet_socket::remote_endpoint</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint">basic_socket::remote_endpoint</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/remote_endpoint.html">basic_socket::remote_endpoint</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint">basic_socket_streambuf::remote_endpoint</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/remote_endpoint.html">basic_socket_streambuf::remote_endpoint</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint">basic_stream_socket::remote_endpoint</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/remote_endpoint.html">basic_stream_socket::remote_endpoint</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.remote_endpoint">datagram_socket_service::remote_endpoint</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/remote_endpoint.html">datagram_socket_service::remote_endpoint</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.remote_endpoint">raw_socket_service::remote_endpoint</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/remote_endpoint.html">raw_socket_service::remote_endpoint</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.remote_endpoint">seq_packet_socket_service::remote_endpoint</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/remote_endpoint.html">seq_packet_socket_service::remote_endpoint</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.remote_endpoint">stream_socket_service::remote_endpoint</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/remote_endpoint.html">stream_socket_service::remote_endpoint</a>
</dt>
</dl></dd>
-<dt id="ientry-idp171584240">remove</dt>
+<dt id="ientry-idp112545632">remove</dt>
<dd><dl>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.remove">basic_signal_set::remove</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/remove.html">basic_signal_set::remove</a>
</dt>
-<dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.remove">signal_set_service::remove</a>
+<dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/remove.html">signal_set_service::remove</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724791200">replace, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.replace">regex</a>
-</dt>
-<dd><dl><dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.replace">regex</a>
-</dt></dl></dd>
-<dt id="ientry-idp724797184">replace-list, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.replace-list">regex</a>
-</dt>
-<dd><dl><dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.replace-list">regex</a>
+<dt id="ientry-idp130550096">reserve</dt>
+<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/reserve.html">basic_streambuf::reserve</a>
</dt></dl></dd>
-<dt id="ientry-idp723413744">requirements, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.targets.requirements">Requirements</a>
-</dt>
+<dt id="ientry-idp145284720">reset</dt>
<dd><dl>
-<dt>conditional, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.targets.requirements">Requirements</a>
+<dt>io_service, <a class="indexterm" href="reference/io_service/reset.html">io_service::reset</a>
</dt>
-<dt>indirect, <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.targets.requirements">Requirements</a>
+<dt>windows::overlapped_ptr, <a class="indexterm" href="reference/windows__overlapped_ptr/reset.html">windows::overlapped_ptr::reset</a>
</dt>
</dl></dd>
-<dt id="ientry-idp189459280">reserve</dt>
-<dd><dl><dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.reserve">basic_streambuf::reserve</a>
-</dt></dl></dd>
-<dt id="ientry-idp203787568">reset</dt>
+<dt id="ientry-idp141991520">resize</dt>
<dd><dl>
-<dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.reset">io_service::reset</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/resize.html">generic::basic_endpoint::resize</a>
</dt>
-<dt>windows::overlapped_ptr, <a class="indexterm" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset">windows::overlapped_ptr::reset</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/resize.html">ip::basic_endpoint::resize</a>
</dt>
-</dl></dd>
-<dt id="ientry-idp200429072">resize</dt>
-<dd><dl>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize">generic::basic_endpoint::resize</a>
-</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.resize">ip::basic_endpoint::resize</a>
-</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.resize">local::basic_endpoint::resize</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/resize.html">local::basic_endpoint::resize</a>
</dt>
</dl></dd>
-<dt id="ientry-idp207730160">resolve</dt>
+<dt id="ientry-idp149122272">resolve</dt>
<dd><dl>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve">ip::basic_resolver::resolve</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/resolve.html">ip::basic_resolver::resolve</a>
</dt>
-<dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.resolve">ip::resolver_service::resolve</a>
+<dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/resolve.html">ip::resolver_service::resolve</a>
</dt>
</dl></dd>
-<dt id="ientry-idp209265632">resolver</dt>
+<dt id="ientry-idp150670064">resolver</dt>
<dd><dl>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.resolver">ip::icmp::resolver</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/resolver.html">ip::icmp::resolver</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.resolver">ip::tcp::resolver</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/resolver.html">ip::tcp::resolver</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.resolver">ip::udp::resolver</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/resolver.html">ip::udp::resolver</a>
</dt>
</dl></dd>
-<dt id="ientry-idp210531072">resolver_service</dt>
-<dd><dl><dt>ip::resolver_service, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_service.resolver_service">ip::resolver_service::resolver_service</a>
+<dt id="ientry-idp151942544">resolver_service</dt>
+<dd><dl><dt>ip::resolver_service, <a class="indexterm" href="reference/ip__resolver_service/resolver_service.html">ip::resolver_service::resolver_service</a>
</dt></dl></dd>
-<dt id="ientry-idp523593888">response files, <a class="indexterm" href="../program_options/howto.html#idp523593216">Response Files</a>
-</dt>
-<dt id="ientry-idp228247648">result_type</dt>
-<dd><dl><dt>ssl::rfc2818_verification, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.result_type">ssl::rfc2818_verification::result_type</a>
+<dt id="ientry-idp170157296">result_type</dt>
+<dd><dl><dt>ssl::rfc2818_verification, <a class="indexterm" href="reference/ssl__rfc2818_verification/result_type.html">ssl::rfc2818_verification::result_type</a>
</dt></dl></dd>
-<dt id="ientry-idp157005872">reuse_address</dt>
+<dt id="ientry-idp97827648">reuse_address</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address">basic_datagram_socket::reuse_address</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/reuse_address.html">basic_datagram_socket::reuse_address</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address">basic_raw_socket::reuse_address</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/reuse_address.html">basic_raw_socket::reuse_address</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address">basic_seq_packet_socket::reuse_address</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/reuse_address.html">basic_seq_packet_socket::reuse_address</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.reuse_address">basic_socket::reuse_address</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/reuse_address.html">basic_socket::reuse_address</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address">basic_socket_acceptor::reuse_address</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/reuse_address.html">basic_socket_acceptor::reuse_address</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.reuse_address">basic_socket_streambuf::reuse_address</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/reuse_address.html">basic_socket_streambuf::reuse_address</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address">basic_stream_socket::reuse_address</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/reuse_address.html">basic_stream_socket::reuse_address</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.reuse_address">socket_base::reuse_address</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/reuse_address.html">socket_base::reuse_address</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724620480">reverse, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.reverse">path</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.reverse">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.reverse">sequence</a>
+<dt id="ientry-idp170169728">rfc2818_verification</dt>
+<dd><dl><dt>ssl::rfc2818_verification, <a class="indexterm" href="reference/ssl__rfc2818_verification/rfc2818_verification.html">ssl::rfc2818_verification::rfc2818_verification</a>
</dt></dl></dd>
-<dt id="ientry-idp228259872">rfc2818_verification</dt>
-<dd><dl><dt>ssl::rfc2818_verification, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.rfc2818_verification">ssl::rfc2818_verification::rfc2818_verification</a>
+<dt id="ientry-idp145312368">run</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/run.html">io_service::run</a>
</dt></dl></dd>
-<dt id="ientry-idp724635440">root, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.path.root">path</a>
-</dt>
-<dt id="ientry-idp723159216">rule
- , <a class="indexterm" href="../bbv2/overview.html#bbv2.overview.jam_language">Boost.Jam Language</a>
-</dt>
-<dt id="ientry-idp203818688">run</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.run">io_service::run</a>
+<dt id="ientry-idp145951072">running_in_this_thread</dt>
+<dd><dl><dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/running_in_this_thread.html">io_service::strand::running_in_this_thread</a>
</dt></dl></dd>
-<dt id="ientry-idp204547472">running_in_this_thread</dt>
-<dd><dl><dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand.running_in_this_thread">io_service::strand::running_in_this_thread</a>
-</dt></dl></dd>
-<dt id="ientry-idp723862096">runtime linking, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp203952912">run_one</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.run_one">io_service::run_one</a>
+<dt id="ientry-idp145428928">run_one</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/run_one.html">io_service::run_one</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>S</h3>
<dl>
-<dt id="ientry-idp206511376">scope_id</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.scope_id">ip::address_v6::scope_id</a>
-</dt></dl></dd>
-<dt id="ientry-idp724882784">select-highest-ranked, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.select-highest-ranked">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.select-highest-ranked">sequence</a>
+<dt id="ientry-idp147894304">scope_id</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/scope_id.html">ip::address_v6::scope_id</a>
</dt></dl></dd>
-<dt id="ientry-idp157062000">send</dt>
+<dt id="ientry-idp97878128">send</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.send">basic_datagram_socket::send</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/send.html">basic_datagram_socket::send</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.send">basic_raw_socket::send</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/send.html">basic_raw_socket::send</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send">basic_seq_packet_socket::send</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/send.html">basic_seq_packet_socket::send</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.send">basic_stream_socket::send</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/send.html">basic_stream_socket::send</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.send">datagram_socket_service::send</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/send.html">datagram_socket_service::send</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.send">raw_socket_service::send</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/send.html">raw_socket_service::send</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.send">seq_packet_socket_service::send</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/send.html">seq_packet_socket_service::send</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.send">stream_socket_service::send</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/send.html">stream_socket_service::send</a>
</dt>
</dl></dd>
-<dt id="ientry-idp170653984">send_break</dt>
+<dt id="ientry-idp111608128">send_break</dt>
<dd><dl>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.send_break">basic_serial_port::send_break</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/send_break.html">basic_serial_port::send_break</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.send_break">serial_port_service::send_break</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/send_break.html">serial_port_service::send_break</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157228368">send_buffer_size</dt>
+<dt id="ientry-idp98025504">send_buffer_size</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size">basic_datagram_socket::send_buffer_size</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/send_buffer_size.html">basic_datagram_socket::send_buffer_size</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size">basic_raw_socket::send_buffer_size</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/send_buffer_size.html">basic_raw_socket::send_buffer_size</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size">basic_seq_packet_socket::send_buffer_size</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/send_buffer_size.html">basic_seq_packet_socket::send_buffer_size</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size">basic_socket::send_buffer_size</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/send_buffer_size.html">basic_socket::send_buffer_size</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size">basic_socket_acceptor::send_buffer_size</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/send_buffer_size.html">basic_socket_acceptor::send_buffer_size</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size">basic_socket_streambuf::send_buffer_size</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/send_buffer_size.html">basic_socket_streambuf::send_buffer_size</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size">basic_stream_socket::send_buffer_size</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/send_buffer_size.html">basic_stream_socket::send_buffer_size</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.send_buffer_size">socket_base::send_buffer_size</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/send_buffer_size.html">socket_base::send_buffer_size</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157285408">send_low_watermark</dt>
+<dt id="ientry-idp98079296">send_low_watermark</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark">basic_datagram_socket::send_low_watermark</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/send_low_watermark.html">basic_datagram_socket::send_low_watermark</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark">basic_raw_socket::send_low_watermark</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/send_low_watermark.html">basic_raw_socket::send_low_watermark</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark">basic_seq_packet_socket::send_low_watermark</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/send_low_watermark.html">basic_seq_packet_socket::send_low_watermark</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark">basic_socket::send_low_watermark</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/send_low_watermark.html">basic_socket::send_low_watermark</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark">basic_socket_acceptor::send_low_watermark</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/send_low_watermark.html">basic_socket_acceptor::send_low_watermark</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark">basic_socket_streambuf::send_low_watermark</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/send_low_watermark.html">basic_socket_streambuf::send_low_watermark</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark">basic_stream_socket::send_low_watermark</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/send_low_watermark.html">basic_stream_socket::send_low_watermark</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.send_low_watermark">socket_base::send_low_watermark</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/send_low_watermark.html">socket_base::send_low_watermark</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157341488">send_to</dt>
+<dt id="ientry-idp98135680">send_to</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to">basic_datagram_socket::send_to</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/send_to.html">basic_datagram_socket::send_to</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.send_to">basic_raw_socket::send_to</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/send_to.html">basic_raw_socket::send_to</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.send_to">datagram_socket_service::send_to</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/send_to.html">datagram_socket_service::send_to</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.send_to">raw_socket_service::send_to</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/send_to.html">raw_socket_service::send_to</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724806528">sequence</dt>
-<dd><dl><dt>module, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence">sequence</a>
+<dt id="ientry-idp143355120">seq_packet_protocol</dt>
+<dd><dl><dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/seq_packet_protocol.html">generic::seq_packet_protocol::seq_packet_protocol</a>
</dt></dl></dd>
-<dt id="ientry-idp201781680">seq_packet_protocol</dt>
-<dd><dl><dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol">generic::seq_packet_protocol::seq_packet_protocol</a>
+<dt id="ientry-idp164104656">seq_packet_socket_service</dt>
+<dd><dl><dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/seq_packet_socket_service.html">seq_packet_socket_service::seq_packet_socket_service</a>
</dt></dl></dd>
-<dt id="ientry-idp222601040">seq_packet_socket_service</dt>
-<dd><dl><dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.seq_packet_socket_service">seq_packet_socket_service::seq_packet_socket_service</a>
-</dt></dl></dd>
-<dt id="ientry-idp222653072">serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port">serial_port</a>
+<dt id="ientry-idp164157360">serial_port, <a class="indexterm" href="reference/serial_port.html">serial_port</a>
</dt>
-<dt id="ientry-idp223720896">serial_port_service</dt>
-<dd><dl><dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.serial_port_service">serial_port_service::serial_port_service</a>
+<dt id="ientry-idp165232224">serial_port_service</dt>
+<dd><dl><dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/serial_port_service.html">serial_port_service::serial_port_service</a>
</dt></dl></dd>
-<dt id="ientry-idp228797360">server</dt>
+<dt id="ientry-idp170712016">server</dt>
<dd><dl>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.handshake_type">ssl::stream::handshake_type</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/handshake_type.html">ssl::stream::handshake_type</a>
</dt>
-<dt>ssl::stream_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type">ssl::stream_base::handshake_type</a>
+<dt>ssl::stream_base, <a class="indexterm" href="reference/ssl__stream_base/handshake_type.html">ssl::stream_base::handshake_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157537392">service</dt>
+<dt id="ientry-idp98332400">service</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.service">basic_datagram_socket::service</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/service.html">basic_datagram_socket::service</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.service">basic_deadline_timer::service</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/service.html">basic_deadline_timer::service</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.service">basic_io_object::service</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/service.html">basic_io_object::service</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.service">basic_raw_socket::service</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/service.html">basic_raw_socket::service</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service">basic_seq_packet_socket::service</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/service.html">basic_seq_packet_socket::service</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.service">basic_serial_port::service</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/service.html">basic_serial_port::service</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.service">basic_signal_set::service</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/service.html">basic_signal_set::service</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.service">basic_socket::service</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/service.html">basic_socket::service</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.service">basic_socket_acceptor::service</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/service.html">basic_socket_acceptor::service</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.service">basic_socket_streambuf::service</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/service.html">basic_socket_streambuf::service</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.service">basic_stream_socket::service</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/service.html">basic_stream_socket::service</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.service">basic_waitable_timer::service</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/service.html">basic_waitable_timer::service</a>
</dt>
-<dt>io_service::service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__service.service">io_service::service::service</a>
+<dt>io_service::service, <a class="indexterm" href="reference/io_service__service/service.html">io_service::service::service</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.service">ip::basic_resolver::service</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/service.html">ip::basic_resolver::service</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.service">posix::basic_descriptor::service</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/service.html">posix::basic_descriptor::service</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service">posix::basic_stream_descriptor::service</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/service.html">posix::basic_stream_descriptor::service</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.service">windows::basic_handle::service</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/service.html">windows::basic_handle::service</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.service">windows::basic_object_handle::service</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/service.html">windows::basic_object_handle::service</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service">windows::basic_random_access_handle::service</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/service.html">windows::basic_random_access_handle::service</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service">windows::basic_stream_handle::service</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/service.html">windows::basic_stream_handle::service</a>
</dt>
</dl></dd>
-<dt id="ientry-idp223796800">service_already_exists</dt>
-<dd><dl><dt>service_already_exists, <a class="indexterm" href="reference.html#boost_asio.reference.service_already_exists.service_already_exists">service_already_exists::service_already_exists</a>
+<dt id="ientry-idp165308944">service_already_exists</dt>
+<dd><dl><dt>service_already_exists, <a class="indexterm" href="reference/service_already_exists/service_already_exists.html">service_already_exists::service_already_exists</a>
</dt></dl></dd>
-<dt id="ientry-idp208055824">service_name</dt>
+<dt id="ientry-idp149450176">service_name</dt>
<dd><dl>
-<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.service_name">ip::basic_resolver_entry::service_name</a>
+<dt>ip::basic_resolver_entry, <a class="indexterm" href="reference/ip__basic_resolver_entry/service_name.html">ip::basic_resolver_entry::service_name</a>
</dt>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.service_name">ip::basic_resolver_query::service_name</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/service_name.html">ip::basic_resolver_query::service_name</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199616032">service_not_found</dt>
-<dd><dl><dt>error::addrinfo_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__addrinfo_errors">error::addrinfo_errors</a>
+<dt id="ientry-idp141168560">service_not_found</dt>
+<dd><dl><dt>error::addrinfo_errors, <a class="indexterm" href="reference/error__addrinfo_errors.html">error::addrinfo_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp157549920">service_type</dt>
+<dt id="ientry-idp98344976">service_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type">basic_datagram_socket::service_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/service_type.html">basic_datagram_socket::service_type</a>
</dt>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.service_type">basic_deadline_timer::service_type</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/service_type.html">basic_deadline_timer::service_type</a>
</dt>
-<dt>basic_io_object, <a class="indexterm" href="reference.html#boost_asio.reference.basic_io_object.service_type">basic_io_object::service_type</a>
+<dt>basic_io_object, <a class="indexterm" href="reference/basic_io_object/service_type.html">basic_io_object::service_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.service_type">basic_raw_socket::service_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/service_type.html">basic_raw_socket::service_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service_type">basic_seq_packet_socket::service_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/service_type.html">basic_seq_packet_socket::service_type</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.service_type">basic_serial_port::service_type</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/service_type.html">basic_serial_port::service_type</a>
</dt>
-<dt>basic_signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.basic_signal_set.service_type">basic_signal_set::service_type</a>
+<dt>basic_signal_set, <a class="indexterm" href="reference/basic_signal_set/service_type.html">basic_signal_set::service_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.service_type">basic_socket::service_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/service_type.html">basic_socket::service_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type">basic_socket_acceptor::service_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/service_type.html">basic_socket_acceptor::service_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.service_type">basic_socket_streambuf::service_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/service_type.html">basic_socket_streambuf::service_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.service_type">basic_stream_socket::service_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/service_type.html">basic_stream_socket::service_type</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type">basic_waitable_timer::service_type</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/service_type.html">basic_waitable_timer::service_type</a>
</dt>
-<dt>ip::basic_resolver, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type">ip::basic_resolver::service_type</a>
+<dt>ip::basic_resolver, <a class="indexterm" href="reference/ip__basic_resolver/service_type.html">ip::basic_resolver::service_type</a>
</dt>
-<dt>posix::basic_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type">posix::basic_descriptor::service_type</a>
+<dt>posix::basic_descriptor, <a class="indexterm" href="reference/posix__basic_descriptor/service_type.html">posix::basic_descriptor::service_type</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service_type">posix::basic_stream_descriptor::service_type</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/service_type.html">posix::basic_stream_descriptor::service_type</a>
</dt>
-<dt>windows::basic_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_handle.service_type">windows::basic_handle::service_type</a>
+<dt>windows::basic_handle, <a class="indexterm" href="reference/windows__basic_handle/service_type.html">windows::basic_handle::service_type</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.service_type">windows::basic_object_handle::service_type</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/service_type.html">windows::basic_object_handle::service_type</a>
</dt>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service_type">windows::basic_random_access_handle::service_type</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/service_type.html">windows::basic_random_access_handle::service_type</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service_type">windows::basic_stream_handle::service_type</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/service_type.html">windows::basic_stream_handle::service_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724989392">set-generated-target-prefix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.set-generated-target-prefix">type</a>
-</dt>
-<dt id="ientry-idp724962624">set-generated-target-suffix, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.set-generated-target-suffix">type</a>
-</dt>
-<dt id="ientry-idp724924896">set-scanner, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.set-scanner">type</a>
-</dt>
-<dt id="ientry-idp183636320">setbuf</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.setbuf">basic_socket_streambuf::setbuf</a>
+<dt id="ientry-idp124676480">setbuf</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/setbuf.html">basic_socket_streambuf::setbuf</a>
</dt></dl></dd>
-<dt id="ientry-idp226481888">set_default_verify_paths</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths">ssl::context::set_default_verify_paths</a>
+<dt id="ientry-idp168363328">set_default_verify_paths</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/set_default_verify_paths.html">ssl::context::set_default_verify_paths</a>
</dt></dl></dd>
-<dt id="ientry-idp157562160">set_option</dt>
+<dt id="ientry-idp98357408">set_option</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option">basic_datagram_socket::set_option</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/set_option.html">basic_datagram_socket::set_option</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.set_option">basic_raw_socket::set_option</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/set_option.html">basic_raw_socket::set_option</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option">basic_seq_packet_socket::set_option</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/set_option.html">basic_seq_packet_socket::set_option</a>
</dt>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.set_option">basic_serial_port::set_option</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/set_option.html">basic_serial_port::set_option</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.set_option">basic_socket::set_option</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/set_option.html">basic_socket::set_option</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option">basic_socket_acceptor::set_option</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/set_option.html">basic_socket_acceptor::set_option</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option">basic_socket_streambuf::set_option</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/set_option.html">basic_socket_streambuf::set_option</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.set_option">basic_stream_socket::set_option</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/set_option.html">basic_stream_socket::set_option</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.set_option">datagram_socket_service::set_option</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/set_option.html">datagram_socket_service::set_option</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.set_option">raw_socket_service::set_option</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/set_option.html">raw_socket_service::set_option</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.set_option">seq_packet_socket_service::set_option</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/set_option.html">seq_packet_socket_service::set_option</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.set_option">serial_port_service::set_option</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/set_option.html">serial_port_service::set_option</a>
</dt>
-<dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.set_option">socket_acceptor_service::set_option</a>
+<dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/set_option.html">socket_acceptor_service::set_option</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.set_option">stream_socket_service::set_option</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/set_option.html">stream_socket_service::set_option</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226537200">set_options</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.set_options">ssl::context::set_options</a>
+<dt id="ientry-idp168419424">set_options</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/set_options.html">ssl::context::set_options</a>
</dt></dl></dd>
-<dt id="ientry-idp226611136">set_password_callback</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.set_password_callback">ssl::context::set_password_callback</a>
+<dt id="ientry-idp168494544">set_password_callback</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/set_password_callback.html">ssl::context::set_password_callback</a>
</dt></dl></dd>
-<dt id="ientry-idp226713456">set_verify_callback</dt>
+<dt id="ientry-idp168597744">set_verify_callback</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback">ssl::context::set_verify_callback</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/set_verify_callback.html">ssl::context::set_verify_callback</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback">ssl::stream::set_verify_callback</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/set_verify_callback.html">ssl::stream::set_verify_callback</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226812336">set_verify_depth</dt>
+<dt id="ientry-idp168698160">set_verify_depth</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth">ssl::context::set_verify_depth</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/set_verify_depth.html">ssl::context::set_verify_depth</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth">ssl::stream::set_verify_depth</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/set_verify_depth.html">ssl::stream::set_verify_depth</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226881008">set_verify_mode</dt>
+<dt id="ientry-idp168767760">set_verify_mode</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode">ssl::context::set_verify_mode</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/set_verify_mode.html">ssl::context::set_verify_mode</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode">ssl::stream::set_verify_mode</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/set_verify_mode.html">ssl::stream::set_verify_mode</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157691152">shutdown</dt>
+<dt id="ientry-idp98486416">shutdown</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown">basic_datagram_socket::shutdown</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/shutdown.html">basic_datagram_socket::shutdown</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown">basic_raw_socket::shutdown</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/shutdown.html">basic_raw_socket::shutdown</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown">basic_seq_packet_socket::shutdown</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/shutdown.html">basic_seq_packet_socket::shutdown</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.shutdown">basic_socket::shutdown</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/shutdown.html">basic_socket::shutdown</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown">basic_socket_streambuf::shutdown</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/shutdown.html">basic_socket_streambuf::shutdown</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown">basic_stream_socket::shutdown</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/shutdown.html">basic_stream_socket::shutdown</a>
</dt>
-<dt>datagram_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.datagram_socket_service.shutdown">datagram_socket_service::shutdown</a>
+<dt>datagram_socket_service, <a class="indexterm" href="reference/datagram_socket_service/shutdown.html">datagram_socket_service::shutdown</a>
</dt>
-<dt>raw_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.raw_socket_service.shutdown">raw_socket_service::shutdown</a>
+<dt>raw_socket_service, <a class="indexterm" href="reference/raw_socket_service/shutdown.html">raw_socket_service::shutdown</a>
</dt>
-<dt>seq_packet_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.seq_packet_socket_service.shutdown">seq_packet_socket_service::shutdown</a>
+<dt>seq_packet_socket_service, <a class="indexterm" href="reference/seq_packet_socket_service/shutdown.html">seq_packet_socket_service::shutdown</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.shutdown">ssl::stream::shutdown</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/shutdown.html">ssl::stream::shutdown</a>
</dt>
-<dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.shutdown">stream_socket_service::shutdown</a>
+<dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/shutdown.html">stream_socket_service::shutdown</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157810592">shutdown_both</dt>
+<dt id="ientry-idp98606240">shutdown_both</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type">basic_datagram_socket::shutdown_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/shutdown_type.html">basic_datagram_socket::shutdown_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type">basic_raw_socket::shutdown_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/shutdown_type.html">basic_raw_socket::shutdown_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type">basic_seq_packet_socket::shutdown_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/shutdown_type.html">basic_seq_packet_socket::shutdown_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.shutdown_type">basic_socket::shutdown_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/shutdown_type.html">basic_socket::shutdown_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type">basic_socket_acceptor::shutdown_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/shutdown_type.html">basic_socket_acceptor::shutdown_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type">basic_socket_streambuf::shutdown_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/shutdown_type.html">basic_socket_streambuf::shutdown_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type">basic_stream_socket::shutdown_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/shutdown_type.html">basic_stream_socket::shutdown_type</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.shutdown_type">socket_base::shutdown_type</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/shutdown_type.html">socket_base::shutdown_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157808384">shutdown_receive</dt>
+<dt id="ientry-idp98604032">shutdown_receive</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type">basic_datagram_socket::shutdown_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/shutdown_type.html">basic_datagram_socket::shutdown_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type">basic_raw_socket::shutdown_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/shutdown_type.html">basic_raw_socket::shutdown_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type">basic_seq_packet_socket::shutdown_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/shutdown_type.html">basic_seq_packet_socket::shutdown_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.shutdown_type">basic_socket::shutdown_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/shutdown_type.html">basic_socket::shutdown_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type">basic_socket_acceptor::shutdown_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/shutdown_type.html">basic_socket_acceptor::shutdown_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type">basic_socket_streambuf::shutdown_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/shutdown_type.html">basic_socket_streambuf::shutdown_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type">basic_stream_socket::shutdown_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/shutdown_type.html">basic_stream_socket::shutdown_type</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.shutdown_type">socket_base::shutdown_type</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/shutdown_type.html">socket_base::shutdown_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp157809488">shutdown_send</dt>
+<dt id="ientry-idp98605136">shutdown_send</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type">basic_datagram_socket::shutdown_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/shutdown_type.html">basic_datagram_socket::shutdown_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type">basic_raw_socket::shutdown_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/shutdown_type.html">basic_raw_socket::shutdown_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type">basic_seq_packet_socket::shutdown_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/shutdown_type.html">basic_seq_packet_socket::shutdown_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.shutdown_type">basic_socket::shutdown_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/shutdown_type.html">basic_socket::shutdown_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type">basic_socket_acceptor::shutdown_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/shutdown_type.html">basic_socket_acceptor::shutdown_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type">basic_socket_streambuf::shutdown_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/shutdown_type.html">basic_socket_streambuf::shutdown_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type">basic_stream_socket::shutdown_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/shutdown_type.html">basic_stream_socket::shutdown_type</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.shutdown_type">socket_base::shutdown_type</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/shutdown_type.html">socket_base::shutdown_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp204344832">shutdown_service</dt>
-<dd><dl><dt>io_service::service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__service.shutdown_service">io_service::service::shutdown_service</a>
+<dt id="ientry-idp145771104">shutdown_service</dt>
+<dd><dl><dt>io_service::service, <a class="indexterm" href="reference/io_service__service/shutdown_service.html">io_service::service::shutdown_service</a>
</dt></dl></dd>
-<dt id="ientry-idp157804992">shutdown_type</dt>
+<dt id="ientry-idp98600432">shutdown_type</dt>
<dd><dl>
-<dt>basic_datagram_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type">basic_datagram_socket::shutdown_type</a>
+<dt>basic_datagram_socket, <a class="indexterm" href="reference/basic_datagram_socket/shutdown_type.html">basic_datagram_socket::shutdown_type</a>
</dt>
-<dt>basic_raw_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type">basic_raw_socket::shutdown_type</a>
+<dt>basic_raw_socket, <a class="indexterm" href="reference/basic_raw_socket/shutdown_type.html">basic_raw_socket::shutdown_type</a>
</dt>
-<dt>basic_seq_packet_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type">basic_seq_packet_socket::shutdown_type</a>
+<dt>basic_seq_packet_socket, <a class="indexterm" href="reference/basic_seq_packet_socket/shutdown_type.html">basic_seq_packet_socket::shutdown_type</a>
</dt>
-<dt>basic_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket.shutdown_type">basic_socket::shutdown_type</a>
+<dt>basic_socket, <a class="indexterm" href="reference/basic_socket/shutdown_type.html">basic_socket::shutdown_type</a>
</dt>
-<dt>basic_socket_acceptor, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type">basic_socket_acceptor::shutdown_type</a>
+<dt>basic_socket_acceptor, <a class="indexterm" href="reference/basic_socket_acceptor/shutdown_type.html">basic_socket_acceptor::shutdown_type</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type">basic_socket_streambuf::shutdown_type</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/shutdown_type.html">basic_socket_streambuf::shutdown_type</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type">basic_stream_socket::shutdown_type</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/shutdown_type.html">basic_stream_socket::shutdown_type</a>
</dt>
-<dt>socket_base, <a class="indexterm" href="reference.html#boost_asio.reference.socket_base.shutdown_type">socket_base::shutdown_type</a>
+<dt>socket_base, <a class="indexterm" href="reference/socket_base/shutdown_type.html">socket_base::shutdown_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp199668896">shut_down</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141221840">shut_down</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp223802016">signal_set, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set">signal_set</a>
+<dt id="ientry-idp165314304">signal_set, <a class="indexterm" href="reference/signal_set.html">signal_set</a>
</dt>
-<dt id="ientry-idp224042384">signal_set_service</dt>
-<dd><dl><dt>signal_set_service, <a class="indexterm" href="reference.html#boost_asio.reference.signal_set_service.signal_set_service">signal_set_service::signal_set_service</a>
+<dt id="ientry-idp165661920">signal_set_service</dt>
+<dd><dl><dt>signal_set_service, <a class="indexterm" href="reference/signal_set_service/signal_set_service.html">signal_set_service::signal_set_service</a>
</dt></dl></dd>
-<dt id="ientry-idp226955136">single_dh_use</dt>
+<dt id="ientry-idp168843280">single_dh_use</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.single_dh_use">ssl::context::single_dh_use</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/single_dh_use.html">ssl::context::single_dh_use</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.single_dh_use">ssl::context_base::single_dh_use</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/single_dh_use.html">ssl::context_base::single_dh_use</a>
</dt>
</dl></dd>
-<dt id="ientry-idp189468000">size</dt>
+<dt id="ientry-idp130558960">size</dt>
<dd><dl>
-<dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.size">basic_streambuf::size</a>
+<dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/size.html">basic_streambuf::size</a>
</dt>
-<dt>generic::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.generic__basic_endpoint.size">generic::basic_endpoint::size</a>
+<dt>generic::basic_endpoint, <a class="indexterm" href="reference/generic__basic_endpoint/size.html">generic::basic_endpoint::size</a>
</dt>
-<dt>ip::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_endpoint.size">ip::basic_endpoint::size</a>
+<dt>ip::basic_endpoint, <a class="indexterm" href="reference/ip__basic_endpoint/size.html">ip::basic_endpoint::size</a>
</dt>
-<dt>local::basic_endpoint, <a class="indexterm" href="reference.html#boost_asio.reference.local__basic_endpoint.size">local::basic_endpoint::size</a>
+<dt>local::basic_endpoint, <a class="indexterm" href="reference/local__basic_endpoint/size.html">local::basic_endpoint::size</a>
</dt>
</dl></dd>
-<dt id="ientry-idp200725168">socket</dt>
+<dt id="ientry-idp142291408">socket</dt>
<dd><dl>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket">generic::datagram_protocol::socket</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/socket.html">generic::datagram_protocol::socket</a>
</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.socket">generic::raw_protocol::socket</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/socket.html">generic::raw_protocol::socket</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket">generic::seq_packet_protocol::socket</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/socket.html">generic::seq_packet_protocol::socket</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.socket">generic::stream_protocol::socket</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/socket.html">generic::stream_protocol::socket</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.socket">ip::icmp::socket</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/socket.html">ip::icmp::socket</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.socket">ip::tcp::socket</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/socket.html">ip::tcp::socket</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.socket">ip::udp::socket</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/socket.html">ip::udp::socket</a>
</dt>
-<dt>local::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__datagram_protocol.socket">local::datagram_protocol::socket</a>
+<dt>local::datagram_protocol, <a class="indexterm" href="reference/local__datagram_protocol/socket.html">local::datagram_protocol::socket</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.socket">local::stream_protocol::socket</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/socket.html">local::stream_protocol::socket</a>
</dt>
</dl></dd>
-<dt id="ientry-idp224675712">socket_acceptor_service</dt>
-<dd><dl><dt>socket_acceptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.socket_acceptor_service.socket_acceptor_service">socket_acceptor_service::socket_acceptor_service</a>
+<dt id="ientry-idp166378672">socket_acceptor_service</dt>
+<dd><dl><dt>socket_acceptor_service, <a class="indexterm" href="reference/socket_acceptor_service/socket_acceptor_service.html">socket_acceptor_service::socket_acceptor_service</a>
</dt></dl></dd>
-<dt id="ientry-idp199617136">socket_type_not_supported</dt>
-<dd><dl><dt>error::addrinfo_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__addrinfo_errors">error::addrinfo_errors</a>
+<dt id="ientry-idp141169664">socket_type_not_supported</dt>
+<dd><dl><dt>error::addrinfo_errors, <a class="indexterm" href="reference/error__addrinfo_errors.html">error::addrinfo_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp223084832">software</dt>
-<dd><dl><dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type">serial_port_base::flow_control::type</a>
+<dt id="ientry-idp164591488">software</dt>
+<dd><dl><dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/type.html">serial_port_base::flow_control::type</a>
</dt></dl></dd>
-<dt id="ientry-idp723875280">source, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
+<dt id="ientry-idp167277024">spawn, <a class="indexterm" href="reference/spawn.html">spawn</a>
</dt>
-<dt id="ientry-idp225471056">spawn, <a class="indexterm" href="reference.html#boost_asio.reference.spawn">spawn</a>
-</dt>
-<dt id="ientry-idp724744720">split, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.split">regex</a>
-</dt>
-<dd><dl><dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.split">regex</a>
+<dt id="ientry-idp171431856">ssl</dt>
+<dd><dl><dt>ssl::stream::impl_struct, <a class="indexterm" href="reference/ssl__stream__impl_struct/ssl.html">ssl::stream::impl_struct::ssl</a>
</dt></dl></dd>
-<dt id="ientry-idp724755472">split-list, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.split-list">regex</a>
+<dt id="ientry-idp169961648">ssl::error::get_stream_category, <a class="indexterm" href="reference/ssl__error__get_stream_category.html">ssl::error::get_stream_category</a>
</dt>
-<dd><dl><dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.split-list">regex</a>
-</dt></dl></dd>
-<dt id="ientry-idp229508240">ssl</dt>
-<dd><dl><dt>ssl::stream::impl_struct, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream__impl_struct.ssl">ssl::stream::impl_struct::ssl</a>
-</dt></dl></dd>
-<dt id="ientry-idp228053296">ssl::error::get_stream_category, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__error__get_stream_category">ssl::error::get_stream_category</a>
+<dt id="ientry-idp169976592">ssl::error::make_error_code, <a class="indexterm" href="reference/ssl__error__make_error_code.html">ssl::error::make_error_code</a>
</dt>
-<dt id="ientry-idp228068032">ssl::error::make_error_code, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__error__make_error_code">ssl::error::make_error_code</a>
+<dt id="ientry-idp169992032">ssl::error::stream_category, <a class="indexterm" href="reference/ssl__error__stream_category.html">ssl::error::stream_category</a>
</dt>
-<dt id="ientry-idp228083200">ssl::error::stream_category, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__error__stream_category">ssl::error::stream_category</a>
+<dt id="ientry-idp170013328">ssl::error::stream_errors, <a class="indexterm" href="reference/ssl__error__stream_errors.html">ssl::error::stream_errors</a>
</dt>
-<dt id="ientry-idp228104384">ssl::error::stream_errors, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__error__stream_errors">ssl::error::stream_errors</a>
+<dt id="ientry-idp171495472">ssl::verify_client_once, <a class="indexterm" href="reference/ssl__verify_client_once.html">ssl::verify_client_once</a>
</dt>
-<dt id="ientry-idp229570960">ssl::verify_client_once, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_client_once">ssl::verify_client_once</a>
+<dt id="ientry-idp171580512">ssl::verify_fail_if_no_peer_cert, <a class="indexterm" href="reference/ssl__verify_fail_if_no_peer_cert.html">ssl::verify_fail_if_no_peer_cert</a>
</dt>
-<dt id="ientry-idp229654656">ssl::verify_fail_if_no_peer_cert, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_fail_if_no_peer_cert">ssl::verify_fail_if_no_peer_cert</a>
+<dt id="ientry-idp171596640">ssl::verify_mode, <a class="indexterm" href="reference/ssl__verify_mode.html">ssl::verify_mode</a>
</dt>
-<dt id="ientry-idp229670272">ssl::verify_mode, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_mode">ssl::verify_mode</a>
+<dt id="ientry-idp171623824">ssl::verify_none, <a class="indexterm" href="reference/ssl__verify_none.html">ssl::verify_none</a>
</dt>
-<dt id="ientry-idp229696736">ssl::verify_none, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_none">ssl::verify_none</a>
+<dt id="ientry-idp171636992">ssl::verify_peer, <a class="indexterm" href="reference/ssl__verify_peer.html">ssl::verify_peer</a>
</dt>
-<dt id="ientry-idp229709632">ssl::verify_peer, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_peer">ssl::verify_peer</a>
-</dt>
-<dt id="ientry-idp226310336">sslv2</dt>
+<dt id="ientry-idp168182144">sslv2</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226320272">sslv23</dt>
+<dt id="ientry-idp168192080">sslv23</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226321376">sslv23_client</dt>
+<dt id="ientry-idp168193184">sslv23_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226322480">sslv23_server</dt>
+<dt id="ientry-idp168194288">sslv23_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226311440">sslv2_client</dt>
+<dt id="ientry-idp168183248">sslv2_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226312544">sslv2_server</dt>
+<dt id="ientry-idp168184352">sslv2_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226313648">sslv3</dt>
+<dt id="ientry-idp168185456">sslv3</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226314752">sslv3_client</dt>
+<dt id="ientry-idp168186560">sslv3_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226315856">sslv3_server</dt>
+<dt id="ientry-idp168187664">sslv3_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp229722528">steady_timer, <a class="indexterm" href="reference.html#boost_asio.reference.steady_timer">steady_timer</a>
-</dt>
-<dt id="ientry-idp724335648">STLport, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.libraries.stlport">STLport library</a>
+<dt id="ientry-idp171650160">steady_timer, <a class="indexterm" href="reference/steady_timer.html">steady_timer</a>
</dt>
-<dt id="ientry-idp204037168">stop</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.stop">io_service::stop</a>
+<dt id="ientry-idp145502096">stop</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/stop.html">io_service::stop</a>
</dt></dl></dd>
-<dt id="ientry-idp204058320">stopped</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.stopped">io_service::stopped</a>
+<dt id="ientry-idp145520832">stopped</dt>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/stopped.html">io_service::stopped</a>
</dt></dl></dd>
-<dt id="ientry-idp223260864">stop_bits</dt>
-<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.stop_bits">serial_port_base::stop_bits::stop_bits</a>
+<dt id="ientry-idp164768928">stop_bits</dt>
+<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/stop_bits.html">serial_port_base::stop_bits::stop_bits</a>
</dt></dl></dd>
-<dt id="ientry-idp222897072">store</dt>
+<dt id="ientry-idp164402256">store</dt>
<dd><dl>
-<dt>serial_port_base::baud_rate, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.store">serial_port_base::baud_rate::store</a>
+<dt>serial_port_base::baud_rate, <a class="indexterm" href="reference/serial_port_base__baud_rate/store.html">serial_port_base::baud_rate::store</a>
</dt>
-<dt>serial_port_base::character_size, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__character_size.store">serial_port_base::character_size::store</a>
+<dt>serial_port_base::character_size, <a class="indexterm" href="reference/serial_port_base__character_size/store.html">serial_port_base::character_size::store</a>
</dt>
-<dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.store">serial_port_base::flow_control::store</a>
+<dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/store.html">serial_port_base::flow_control::store</a>
</dt>
-<dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.store">serial_port_base::parity::store</a>
+<dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/store.html">serial_port_base::parity::store</a>
</dt>
-<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.store">serial_port_base::stop_bits::store</a>
+<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/store.html">serial_port_base::stop_bits::store</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725376208">str, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.str">Class property-set</a>
-</dt>
-<dd><dl><dt>Property Set Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.property-set.str">Class property-set</a>
-</dt></dl></dd>
-<dt id="ientry-idp204565104">strand, <a class="indexterm" href="reference.html#boost_asio.reference.strand">strand</a>
+<dt id="ientry-idp145966640">strand, <a class="indexterm" href="reference/strand.html">strand</a>
</dt>
-<dd><dl><dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand.strand">io_service::strand::strand</a>
+<dd><dl><dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/strand.html">io_service::strand::strand</a>
</dt></dl></dd>
-<dt id="ientry-idp229366848">stream</dt>
-<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.stream">ssl::stream::stream</a>
+<dt id="ientry-idp171289040">stream</dt>
+<dd><dl><dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/stream.html">ssl::stream::stream</a>
</dt></dl></dd>
-<dt id="ientry-idp230931808">streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.streambuf">streambuf</a>
+<dt id="ientry-idp172877328">streambuf, <a class="indexterm" href="reference/streambuf.html">streambuf</a>
</dt>
-<dt id="ientry-idp218466784">stream_descriptor_service</dt>
-<dd><dl><dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.stream_descriptor_service">posix::stream_descriptor_service::stream_descriptor_service</a>
+<dt id="ientry-idp159933520">stream_descriptor_service</dt>
+<dd><dl><dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/stream_descriptor_service.html">posix::stream_descriptor_service::stream_descriptor_service</a>
</dt></dl></dd>
-<dt id="ientry-idp237716848">stream_handle_service</dt>
-<dd><dl><dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.stream_handle_service">windows::stream_handle_service::stream_handle_service</a>
+<dt id="ientry-idp179458576">stream_handle_service</dt>
+<dd><dl><dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/stream_handle_service.html">windows::stream_handle_service::stream_handle_service</a>
</dt></dl></dd>
-<dt id="ientry-idp202659568">stream_protocol</dt>
-<dd><dl><dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol">generic::stream_protocol::stream_protocol</a>
+<dt id="ientry-idp144238240">stream_protocol</dt>
+<dd><dl><dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/stream_protocol.html">generic::stream_protocol::stream_protocol</a>
</dt></dl></dd>
-<dt id="ientry-idp230920160">stream_socket_service</dt>
-<dd><dl><dt>stream_socket_service, <a class="indexterm" href="reference.html#boost_asio.reference.stream_socket_service.stream_socket_service">stream_socket_service::stream_socket_service</a>
+<dt id="ientry-idp172865456">stream_socket_service</dt>
+<dd><dl><dt>stream_socket_service, <a class="indexterm" href="reference/stream_socket_service/stream_socket_service.html">stream_socket_service::stream_socket_service</a>
</dt></dl></dd>
-<dt id="ientry-idp228107504">stream_truncated</dt>
-<dd><dl><dt>ssl::error::stream_errors, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__error__stream_errors">ssl::error::stream_errors</a>
+<dt id="ientry-idp170016528">stream_truncated</dt>
+<dd><dl><dt>ssl::error::stream_errors, <a class="indexterm" href="reference/ssl__error__stream_errors.html">ssl::error::stream_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp231430736">subtract</dt>
-<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.subtract">time_traits&lt;
+<dt id="ientry-idp173382864">subtract</dt>
+<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/subtract.html">time_traits&lt;
boost::posix_time::ptime &gt;::subtract</a>
</dt></dl></dd>
-<dt id="ientry-idp183780816">sync</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.sync">basic_socket_streambuf::sync</a>
+<dt id="ientry-idp124822096">sync</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/sync.html">basic_socket_streambuf::sync</a>
</dt></dl></dd>
-<dt id="ientry-idp231088272">system_timer, <a class="indexterm" href="reference.html#boost_asio.reference.system_timer">system_timer</a>
+<dt id="ientry-idp173036528">system_timer, <a class="indexterm" href="reference/system_timer.html">system_timer</a>
</dt>
</dl>
</div>
<div class="indexdiv">
<h3>T</h3>
<dl>
-<dt id="ientry-idp723677712">test-info, <a class="indexterm" href="../bbv2/tasks.html#bbv2.builtins.testing">Testing</a>
+<dt id="ientry-idp141222944">timed_out</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
+</dt></dl></dd>
+<dt id="ientry-idp124841664">timer_handler</dt>
+<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/timer_handler.html">basic_socket_streambuf::timer_handler</a>
+</dt></dl></dd>
+<dt id="ientry-idp131533120">time_point</dt>
+<dd><dl>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/time_point.html">basic_waitable_timer::time_point</a>
</dt>
-<dt id="ientry-idp723663872">testing.arg, <a class="indexterm" href="../bbv2/tasks.html#bbv2.builtins.testing">Testing</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/time_point.html">waitable_timer_service::time_point</a>
</dt>
-<dt id="ientry-idp723668656">testing.input-file, <a class="indexterm" href="../bbv2/tasks.html#bbv2.builtins.testing">Testing</a>
+</dl></dd>
+<dt id="ientry-idp99566928">time_type</dt>
+<dd><dl>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/time_type.html">basic_deadline_timer::time_type</a>
</dt>
-<dt id="ientry-idp723671696">testing.launcher, <a class="indexterm" href="../bbv2/tasks.html#bbv2.builtins.testing">Testing</a>
+<dt>basic_socket_iostream, <a class="indexterm" href="reference/basic_socket_iostream/time_type.html">basic_socket_iostream::time_type</a>
</dt>
-<dt id="ientry-idp724415616">tests, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/time_type.html">basic_socket_streambuf::time_type</a>
</dt>
-<dt id="ientry-idp723868384">threading, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/time_type.html">deadline_timer_service::time_type</a>
</dt>
-<dt id="ientry-idp199670000">timed_out</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
-</dt></dl></dd>
-<dt id="ientry-idp183799872">timer_handler</dt>
-<dd><dl><dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.timer_handler">basic_socket_streambuf::timer_handler</a>
-</dt></dl></dd>
-<dt id="ientry-idp190432544">time_point</dt>
+<dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/time_type.html">time_traits&lt;
+ boost::posix_time::ptime &gt;::time_type</a>
+</dt>
+</dl></dd>
+<dt id="ientry-idp168202016">tls</dt>
<dd><dl>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point">basic_waitable_timer::time_point</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.time_point">waitable_timer_service::time_point</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp158706976">time_type</dt>
+<dt id="ientry-idp168188768">tlsv1</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.time_type">basic_deadline_timer::time_type</a>
-</dt>
-<dt>basic_socket_iostream, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type">basic_socket_iostream::time_type</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.time_type">basic_socket_streambuf::time_type</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.time_type">deadline_timer_service::time_type</a>
+</dl></dd>
+<dt id="ientry-idp168195392">tlsv11</dt>
+<dd><dl>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.time_type">time_traits&lt;
- boost::posix_time::ptime &gt;::time_type</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226316960">tlsv1</dt>
+<dt id="ientry-idp168196496">tlsv11_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226323584">tlsv11</dt>
+<dt id="ientry-idp168197600">tlsv11_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226324688">tlsv11_client</dt>
+<dt id="ientry-idp168198704">tlsv12</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226325792">tlsv11_server</dt>
+<dt id="ientry-idp168199808">tlsv12_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226326896">tlsv12</dt>
+<dt id="ientry-idp168200912">tlsv12_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226328000">tlsv12_client</dt>
+<dt id="ientry-idp168189872">tlsv1_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226329104">tlsv12_server</dt>
+<dt id="ientry-idp168190976">tlsv1_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226318064">tlsv1_client</dt>
+<dt id="ientry-idp168203136">tls_client</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp226319168">tlsv1_server</dt>
+<dt id="ientry-idp168204240">tls_server</dt>
<dd><dl>
-<dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a>
+<dt>ssl::context, <a class="indexterm" href="reference/ssl__context/method.html">ssl::context::method</a>
</dt>
-<dt>ssl::context_base, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a>
+<dt>ssl::context_base, <a class="indexterm" href="reference/ssl__context_base/method.html">ssl::context_base::method</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205884816">to_bytes</dt>
+<dt id="ientry-idp147262512">to_bytes</dt>
<dd><dl>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.to_bytes">ip::address_v4::to_bytes</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/to_bytes.html">ip::address_v4::to_bytes</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.to_bytes">ip::address_v6::to_bytes</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/to_bytes.html">ip::address_v6::to_bytes</a>
</dt>
</dl></dd>
-<dt id="ientry-idp231458464">to_posix_duration</dt>
-<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.to_posix_duration">time_traits&lt;
+<dt id="ientry-idp173410944">to_posix_duration</dt>
+<dd><dl><dt>time_traits&lt; boost::posix_time::ptime &gt;, <a class="indexterm" href="reference/time_traits_lt__ptime__gt_/to_posix_duration.html">time_traits&lt;
boost::posix_time::ptime &gt;::to_posix_duration</a>
</dt></dl></dd>
-<dt id="ientry-idp205265280">to_string</dt>
+<dt id="ientry-idp146636784">to_string</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.to_string">ip::address::to_string</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/to_string.html">ip::address::to_string</a>
</dt>
-<dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.to_string">ip::address_v4::to_string</a>
+<dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/to_string.html">ip::address_v4::to_string</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.to_string">ip::address_v6::to_string</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/to_string.html">ip::address_v6::to_string</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205930704">to_ulong</dt>
-<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v4.to_ulong">ip::address_v4::to_ulong</a>
+<dt id="ientry-idp147308800">to_ulong</dt>
+<dd><dl><dt>ip::address_v4, <a class="indexterm" href="reference/ip__address_v4/to_ulong.html">ip::address_v4::to_ulong</a>
</dt></dl></dd>
-<dt id="ientry-idp205303968">to_v4</dt>
+<dt id="ientry-idp146676032">to_v4</dt>
<dd><dl>
-<dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.to_v4">ip::address::to_v4</a>
+<dt>ip::address, <a class="indexterm" href="reference/ip__address/to_v4.html">ip::address::to_v4</a>
</dt>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.to_v4">ip::address_v6::to_v4</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/to_v4.html">ip::address_v6::to_v4</a>
</dt>
</dl></dd>
-<dt id="ientry-idp205314144">to_v6</dt>
-<dd><dl><dt>ip::address, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address.to_v6">ip::address::to_v6</a>
+<dt id="ientry-idp146686256">to_v6</dt>
+<dd><dl><dt>ip::address, <a class="indexterm" href="reference/ip__address/to_v6.html">ip::address::to_v6</a>
</dt></dl></dd>
-<dt id="ientry-idp231821424">to_wait_duration</dt>
-<dd><dl><dt>wait_traits, <a class="indexterm" href="reference.html#boost_asio.reference.wait_traits.to_wait_duration">wait_traits::to_wait_duration</a>
+<dt id="ientry-idp173778240">to_wait_duration</dt>
+<dd><dl><dt>wait_traits, <a class="indexterm" href="reference/wait_traits/to_wait_duration.html">wait_traits::to_wait_duration</a>
</dt></dl></dd>
-<dt id="ientry-idp158720272">traits_type</dt>
+<dt id="ientry-idp99578256">traits_type</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.traits_type">basic_deadline_timer::traits_type</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/traits_type.html">basic_deadline_timer::traits_type</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type">basic_waitable_timer::traits_type</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/traits_type.html">basic_waitable_timer::traits_type</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.traits_type">deadline_timer_service::traits_type</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/traits_type.html">deadline_timer_service::traits_type</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.traits_type">waitable_timer_service::traits_type</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/traits_type.html">waitable_timer_service::traits_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp231470560">transfer_all, <a class="indexterm" href="reference.html#boost_asio.reference.transfer_all">transfer_all</a>
+<dt id="ientry-idp173423184">transfer_all, <a class="indexterm" href="reference/transfer_all.html">transfer_all</a>
</dt>
-<dt id="ientry-idp231519280">transfer_at_least, <a class="indexterm" href="reference.html#boost_asio.reference.transfer_at_least">transfer_at_least</a>
+<dt id="ientry-idp173472304">transfer_at_least, <a class="indexterm" href="reference/transfer_at_least.html">transfer_at_least</a>
</dt>
-<dt id="ientry-idp231572352">transfer_exactly, <a class="indexterm" href="reference.html#boost_asio.reference.transfer_exactly">transfer_exactly</a>
+<dt id="ientry-idp173525872">transfer_exactly, <a class="indexterm" href="reference/transfer_exactly.html">transfer_exactly</a>
</dt>
-<dt id="ientry-idp724772288">transform, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.transform">regex</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.transform">sequence</a>
-</dt>
-<dd><dl>
-<dt>regex, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.regex.transform">regex</a>
-</dt>
-<dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.transform">sequence</a>
-</dt>
-</dl></dd>
-<dt id="ientry-idp199671104">try_again</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141224048">try_again</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp223291360">two</dt>
-<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type">serial_port_base::stop_bits::type</a>
+<dt id="ientry-idp164799760">two</dt>
+<dd><dl><dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/type.html">serial_port_base::stop_bits::type</a>
</dt></dl></dd>
-<dt id="ientry-idp151437648">type, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.type">type</a>, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.typed-target.type">Class typed-target</a>
-</dt>
+<dt id="ientry-idp92124624">type</dt>
<dd><dl>
-<dt>async_result, <a class="indexterm" href="reference.html#boost_asio.reference.async_result.type">async_result::type</a>
-</dt>
-<dt>generic::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__datagram_protocol.type">generic::datagram_protocol::type</a>
-</dt>
-<dt>generic::raw_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__raw_protocol.type">generic::raw_protocol::type</a>
+<dt>async_result, <a class="indexterm" href="reference/async_result/type.html">async_result::type</a>
</dt>
-<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.type">generic::seq_packet_protocol::type</a>
+<dt>generic::datagram_protocol, <a class="indexterm" href="reference/generic__datagram_protocol/type.html">generic::datagram_protocol::type</a>
</dt>
-<dt>generic::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.generic__stream_protocol.type">generic::stream_protocol::type</a>
+<dt>generic::raw_protocol, <a class="indexterm" href="reference/generic__raw_protocol/type.html">generic::raw_protocol::type</a>
</dt>
-<dt>handler_type, <a class="indexterm" href="reference.html#boost_asio.reference.handler_type.type">handler_type::type</a>
+<dt>generic::seq_packet_protocol, <a class="indexterm" href="reference/generic__seq_packet_protocol/type.html">generic::seq_packet_protocol::type</a>
</dt>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.type">ip::icmp::type</a>
+<dt>generic::stream_protocol, <a class="indexterm" href="reference/generic__stream_protocol/type.html">generic::stream_protocol::type</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.type">ip::tcp::type</a>
+<dt>handler_type, <a class="indexterm" href="reference/handler_type/type.html">handler_type::type</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.type">ip::udp::type</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/type.html">ip::icmp::type</a>
</dt>
-<dt>local::datagram_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__datagram_protocol.type">local::datagram_protocol::type</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/type.html">ip::tcp::type</a>
</dt>
-<dt>local::stream_protocol, <a class="indexterm" href="reference.html#boost_asio.reference.local__stream_protocol.type">local::stream_protocol::type</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/type.html">ip::udp::type</a>
</dt>
-<dt>module, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type">type</a>
+<dt>local::datagram_protocol, <a class="indexterm" href="reference/local__datagram_protocol/type.html">local::datagram_protocol::type</a>
</dt>
-<dt>rule, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.type">type</a>
+<dt>local::stream_protocol, <a class="indexterm" href="reference/local__stream_protocol/type.html">local::stream_protocol::type</a>
</dt>
-<dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type">serial_port_base::flow_control::type</a>
+<dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/type.html">serial_port_base::flow_control::type</a>
</dt>
-<dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.type">serial_port_base::parity::type</a>
+<dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/type.html">serial_port_base::parity::type</a>
</dt>
-<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type">serial_port_base::stop_bits::type</a>
-</dt>
-<dt>Typed Target Method, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.typed-target.type">Class typed-target</a>
+<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/type.html">serial_port_base::stop_bits::type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp725267840">typed-target, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.class.typed-target">Class typed-target</a>
-</dt>
</dl>
</div>
<div class="indexdiv">
<h3>U</h3>
<dl>
-<dt id="ientry-idp183812064">underflow</dt>
+<dt id="ientry-idp124854000">underflow</dt>
<dd><dl>
-<dt>basic_socket_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_socket_streambuf.underflow">basic_socket_streambuf::underflow</a>
+<dt>basic_socket_streambuf, <a class="indexterm" href="reference/basic_socket_streambuf/underflow.html">basic_socket_streambuf::underflow</a>
</dt>
-<dt>basic_streambuf, <a class="indexterm" href="reference.html#boost_asio.reference.basic_streambuf.underflow">basic_streambuf::underflow</a>
+<dt>basic_streambuf, <a class="indexterm" href="reference/basic_streambuf/underflow.html">basic_streambuf::underflow</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724865776">unique, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.unique">sequence</a>
-</dt>
-<dd><dl><dt>sequence, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.sequence.unique">sequence</a>
+<dt id="ientry-idp168851888">use_certificate</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_certificate.html">ssl::context::use_certificate</a>
</dt></dl></dd>
-<dt id="ientry-idp723894832">use, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp226963664">use_certificate</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_certificate">ssl::context::use_certificate</a>
+<dt id="ientry-idp168937952">use_certificate_chain</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_certificate_chain.html">ssl::context::use_certificate_chain</a>
</dt></dl></dd>
-<dt id="ientry-idp227049104">use_certificate_chain</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain">ssl::context::use_certificate_chain</a>
+<dt id="ientry-idp169013856">use_certificate_chain_file</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_certificate_chain_file.html">ssl::context::use_certificate_chain_file</a>
</dt></dl></dd>
-<dt id="ientry-idp227124192">use_certificate_chain_file</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file">ssl::context::use_certificate_chain_file</a>
+<dt id="ientry-idp169094096">use_certificate_file</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_certificate_file.html">ssl::context::use_certificate_file</a>
</dt></dl></dd>
-<dt id="ientry-idp227203248">use_certificate_file</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file">ssl::context::use_certificate_file</a>
-</dt></dl></dd>
-<dt id="ientry-idp231625392">use_future, <a class="indexterm" href="reference.html#boost_asio.reference.use_future">use_future</a>
+<dt id="ientry-idp173579200">use_future, <a class="indexterm" href="reference/use_future.html">use_future</a>
</dt>
-<dt id="ientry-idp231739728">use_future_t</dt>
-<dd><dl><dt>use_future_t, <a class="indexterm" href="reference.html#boost_asio.reference.use_future_t.use_future_t">use_future_t::use_future_t</a>
+<dt id="ientry-idp173695264">use_future_t</dt>
+<dd><dl><dt>use_future_t, <a class="indexterm" href="reference/use_future_t/use_future_t.html">use_future_t::use_future_t</a>
</dt></dl></dd>
-<dt id="ientry-idp227293056">use_private_key</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_private_key">ssl::context::use_private_key</a>
+<dt id="ientry-idp169184784">use_private_key</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_private_key.html">ssl::context::use_private_key</a>
</dt></dl></dd>
-<dt id="ientry-idp227378272">use_private_key_file</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file">ssl::context::use_private_key_file</a>
+<dt id="ientry-idp169271136">use_private_key_file</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_private_key_file.html">ssl::context::use_private_key_file</a>
</dt></dl></dd>
-<dt id="ientry-idp227468144">use_rsa_private_key</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key">ssl::context::use_rsa_private_key</a>
+<dt id="ientry-idp169361632">use_rsa_private_key</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_rsa_private_key.html">ssl::context::use_rsa_private_key</a>
</dt></dl></dd>
-<dt id="ientry-idp227553520">use_rsa_private_key_file</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file">ssl::context::use_rsa_private_key_file</a>
+<dt id="ientry-idp169448144">use_rsa_private_key_file</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_rsa_private_key_file.html">ssl::context::use_rsa_private_key_file</a>
</dt></dl></dd>
-<dt id="ientry-idp204086224">use_service, <a class="indexterm" href="reference.html#boost_asio.reference.use_service">use_service</a>
+<dt id="ientry-idp145544704">use_service, <a class="indexterm" href="reference/use_service.html">use_service</a>
</dt>
-<dd><dl><dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.use_service">io_service::use_service</a>
+<dd><dl><dt>io_service, <a class="indexterm" href="reference/io_service/use_service.html">io_service::use_service</a>
</dt></dl></dd>
-<dt id="ientry-idp227643616">use_tmp_dh</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh">ssl::context::use_tmp_dh</a>
+<dt id="ientry-idp169539088">use_tmp_dh</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_tmp_dh.html">ssl::context::use_tmp_dh</a>
</dt></dl></dd>
-<dt id="ientry-idp227717648">use_tmp_dh_file</dt>
-<dd><dl><dt>ssl::context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file">ssl::context::use_tmp_dh_file</a>
+<dt id="ientry-idp169614160">use_tmp_dh_file</dt>
+<dd><dl><dt>ssl::context, <a class="indexterm" href="reference/ssl__context/use_tmp_dh_file.html">ssl::context::use_tmp_dh_file</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>V</h3>
<dl>
-<dt id="ientry-idp209640832">v4</dt>
+<dt id="ientry-idp151045360">v4</dt>
<dd><dl>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.v4">ip::icmp::v4</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/v4.html">ip::icmp::v4</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.v4">ip::tcp::v4</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/v4.html">ip::tcp::v4</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.v4">ip::udp::v4</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/v4.html">ip::udp::v4</a>
</dt>
</dl></dd>
-<dt id="ientry-idp206594512">v4_compatible</dt>
-<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.v4_compatible">ip::address_v6::v4_compatible</a>
+<dt id="ientry-idp147978352">v4_compatible</dt>
+<dd><dl><dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/v4_compatible.html">ip::address_v6::v4_compatible</a>
</dt></dl></dd>
-<dt id="ientry-idp206604288">v4_mapped</dt>
+<dt id="ientry-idp147988272">v4_mapped</dt>
<dd><dl>
-<dt>ip::address_v6, <a class="indexterm" href="reference.html#boost_asio.reference.ip__address_v6.v4_mapped">ip::address_v6::v4_mapped</a>
+<dt>ip::address_v6, <a class="indexterm" href="reference/ip__address_v6/v4_mapped.html">ip::address_v6::v4_mapped</a>
</dt>
-<dt>ip::basic_resolver_query, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_query.v4_mapped">ip::basic_resolver_query::v4_mapped</a>
+<dt>ip::basic_resolver_query, <a class="indexterm" href="reference/ip__basic_resolver_query/v4_mapped.html">ip::basic_resolver_query::v4_mapped</a>
</dt>
-<dt>ip::resolver_query_base, <a class="indexterm" href="reference.html#boost_asio.reference.ip__resolver_query_base.v4_mapped">ip::resolver_query_base::v4_mapped</a>
+<dt>ip::resolver_query_base, <a class="indexterm" href="reference/ip__resolver_query_base/v4_mapped.html">ip::resolver_query_base::v4_mapped</a>
</dt>
</dl></dd>
-<dt id="ientry-idp209647200">v6</dt>
+<dt id="ientry-idp151051872">v6</dt>
<dd><dl>
-<dt>ip::icmp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__icmp.v6">ip::icmp::v6</a>
+<dt>ip::icmp, <a class="indexterm" href="reference/ip__icmp/v6.html">ip::icmp::v6</a>
</dt>
-<dt>ip::tcp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__tcp.v6">ip::tcp::v6</a>
+<dt>ip::tcp, <a class="indexterm" href="reference/ip__tcp/v6.html">ip::tcp::v6</a>
</dt>
-<dt>ip::udp, <a class="indexterm" href="reference.html#boost_asio.reference.ip__udp.v6">ip::udp::v6</a>
+<dt>ip::udp, <a class="indexterm" href="reference/ip__udp/v6.html">ip::udp::v6</a>
</dt>
</dl></dd>
-<dt id="ientry-idp724918848">validate, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.modules.type.validate">type</a>
-</dt>
-<dt id="ientry-idp212324624">value</dt>
+<dt id="ientry-idp153740064">value</dt>
<dd><dl>
<dt>boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors
- &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value">boost::system::is_error_code_enum&lt;
+ &gt;, <a class="indexterm" href="reference/is_error_code_enum_lt__addrinfo_errors__gt_/value.html">boost::system::is_error_code_enum&lt;
boost::asio::error::addrinfo_errors &gt;::value</a>
</dt>
<dt>boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors
- &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value">boost::system::is_error_code_enum&lt;
+ &gt;, <a class="indexterm" href="reference/is_error_code_enum_lt__basic_errors__gt_/value.html">boost::system::is_error_code_enum&lt;
boost::asio::error::basic_errors &gt;::value</a>
</dt>
<dt>boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors
- &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value">boost::system::is_error_code_enum&lt;
+ &gt;, <a class="indexterm" href="reference/is_error_code_enum_lt__misc_errors__gt_/value.html">boost::system::is_error_code_enum&lt;
boost::asio::error::misc_errors &gt;::value</a>
</dt>
<dt>boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors
- &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value">boost::system::is_error_code_enum&lt;
+ &gt;, <a class="indexterm" href="reference/is_error_code_enum_lt__netdb_errors__gt_/value.html">boost::system::is_error_code_enum&lt;
boost::asio::error::netdb_errors &gt;::value</a>
</dt>
<dt>boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors
- &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value">boost::system::is_error_code_enum&lt;
+ &gt;, <a class="indexterm" href="reference/is_error_code_enum_lt__ssl_errors__gt_/value.html">boost::system::is_error_code_enum&lt;
boost::asio::error::ssl_errors &gt;::value</a>
</dt>
<dt>boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors
- &gt;, <a class="indexterm" href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.value">boost::system::is_error_code_enum&lt;
+ &gt;, <a class="indexterm" href="reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html">boost::system::is_error_code_enum&lt;
boost::asio::ssl::error::stream_errors &gt;::value</a>
</dt>
-<dt>is_match_condition, <a class="indexterm" href="reference.html#boost_asio.reference.is_match_condition.value">is_match_condition::value</a>
+<dt>is_match_condition, <a class="indexterm" href="reference/is_match_condition/value.html">is_match_condition::value</a>
</dt>
-<dt>is_read_buffered, <a class="indexterm" href="reference.html#boost_asio.reference.is_read_buffered.value">is_read_buffered::value</a>
+<dt>is_read_buffered, <a class="indexterm" href="reference/is_read_buffered/value.html">is_read_buffered::value</a>
</dt>
-<dt>is_write_buffered, <a class="indexterm" href="reference.html#boost_asio.reference.is_write_buffered.value">is_write_buffered::value</a>
+<dt>is_write_buffered, <a class="indexterm" href="reference/is_write_buffered/value.html">is_write_buffered::value</a>
</dt>
-<dt>serial_port_base::baud_rate, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.value">serial_port_base::baud_rate::value</a>
+<dt>serial_port_base::baud_rate, <a class="indexterm" href="reference/serial_port_base__baud_rate/value.html">serial_port_base::baud_rate::value</a>
</dt>
-<dt>serial_port_base::character_size, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__character_size.value">serial_port_base::character_size::value</a>
+<dt>serial_port_base::character_size, <a class="indexterm" href="reference/serial_port_base__character_size/value.html">serial_port_base::character_size::value</a>
</dt>
-<dt>serial_port_base::flow_control, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__flow_control.value">serial_port_base::flow_control::value</a>
+<dt>serial_port_base::flow_control, <a class="indexterm" href="reference/serial_port_base__flow_control/value.html">serial_port_base::flow_control::value</a>
</dt>
-<dt>serial_port_base::parity, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__parity.value">serial_port_base::parity::value</a>
+<dt>serial_port_base::parity, <a class="indexterm" href="reference/serial_port_base__parity/value.html">serial_port_base::parity::value</a>
</dt>
-<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.value">serial_port_base::stop_bits::value</a>
+<dt>serial_port_base::stop_bits, <a class="indexterm" href="reference/serial_port_base__stop_bits/value.html">serial_port_base::stop_bits::value</a>
</dt>
</dl></dd>
-<dt id="ientry-idp196194336">value_type</dt>
+<dt id="ientry-idp137700544">value_type</dt>
<dd><dl>
-<dt>buffers_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.buffers_iterator.value_type">buffers_iterator::value_type</a>
+<dt>buffers_iterator, <a class="indexterm" href="reference/buffers_iterator/value_type.html">buffers_iterator::value_type</a>
</dt>
-<dt>const_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.const_buffers_1.value_type">const_buffers_1::value_type</a>
+<dt>const_buffers_1, <a class="indexterm" href="reference/const_buffers_1/value_type.html">const_buffers_1::value_type</a>
</dt>
-<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type">ip::basic_resolver_iterator::value_type</a>
+<dt>ip::basic_resolver_iterator, <a class="indexterm" href="reference/ip__basic_resolver_iterator/value_type.html">ip::basic_resolver_iterator::value_type</a>
</dt>
-<dt>mutable_buffers_1, <a class="indexterm" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type">mutable_buffers_1::value_type</a>
+<dt>mutable_buffers_1, <a class="indexterm" href="reference/mutable_buffers_1/value_type.html">mutable_buffers_1::value_type</a>
</dt>
-<dt>null_buffers, <a class="indexterm" href="reference.html#boost_asio.reference.null_buffers.value_type">null_buffers::value_type</a>
+<dt>null_buffers, <a class="indexterm" href="reference/null_buffers/value_type.html">null_buffers::value_type</a>
</dt>
</dl></dd>
-<dt id="ientry-idp723841056">variant, <a class="indexterm" href="../bbv2/reference.html#bbv2.overview.builtins.features">Builtin features</a>
-</dt>
-<dt id="ientry-idp229647360">verify_context</dt>
-<dd><dl><dt>ssl::verify_context, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__verify_context.verify_context">ssl::verify_context::verify_context</a>
+<dt id="ientry-idp171573136">verify_context</dt>
+<dd><dl><dt>ssl::verify_context, <a class="indexterm" href="reference/ssl__verify_context/verify_context.html">ssl::verify_context::verify_context</a>
</dt></dl></dd>
</dl>
</div>
<div class="indexdiv">
<h3>W</h3>
<dl>
-<dt id="ientry-idp158732512">wait</dt>
+<dt id="ientry-idp99588752">wait</dt>
<dd><dl>
-<dt>basic_deadline_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_deadline_timer.wait">basic_deadline_timer::wait</a>
+<dt>basic_deadline_timer, <a class="indexterm" href="reference/basic_deadline_timer/wait.html">basic_deadline_timer::wait</a>
</dt>
-<dt>basic_waitable_timer, <a class="indexterm" href="reference.html#boost_asio.reference.basic_waitable_timer.wait">basic_waitable_timer::wait</a>
+<dt>basic_waitable_timer, <a class="indexterm" href="reference/basic_waitable_timer/wait.html">basic_waitable_timer::wait</a>
</dt>
-<dt>deadline_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.deadline_timer_service.wait">deadline_timer_service::wait</a>
+<dt>deadline_timer_service, <a class="indexterm" href="reference/deadline_timer_service/wait.html">deadline_timer_service::wait</a>
</dt>
-<dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.wait">waitable_timer_service::wait</a>
+<dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/wait.html">waitable_timer_service::wait</a>
</dt>
-<dt>windows::basic_object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait">windows::basic_object_handle::wait</a>
+<dt>windows::basic_object_handle, <a class="indexterm" href="reference/windows__basic_object_handle/wait.html">windows::basic_object_handle::wait</a>
</dt>
-<dt>windows::object_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle_service.wait">windows::object_handle_service::wait</a>
+<dt>windows::object_handle_service, <a class="indexterm" href="reference/windows__object_handle_service/wait.html">windows::object_handle_service::wait</a>
</dt>
</dl></dd>
-<dt id="ientry-idp232200496">waitable_timer_service</dt>
-<dd><dl><dt>waitable_timer_service, <a class="indexterm" href="reference.html#boost_asio.reference.waitable_timer_service.waitable_timer_service">waitable_timer_service::waitable_timer_service</a>
+<dt id="ientry-idp174162176">waitable_timer_service</dt>
+<dd><dl><dt>waitable_timer_service, <a class="indexterm" href="reference/waitable_timer_service/waitable_timer_service.html">waitable_timer_service::waitable_timer_service</a>
</dt></dl></dd>
-<dt id="ientry-idp724141712">Windows Runtime support</dt>
-<dd><dl><dt>Microsoft Visual Studio, <a class="indexterm" href="../bbv2/reference.html#v2.reference.tools.compiler.msvc.winrt">Windows Runtime support</a>
-</dt></dl></dd>
-<dt id="ientry-idp236146368">windows::object_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__object_handle">windows::object_handle</a>
+<dt id="ientry-idp177877552">windows::object_handle, <a class="indexterm" href="reference/windows__object_handle.html">windows::object_handle</a>
</dt>
-<dt id="ientry-idp236739920">windows::random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle">windows::random_access_handle</a>
+<dt id="ientry-idp178475904">windows::random_access_handle, <a class="indexterm" href="reference/windows__random_access_handle.html">windows::random_access_handle</a>
</dt>
-<dt id="ientry-idp237249536">windows::stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle">windows::stream_handle</a>
+<dt id="ientry-idp178988880">windows::stream_handle, <a class="indexterm" href="reference/windows__stream_handle.html">windows::stream_handle</a>
</dt>
-<dt id="ientry-idp204688656">work</dt>
-<dd><dl><dt>io_service::work, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__work.work">io_service::work::work</a>
+<dt id="ientry-idp146075776">work</dt>
+<dd><dl><dt>io_service::work, <a class="indexterm" href="reference/io_service__work/work.html">io_service::work::work</a>
</dt></dl></dd>
-<dt id="ientry-idp199672208">would_block</dt>
-<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a>
+<dt id="ientry-idp141225152">would_block</dt>
+<dd><dl><dt>error::basic_errors, <a class="indexterm" href="reference/error__basic_errors.html">error::basic_errors</a>
</dt></dl></dd>
-<dt id="ientry-idp204117424">wrap</dt>
+<dt id="ientry-idp145571312">wrap</dt>
<dd><dl>
-<dt>io_service, <a class="indexterm" href="reference.html#boost_asio.reference.io_service.wrap">io_service::wrap</a>
+<dt>io_service, <a class="indexterm" href="reference/io_service/wrap.html">io_service::wrap</a>
</dt>
-<dt>io_service::strand, <a class="indexterm" href="reference.html#boost_asio.reference.io_service__strand.wrap">io_service::strand::wrap</a>
+<dt>io_service::strand, <a class="indexterm" href="reference/io_service__strand/wrap.html">io_service::strand::wrap</a>
</dt>
</dl></dd>
-<dt id="ientry-idp237749520">write, <a class="indexterm" href="reference.html#boost_asio.reference.write">write</a>
+<dt id="ientry-idp179491680">write, <a class="indexterm" href="reference/write.html">write</a>
</dt>
-<dt id="ientry-idp238415792">write_at, <a class="indexterm" href="reference.html#boost_asio.reference.write_at">write_at</a>
+<dt id="ientry-idp180162768">write_at, <a class="indexterm" href="reference/write_at.html">write_at</a>
</dt>
-<dt id="ientry-idp170804272">write_some</dt>
+<dt id="ientry-idp111759392">write_some</dt>
<dd><dl>
-<dt>basic_serial_port, <a class="indexterm" href="reference.html#boost_asio.reference.basic_serial_port.write_some">basic_serial_port::write_some</a>
+<dt>basic_serial_port, <a class="indexterm" href="reference/basic_serial_port/write_some.html">basic_serial_port::write_some</a>
</dt>
-<dt>basic_stream_socket, <a class="indexterm" href="reference.html#boost_asio.reference.basic_stream_socket.write_some">basic_stream_socket::write_some</a>
+<dt>basic_stream_socket, <a class="indexterm" href="reference/basic_stream_socket/write_some.html">basic_stream_socket::write_some</a>
</dt>
-<dt>buffered_read_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_read_stream.write_some">buffered_read_stream::write_some</a>
+<dt>buffered_read_stream, <a class="indexterm" href="reference/buffered_read_stream/write_some.html">buffered_read_stream::write_some</a>
</dt>
-<dt>buffered_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_stream.write_some">buffered_stream::write_some</a>
+<dt>buffered_stream, <a class="indexterm" href="reference/buffered_stream/write_some.html">buffered_stream::write_some</a>
</dt>
-<dt>buffered_write_stream, <a class="indexterm" href="reference.html#boost_asio.reference.buffered_write_stream.write_some">buffered_write_stream::write_some</a>
+<dt>buffered_write_stream, <a class="indexterm" href="reference/buffered_write_stream/write_some.html">buffered_write_stream::write_some</a>
</dt>
-<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some">posix::basic_stream_descriptor::write_some</a>
+<dt>posix::basic_stream_descriptor, <a class="indexterm" href="reference/posix__basic_stream_descriptor/write_some.html">posix::basic_stream_descriptor::write_some</a>
</dt>
-<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.write_some">posix::stream_descriptor_service::write_some</a>
+<dt>posix::stream_descriptor_service, <a class="indexterm" href="reference/posix__stream_descriptor_service/write_some.html">posix::stream_descriptor_service::write_some</a>
</dt>
-<dt>serial_port_service, <a class="indexterm" href="reference.html#boost_asio.reference.serial_port_service.write_some">serial_port_service::write_some</a>
+<dt>serial_port_service, <a class="indexterm" href="reference/serial_port_service/write_some.html">serial_port_service::write_some</a>
</dt>
-<dt>ssl::stream, <a class="indexterm" href="reference.html#boost_asio.reference.ssl__stream.write_some">ssl::stream::write_some</a>
+<dt>ssl::stream, <a class="indexterm" href="reference/ssl__stream/write_some.html">ssl::stream::write_some</a>
</dt>
-<dt>windows::basic_stream_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some">windows::basic_stream_handle::write_some</a>
+<dt>windows::basic_stream_handle, <a class="indexterm" href="reference/windows__basic_stream_handle/write_some.html">windows::basic_stream_handle::write_some</a>
</dt>
-<dt>windows::stream_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__stream_handle_service.write_some">windows::stream_handle_service::write_some</a>
+<dt>windows::stream_handle_service, <a class="indexterm" href="reference/windows__stream_handle_service/write_some.html">windows::stream_handle_service::write_some</a>
</dt>
</dl></dd>
-<dt id="ientry-idp234872656">write_some_at</dt>
+<dt id="ientry-idp176656256">write_some_at</dt>
<dd><dl>
-<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at">windows::basic_random_access_handle::write_some_at</a>
+<dt>windows::basic_random_access_handle, <a class="indexterm" href="reference/windows__basic_random_access_handle/write_some_at.html">windows::basic_random_access_handle::write_some_at</a>
</dt>
-<dt>windows::random_access_handle_service, <a class="indexterm" href="reference.html#boost_asio.reference.windows__random_access_handle_service.write_some_at">windows::random_access_handle_service::write_some_at</a>
+<dt>windows::random_access_handle_service, <a class="indexterm" href="reference/windows__random_access_handle_service/write_some_at.html">windows::random_access_handle_service::write_some_at</a>
</dt>
</dl></dd>
</dl>
</div>
<div class="indexdiv">
-<h3>X</h3>
-<dl>
-<dt id="ientry-idp724409216">xhtml, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.boostbook">boostbook</a>
-</dt>
-<dt id="ientry-idp724378176">xsl:param, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.xsltproc">xsltproc</a>
-</dt>
-<dt id="ientry-idp724381728">xsl:path, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.xsltproc">xsltproc</a>
-</dt>
-<dt id="ientry-idp724388448">xslt, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.xsltproc">xsltproc</a>
-</dt>
-<dt id="ientry-idp724392032">xslt-dir, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.xsltproc">xsltproc</a>
-</dt>
-<dt id="ientry-idp724371728">xsltproc, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.doc.xsltproc">xsltproc</a>
-</dt>
-</dl>
-</div>
-<div class="indexdiv">
<h3>Y</h3>
-<dl><dt id="ientry-idp239136848">yield_context, <a class="indexterm" href="reference.html#boost_asio.reference.yield_context">yield_context</a>
-</dt></dl>
-</div>
-<div class="indexdiv">
-<h3>Z</h3>
-<dl><dt id="ientry-idp724346672">zlib, <a class="indexterm" href="../bbv2/reference.html#bbv2.reference.tools.libraries.zlib">zlib</a>
+<dl><dt id="ientry-idp180888768">yield_context, <a class="indexterm" href="reference/yield_context.html">yield_context</a>
</dt></dl>
</div>
</div>
@@ -5067,8 +4647,7 @@
</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 &#169; 2003-2016 Christopher
- M. Kohlhoff<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2017 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>
@@ -5076,7 +4655,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../atomic.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="history.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_asio/overview.html b/doc/html/boost_asio/overview.html
new file mode 100644
index 0000000000..3f0e25fb57
--- /dev/null
+++ b/doc/html/boost_asio/overview.html
@@ -0,0 +1,194 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
+<link rel="prev" href="../boost_asio.html" title="Boost.Asio">
+<link rel="next" href="overview/rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../boost_asio.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/rationale.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_asio.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="overview/rationale.html" title="Rationale">Rationale</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core.html" title="Core Concepts and Functionality">Core Concepts and Functionality</a>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ <a class="link" href="overview/core/basics.html" title="Basic Boost.Asio Anatomy">Basic Boost.Asio
+ Anatomy</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/async.html" title="The Proactor Design Pattern: Concurrency Without Threads">The Proactor Design
+ Pattern: Concurrency Without Threads</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/threads.html" title="Threads and Boost.Asio">Threads and Boost.Asio</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/strands.html" title="Strands: Use Threads Without Explicit Locking">Strands: Use Threads
+ Without Explicit Locking</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/buffers.html" title="Buffers">Buffers</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/streams.html" title="Streams, Short Reads and Short Writes">Streams, Short Reads
+ and Short Writes</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/reactor.html" title="Reactor-Style Operations">Reactor-Style Operations</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/line_based.html" title="Line-Based Operations">Line-Based Operations</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/allocation.html" title="Custom Memory Allocation">Custom Memory
+ Allocation</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/handler_tracking.html" title="Handler Tracking">Handler
+ Tracking</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/coroutine.html" title="Stackless Coroutines">Stackless Coroutines</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/core/spawn.html" title="Stackful Coroutines">Stackful Coroutines</a>
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/networking.html" title="Networking">Networking</a>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ <a class="link" href="overview/networking/protocols.html" title="TCP, UDP and ICMP">TCP, UDP
+ and ICMP</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/networking/other_protocols.html" title="Support for Other Protocols">Support
+ for Other Protocols</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/networking/iostreams.html" title="Socket Iostreams">Socket Iostreams</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/networking/bsd_sockets.html" title="The BSD Socket API and Boost.Asio">The BSD
+ Socket API and Boost.Asio</a>
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/timers.html" title="Timers">Timers</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/serial_ports.html" title="Serial Ports">Serial Ports</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/signals.html" title="Signal Handling">Signal Handling</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/posix.html" title="POSIX-Specific Functionality">POSIX-Specific Functionality</a>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ <a class="link" href="overview/posix/local.html" title="UNIX Domain Sockets">UNIX Domain Sockets</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/posix/stream_descriptor.html" title="Stream-Oriented File Descriptors">Stream-Oriented
+ File Descriptors</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/posix/fork.html" title="Fork">Fork</a>
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/windows.html" title="Windows-Specific Functionality">Windows-Specific Functionality</a>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ <a class="link" href="overview/windows/stream_handle.html" title="Stream-Oriented HANDLEs">Stream-Oriented
+ HANDLEs</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/windows/random_access_handle.html" title="Random-Access HANDLEs">Random-Access
+ HANDLEs</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/windows/object_handle.html" title="Object HANDLEs">Object
+ HANDLEs</a>
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/ssl.html" title="SSL">SSL</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011.html" title="C++ 2011 Support">C++ 2011 Support</a>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/move_objects.html" title="Movable I/O Objects">Movable
+ I/O Objects</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/move_handlers.html" title="Movable Handlers">Movable
+ Handlers</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/variadic.html" title="Variadic Templates">Variadic Templates</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/array.html" title="Array Container">Array Container</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/atomic.html" title="Atomics">Atomics</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/shared_ptr.html" title="Shared Pointers">Shared Pointers</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/chrono.html" title="Chrono">Chrono</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/cpp2011/futures.html" title="Futures">Futures</a>
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ <a class="link" href="overview/implementation.html" title="Platform-Specific Implementation Notes">Platform-Specific Implementation
+ Notes</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 &#169; 2003-2017 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="../boost_asio.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/rationale.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core.html b/doc/html/boost_asio/overview/core.html
new file mode 100644
index 0000000000..665a4b87d0
--- /dev/null
+++ b/doc/html/boost_asio/overview/core.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Core Concepts and Functionality</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="core/basics.html" title="Basic Boost.Asio Anatomy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="core/basics.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.core"></a><a class="link" href="core.html" title="Core Concepts and Functionality">Core Concepts and Functionality</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="core/basics.html" title="Basic Boost.Asio Anatomy">Basic Boost.Asio Anatomy</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/async.html" title="The Proactor Design Pattern: Concurrency Without Threads">The Proactor Design Pattern:
+ Concurrency Without Threads</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/threads.html" title="Threads and Boost.Asio">Threads and Boost.Asio</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/strands.html" title="Strands: Use Threads Without Explicit Locking">Strands: Use Threads
+ Without Explicit Locking</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/buffers.html" title="Buffers">Buffers</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/streams.html" title="Streams, Short Reads and Short Writes">Streams, Short Reads
+ and Short Writes</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/reactor.html" title="Reactor-Style Operations">Reactor-Style Operations</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/line_based.html" title="Line-Based Operations">Line-Based Operations</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/allocation.html" title="Custom Memory Allocation">Custom Memory Allocation</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/handler_tracking.html" title="Handler Tracking">Handler Tracking</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/coroutine.html" title="Stackless Coroutines">Stackless Coroutines</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="core/spawn.html" title="Stackful Coroutines">Stackful Coroutines</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 &#169; 2003-2017 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="rationale.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="core/basics.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/allocation.html b/doc/html/boost_asio/overview/core/allocation.html
new file mode 100644
index 0000000000..f7662d09d4
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/allocation.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Custom Memory Allocation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="line_based.html" title="Line-Based Operations">
+<link rel="next" href="handler_tracking.html" title="Handler Tracking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="line_based.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handler_tracking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.allocation"></a><a class="link" href="allocation.html" title="Custom Memory Allocation">Custom Memory
+ Allocation</a>
+</h4></div></div></div>
+<p>
+ Many asynchronous operations need to allocate an object to store state
+ associated with the operation. For example, a Win32 implementation needs
+ <code class="computeroutput"><span class="identifier">OVERLAPPED</span></code>-derived objects
+ to pass to Win32 API functions.
+ </p>
+<p>
+ Furthermore, programs typically contain easily identifiable chains of asynchronous
+ operations. A half duplex protocol implementation (e.g. an HTTP server)
+ would have a single chain of operations per client (receives followed by
+ sends). A full duplex protocol implementation would have two chains executing
+ in parallel. Programs should be able to leverage this knowledge to reuse
+ memory for all asynchronous operations in a chain.
+ </p>
+<p>
+ Given a copy of a user-defined <code class="computeroutput"><span class="identifier">Handler</span></code>
+ object <code class="computeroutput"><span class="identifier">h</span></code>, if the implementation
+ needs to allocate memory associated with that handler it will execute the
+ code:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span><span class="special">*</span> <span class="identifier">pointer</span> <span class="special">=</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ Similarly, to deallocate the memory it will execute:
+ </p>
+<pre class="programlisting"><span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ These functions are located using argument-dependent lookup. The implementation
+ provides default implementations of the above functions in the <code class="computeroutput"><span class="identifier">asio</span></code> namespace:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span><span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size_t</span><span class="special">,</span> <span class="special">...);</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="keyword">void</span><span class="special">*,</span> <span class="identifier">size_t</span><span class="special">,</span> <span class="special">...);</span>
+</pre>
+<p>
+ which are implemented in terms of <code class="computeroutput"><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">()</span></code> and <code class="computeroutput"><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">()</span></code> respectively.
+ </p>
+<p>
+ The implementation guarantees that the deallocation will occur before the
+ associated handler is invoked, which means the memory is ready to be reused
+ for any new asynchronous operations started by the handler.
+ </p>
+<p>
+ The custom memory allocation functions may be called from any user-created
+ thread that is calling a library function. The implementation guarantees
+ that, for the asynchronous operations included the library, the implementation
+ will not make concurrent calls to the memory allocation functions for that
+ handler. The implementation will insert appropriate memory barriers to
+ ensure correct memory visibility should allocation functions need to be
+ called from different threads.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.allocation.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.allocation.see_also"></a></span><a class="link" href="allocation.html#boost_asio.overview.core.allocation.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/asio_handler_allocate.html" title="asio_handler_allocate">asio_handler_allocate</a>,
+ <a class="link" href="../../reference/asio_handler_deallocate.html" title="asio_handler_deallocate">asio_handler_deallocate</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.allocation">custom memory
+ allocation example (C++03)</a>, <a class="link" href="../../examples/cpp11_examples.html#boost_asio.examples.cpp11_examples.allocation">custom
+ memory allocation example (C++11)</a>.
+ </p>
+</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 &#169; 2003-2017 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="line_based.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handler_tracking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/async.html b/doc/html/boost_asio/overview/core/async.html
new file mode 100644
index 0000000000..acffd3fcb3
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/async.html
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Proactor Design Pattern: Concurrency Without Threads</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="basics.html" title="Basic Boost.Asio Anatomy">
+<link rel="next" href="threads.html" title="Threads and Boost.Asio">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="threads.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.async"></a><a class="link" href="async.html" title="The Proactor Design Pattern: Concurrency Without Threads">The Proactor Design
+ Pattern: Concurrency Without Threads</a>
+</h4></div></div></div>
+<p>
+ The Boost.Asio library offers side-by-side support for synchronous and
+ asynchronous operations. The asynchronous support is based on the Proactor
+ design pattern <a class="link" href="async.html#boost_asio.overview.core.async.references">[POSA2]</a>.
+ The advantages and disadvantages of this approach, when compared to a synchronous-only
+ or Reactor approach, are outlined below.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.async.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.async.proactor_and_boost_asio"></a></span><a class="link" href="async.html#boost_asio.overview.core.async.proactor_and_boost_asio">Proactor
+ and Boost.Asio</a>
+ </h6>
+<p>
+ Let us examine how the Proactor design pattern is implemented in Boost.Asio,
+ without reference to platform-specific details.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../proactor.png" alt="proactor"></span>
+ </p>
+<p>
+ <span class="bold"><strong>Proactor design pattern (adapted from [POSA2])</strong></span>
+ </p>
+<p>
+ &#8212; Asynchronous Operation
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Defines an operation that is executed asynchronously, such as an asynchronous
+ read or write on a socket.
+ </p></blockquote></div>
+<p>
+ &#8212; Asynchronous Operation Processor
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Executes asynchronous operations and queues events on a completion event
+ queue when operations complete. From a high-level point of view, services
+ like <code class="computeroutput"><span class="identifier">stream_socket_service</span></code>
+ are asynchronous operation processors.
+ </p></blockquote></div>
+<p>
+ &#8212; Completion Event Queue
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Buffers completion events until they are dequeued by an asynchronous
+ event demultiplexer.
+ </p></blockquote></div>
+<p>
+ &#8212; Completion Handler
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Processes the result of an asynchronous operation. These are function
+ objects, often created using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span></code>.
+ </p></blockquote></div>
+<p>
+ &#8212; Asynchronous Event Demultiplexer
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Blocks waiting for events to occur on the completion event queue, and
+ returns a completed event to its caller.
+ </p></blockquote></div>
+<p>
+ &#8212; Proactor
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Calls the asynchronous event demultiplexer to dequeue events, and dispatches
+ the completion handler (i.e. invokes the function object) associated
+ with the event. This abstraction is represented by the <code class="computeroutput"><span class="identifier">io_service</span></code> class.
+ </p></blockquote></div>
+<p>
+ &#8212; Initiator
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Application-specific code that starts asynchronous operations. The initiator
+ interacts with an asynchronous operation processor via a high-level interface
+ such as <code class="computeroutput"><span class="identifier">basic_stream_socket</span></code>,
+ which in turn delegates to a service like <code class="computeroutput"><span class="identifier">stream_socket_service</span></code>.
+ </p></blockquote></div>
+<h6>
+<a name="boost_asio.overview.core.async.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.async.implementation_using_reactor"></a></span><a class="link" href="async.html#boost_asio.overview.core.async.implementation_using_reactor">Implementation
+ Using Reactor</a>
+ </h6>
+<p>
+ On many platforms, Boost.Asio implements the Proactor design pattern in
+ terms of a Reactor, such as <code class="computeroutput"><span class="identifier">select</span></code>,
+ <code class="computeroutput"><span class="identifier">epoll</span></code> or <code class="computeroutput"><span class="identifier">kqueue</span></code>. This implementation approach
+ corresponds to the Proactor design pattern as follows:
+ </p>
+<p>
+ &#8212; Asynchronous Operation Processor
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ A reactor implemented using <code class="computeroutput"><span class="identifier">select</span></code>,
+ <code class="computeroutput"><span class="identifier">epoll</span></code> or <code class="computeroutput"><span class="identifier">kqueue</span></code>. When the reactor indicates
+ that the resource is ready to perform the operation, the processor executes
+ the asynchronous operation and enqueues the associated completion handler
+ on the completion event queue.
+ </p></blockquote></div>
+<p>
+ &#8212; Completion Event Queue
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ A linked list of completion handlers (i.e. function objects).
+ </p></blockquote></div>
+<p>
+ &#8212; Asynchronous Event Demultiplexer
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ This is implemented by waiting on an event or condition variable until
+ a completion handler is available in the completion event queue.
+ </p></blockquote></div>
+<h6>
+<a name="boost_asio.overview.core.async.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.async.implementation_using_windows_overlapped_i_o"></a></span><a class="link" href="async.html#boost_asio.overview.core.async.implementation_using_windows_overlapped_i_o">Implementation
+ Using Windows Overlapped I/O</a>
+ </h6>
+<p>
+ On Windows NT, 2000 and XP, Boost.Asio takes advantage of overlapped I/O
+ to provide an efficient implementation of the Proactor design pattern.
+ This implementation approach corresponds to the Proactor design pattern
+ as follows:
+ </p>
+<p>
+ &#8212; Asynchronous Operation Processor
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ This is implemented by the operating system. Operations are initiated
+ by calling an overlapped function such as <code class="computeroutput"><span class="identifier">AcceptEx</span></code>.
+ </p></blockquote></div>
+<p>
+ &#8212; Completion Event Queue
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ This is implemented by the operating system, and is associated with an
+ I/O completion port. There is one I/O completion port for each <code class="computeroutput"><span class="identifier">io_service</span></code> instance.
+ </p></blockquote></div>
+<p>
+ &#8212; Asynchronous Event Demultiplexer
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Called by Boost.Asio to dequeue events and their associated completion
+ handlers.
+ </p></blockquote></div>
+<h6>
+<a name="boost_asio.overview.core.async.h3"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.async.advantages"></a></span><a class="link" href="async.html#boost_asio.overview.core.async.advantages">Advantages</a>
+ </h6>
+<p>
+ &#8212; Portability.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Many operating systems offer a native asynchronous I/O API (such as overlapped
+ I/O on <span class="emphasis"><em>Windows</em></span>) as the preferred option for developing
+ high performance network applications. The library may be implemented
+ in terms of native asynchronous I/O. However, if native support is not
+ available, the library may also be implemented using synchronous event
+ demultiplexors that typify the Reactor pattern, such as <span class="emphasis"><em>POSIX</em></span>
+ <code class="computeroutput"><span class="identifier">select</span><span class="special">()</span></code>.
+ </p></blockquote></div>
+<p>
+ &#8212; Decoupling threading from concurrency.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Long-duration operations are performed asynchronously by the implementation
+ on behalf of the application. Consequently applications do not need to
+ spawn many threads in order to increase concurrency.
+ </p></blockquote></div>
+<p>
+ &#8212; Performance and scalability.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Implementation strategies such as thread-per-connection (which a synchronous-only
+ approach would require) can degrade system performance, due to increased
+ context switching, synchronisation and data movement among CPUs. With
+ asynchronous operations it is possible to avoid the cost of context switching
+ by minimising the number of operating system threads &#8212; typically a limited
+ resource &#8212; and only activating the logical threads of control that have
+ events to process.
+ </p></blockquote></div>
+<p>
+ &#8212; Simplified application synchronisation.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Asynchronous operation completion handlers can be written as though they
+ exist in a single-threaded environment, and so application logic can
+ be developed with little or no concern for synchronisation issues.
+ </p></blockquote></div>
+<p>
+ &#8212; Function composition.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Function composition refers to the implementation of functions to provide
+ a higher-level operation, such as sending a message in a particular format.
+ Each function is implemented in terms of multiple calls to lower-level
+ read or write operations.
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ For example, consider a protocol where each message consists of a fixed-length
+ header followed by a variable length body, where the length of the body
+ is specified in the header. A hypothetical read_message operation could
+ be implemented using two lower-level reads, the first to receive the
+ header and, once the length is known, the second to receive the body.
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ To compose functions in an asynchronous model, asynchronous operations
+ can be chained together. That is, a completion handler for one operation
+ can initiate the next. Starting the first call in the chain can be encapsulated
+ so that the caller need not be aware that the higher-level operation
+ is implemented as a chain of asynchronous operations.
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ The ability to compose new operations in this way simplifies the development
+ of higher levels of abstraction above a networking library, such as functions
+ to support a specific protocol.
+ </p></blockquote></div>
+<h6>
+<a name="boost_asio.overview.core.async.h4"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.async.disadvantages"></a></span><a class="link" href="async.html#boost_asio.overview.core.async.disadvantages">Disadvantages</a>
+ </h6>
+<p>
+ &#8212; Program complexity.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ It is more difficult to develop applications using asynchronous mechanisms
+ due to the separation in time and space between operation initiation
+ and completion. Applications may also be harder to debug due to the inverted
+ flow of control.
+ </p></blockquote></div>
+<p>
+ &#8212; Memory usage.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Buffer space must be committed for the duration of a read or write operation,
+ which may continue indefinitely, and a separate buffer is required for
+ each concurrent operation. The Reactor pattern, on the other hand, does
+ not require buffer space until a socket is ready for reading or writing.
+ </p></blockquote></div>
+<h6>
+<a name="boost_asio.overview.core.async.h5"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.async.references"></a></span><a class="link" href="async.html#boost_asio.overview.core.async.references">References</a>
+ </h6>
+<p>
+ [POSA2] D. Schmidt et al, <span class="emphasis"><em>Pattern Oriented Software Architecture,
+ Volume 2</em></span>. Wiley, 2000.
+ </p>
+</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 &#169; 2003-2017 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="basics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="threads.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/basics.html b/doc/html/boost_asio/overview/core/basics.html
new file mode 100644
index 0000000000..d5e618a58b
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/basics.html
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Basic Boost.Asio Anatomy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="../core.html" title="Core Concepts and Functionality">
+<link rel="next" href="async.html" title="The Proactor Design Pattern: Concurrency Without Threads">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../core.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.basics"></a><a class="link" href="basics.html" title="Basic Boost.Asio Anatomy">Basic Boost.Asio Anatomy</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio may be used to perform both synchronous and asynchronous operations
+ on I/O objects such as sockets. Before using Boost.Asio it may be useful
+ to get a conceptual picture of the various parts of Boost.Asio, your program,
+ and how they work together.
+ </p>
+<p>
+ As an introductory example, let's consider what happens when you perform
+ a connect operation on a socket. We shall start by examining synchronous
+ operations.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../sync_op.png" alt="sync_op"></span>
+ </p>
+<p>
+ <span class="bold"><strong>Your program</strong></span> will have at least one <span class="bold"><strong>io_service</strong></span> object. The <span class="bold"><strong>io_service</strong></span>
+ represents <span class="bold"><strong>your program</strong></span>'s link to the
+ <span class="bold"><strong>operating system</strong></span>'s I/O services.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+</pre>
+<p>
+ To perform I/O operations <span class="bold"><strong>your program</strong></span>
+ will need an <span class="bold"><strong>I/O object</strong></span> such as a TCP
+ socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ When a synchronous connect operation is performed, the following sequence
+ of events occurs:
+ </p>
+<p>
+ 1. <span class="bold"><strong>Your program</strong></span> initiates the connect
+ operation by calling the <span class="bold"><strong>I/O object</strong></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">server_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ 2. The <span class="bold"><strong>I/O object</strong></span> forwards the request
+ to the <span class="bold"><strong>io_service</strong></span>.
+ </p>
+<p>
+ 3. The <span class="bold"><strong>io_service</strong></span> calls on the <span class="bold"><strong>operating system</strong></span> to perform the connect operation.
+ </p>
+<p>
+ 4. The <span class="bold"><strong>operating system</strong></span> returns the result
+ of the operation to the <span class="bold"><strong>io_service</strong></span>.
+ </p>
+<p>
+ 5. The <span class="bold"><strong>io_service</strong></span> translates any error
+ resulting from the operation into an object of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span></code>.
+ An <code class="computeroutput"><span class="identifier">error_code</span></code> may be compared
+ with specific values, or tested as a boolean (where a <code class="computeroutput"><span class="keyword">false</span></code>
+ result means that no error occurred). The result is then forwarded back
+ up to the <span class="bold"><strong>I/O object</strong></span>.
+ </p>
+<p>
+ 6. The <span class="bold"><strong>I/O object</strong></span> throws an exception
+ of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span></code> if the operation failed.
+ If the code to initiate the operation had instead been written as:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">server_endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ then the <code class="computeroutput"><span class="identifier">error_code</span></code> variable
+ <code class="computeroutput"><span class="identifier">ec</span></code> would be set to the
+ result of the operation, and no exception would be thrown.
+ </p>
+<p>
+ When an asynchronous operation is used, a different sequence of events
+ occurs.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../async_op1.png" alt="async_op1"></span>
+ </p>
+<p>
+ 1. <span class="bold"><strong>Your program</strong></span> initiates the connect
+ operation by calling the <span class="bold"><strong>I/O object</strong></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">server_endpoint</span><span class="special">,</span> <span class="identifier">your_completion_handler</span><span class="special">);</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">your_completion_handler</span></code>
+ is a function or function object with the signature:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">your_completion_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ The exact signature required depends on the asynchronous operation being
+ performed. The reference documentation indicates the appropriate form for
+ each operation.
+ </p>
+<p>
+ 2. The <span class="bold"><strong>I/O object</strong></span> forwards the request
+ to the <span class="bold"><strong>io_service</strong></span>.
+ </p>
+<p>
+ 3. The <span class="bold"><strong>io_service</strong></span> signals to the <span class="bold"><strong>operating system</strong></span> that it should start an asynchronous
+ connect.
+ </p>
+<p>
+ Time passes. (In the synchronous case this wait would have been contained
+ entirely within the duration of the connect operation.)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../async_op2.png" alt="async_op2"></span>
+ </p>
+<p>
+ 4. The <span class="bold"><strong>operating system</strong></span> indicates that
+ the connect operation has completed by placing the result on a queue, ready
+ to be picked up by the <span class="bold"><strong>io_service</strong></span>.
+ </p>
+<p>
+ 5. <span class="bold"><strong>Your program</strong></span> must make a call to <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>
+ (or to one of the similar <span class="bold"><strong>io_service</strong></span> member
+ functions) in order for the result to be retrieved. A call to <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>
+ blocks while there are unfinished asynchronous operations, so you would
+ typically call it as soon as you have started your first asynchronous operation.
+ </p>
+<p>
+ 6. While inside the call to <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, the <span class="bold"><strong>io_service</strong></span>
+ dequeues the result of the operation, translates it into an <code class="computeroutput"><span class="identifier">error_code</span></code>, and then passes it to <span class="bold"><strong>your completion handler</strong></span>.
+ </p>
+<p>
+ This is a simplified picture of how Boost.Asio operates. You will want
+ to delve further into the documentation if your needs are more advanced,
+ such as extending Boost.Asio to perform other types of asynchronous operations.
+ </p>
+</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 &#169; 2003-2017 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="../core.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/buffers.html b/doc/html/boost_asio/overview/core/buffers.html
new file mode 100644
index 0000000000..18f51748e6
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/buffers.html
@@ -0,0 +1,246 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffers</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="strands.html" title="Strands: Use Threads Without Explicit Locking">
+<link rel="next" href="streams.html" title="Streams, Short Reads and Short Writes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="strands.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="streams.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.buffers"></a><a class="link" href="buffers.html" title="Buffers">Buffers</a>
+</h4></div></div></div>
+<p>
+ Fundamentally, I/O involves the transfer of data to and from contiguous
+ regions of memory, called buffers. These buffers can be simply expressed
+ as a tuple consisting of a pointer and a size in bytes. However, to allow
+ the development of efficient network applications, Boost.Asio includes
+ support for scatter-gather operations. These operations involve one or
+ more buffers:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A scatter-read receives data into multiple buffers.
+ </li>
+<li class="listitem">
+ A gather-write transmits multiple buffers.
+ </li>
+</ul></div>
+<p>
+ Therefore we require an abstraction to represent a collection of buffers.
+ The approach used in Boost.Asio is to define a type (actually two types)
+ to represent a single buffer. These can be stored in a container, which
+ may be passed to the scatter-gather operations.
+ </p>
+<p>
+ In addition to specifying buffers as a pointer and size in bytes, Boost.Asio
+ makes a distinction between modifiable memory (called mutable) and non-modifiable
+ memory (where the latter is created from the storage for a const-qualified
+ variable). These two types could therefore be defined as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">mutable_buffer</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">const_buffer</span><span class="special">;</span>
+</pre>
+<p>
+ Here, a mutable_buffer would be convertible to a const_buffer, but conversion
+ in the opposite direction is not valid.
+ </p>
+<p>
+ However, Boost.Asio does not use the above definitions as-is, but instead
+ defines two classes: <code class="computeroutput"><span class="identifier">mutable_buffer</span></code>
+ and <code class="computeroutput"><span class="identifier">const_buffer</span></code>. The goal
+ of these is to provide an opaque representation of contiguous memory, where:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Types behave as std::pair would in conversions. That is, a <code class="computeroutput"><span class="identifier">mutable_buffer</span></code> is convertible to
+ a <code class="computeroutput"><span class="identifier">const_buffer</span></code>, but
+ the opposite conversion is disallowed.
+ </li>
+<li class="listitem">
+ There is protection against buffer overruns. Given a buffer instance,
+ a user can only create another buffer representing the same range of
+ memory or a sub-range of it. To provide further safety, the library
+ also includes mechanisms for automatically determining the size of
+ a buffer from an array, <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
+ or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code> of POD elements, or from a
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>.
+ </li>
+<li class="listitem">
+ Type safety violations must be explicitly requested using the <code class="computeroutput"><span class="identifier">buffer_cast</span></code> function. In general
+ an application should never need to do this, but it is required by
+ the library implementation to pass the raw memory to the underlying
+ operating system functions.
+ </li>
+</ul></div>
+<p>
+ Finally, multiple buffers can be passed to scatter-gather operations (such
+ as <a class="link" href="../../reference/read.html" title="read">read()</a> or <a class="link" href="../../reference/write.html" title="write">write()</a>)
+ by putting the buffer objects into a container. The <code class="computeroutput"><span class="identifier">MutableBufferSequence</span></code>
+ and <code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code>
+ concepts have been defined so that containers such as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>,
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">list</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
+ or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> can be used.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.buffers.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.buffers.streambuf_for_integration_with_iostreams"></a></span><a class="link" href="buffers.html#boost_asio.overview.core.buffers.streambuf_for_integration_with_iostreams">Streambuf
+ for Integration with Iostreams</a>
+ </h6>
+<p>
+ The class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span></code> is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_streambuf</span></code> to associate the input
+ sequence and output sequence with one or more objects of some character
+ array type, whose elements store arbitrary values. These character array
+ objects are internal to the streambuf object, but direct access to the
+ array elements is provided to permit them to be used with I/O operations,
+ such as the send or receive operations of a socket:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The input sequence of the streambuf is accessible via the <a class="link" href="../../reference/basic_streambuf/data.html" title="basic_streambuf::data">data()</a>
+ member function. The return type of this function meets the <code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code> requirements.
+ </li>
+<li class="listitem">
+ The output sequence of the streambuf is accessible via the <a class="link" href="../../reference/basic_streambuf/data.html" title="basic_streambuf::data">prepare()</a>
+ member function. The return type of this function meets the <code class="computeroutput"><span class="identifier">MutableBufferSequence</span></code> requirements.
+ </li>
+<li class="listitem">
+ Data is transferred from the front of the output sequence to the back
+ of the input sequence by calling the <a class="link" href="../../reference/basic_streambuf/commit.html" title="basic_streambuf::commit">commit()</a>
+ member function.
+ </li>
+<li class="listitem">
+ Data is removed from the front of the input sequence by calling the
+ <a class="link" href="../../reference/basic_streambuf/consume.html" title="basic_streambuf::consume">consume()</a>
+ member function.
+ </li>
+</ul></div>
+<p>
+ The streambuf constructor accepts a <code class="computeroutput"><span class="identifier">size_t</span></code>
+ argument specifying the maximum of the sum of the sizes of the input sequence
+ and output sequence. Any operation that would, if successful, grow the
+ internal data beyond this limit will throw a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code>
+ exception.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.buffers.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.buffers.bytewise_traversal_of_buffer_sequences"></a></span><a class="link" href="buffers.html#boost_asio.overview.core.buffers.bytewise_traversal_of_buffer_sequences">Bytewise
+ Traversal of Buffer Sequences</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">buffers_iterator</span><span class="special">&lt;&gt;</span></code>
+ class template allows buffer sequences (i.e. types meeting <code class="computeroutput"><span class="identifier">MutableBufferSequence</span></code> or <code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code> requirements) to
+ be traversed as though they were a contiguous sequence of bytes. Helper
+ functions called buffers_begin() and buffers_end() are also provided, where
+ the buffers_iterator&lt;&gt; template parameter is automatically deduced.
+ </p>
+<p>
+ As an example, to read a single line from a socket and into a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>, you may write:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">sb</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">sock</span><span class="special">,</span> <span class="identifier">sb</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">const_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">sb</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_begin</span><span class="special">(</span><span class="identifier">bufs</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_begin</span><span class="special">(</span><span class="identifier">bufs</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.overview.core.buffers.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.buffers.buffer_debugging"></a></span><a class="link" href="buffers.html#boost_asio.overview.core.buffers.buffer_debugging">Buffer
+ Debugging</a>
+ </h6>
+<p>
+ Some standard library implementations, such as the one that ships with
+ Microsoft Visual C++ 8.0 and later, provide a feature called iterator debugging.
+ What this means is that the validity of iterators is checked at runtime.
+ If a program tries to use an iterator that has been invalidated, an assertion
+ will be triggered. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">(</span><span class="number">1</span><span class="special">)</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">v</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">clear</span><span class="special">();</span> <span class="comment">// invalidates iterators</span>
+<span class="special">*</span><span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// assertion!</span>
+</pre>
+<p>
+ Boost.Asio takes advantage of this feature to add buffer debugging. Consider
+ the following code:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">dont_do_this</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span> <span class="special">=</span> <span class="string">"Hello, world!"</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">msg</span><span class="special">),</span> <span class="identifier">my_handler</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ When you call an asynchronous read or write you need to ensure that the
+ buffers for the operation are valid until the completion handler is called.
+ In the above example, the buffer is the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>
+ variable <code class="computeroutput"><span class="identifier">msg</span></code>. This variable
+ is on the stack, and so it goes out of scope before the asynchronous operation
+ completes. If you're lucky then the application will crash, but random
+ failures are more likely.
+ </p>
+<p>
+ When buffer debugging is enabled, Boost.Asio stores an iterator into the
+ string until the asynchronous operation completes, and then dereferences
+ it to check its validity. In the above example you would observe an assertion
+ failure just before Boost.Asio tries to call the completion handler.
+ </p>
+<p>
+ This feature is automatically made available for Microsoft Visual Studio
+ 8.0 or later and for GCC when <code class="computeroutput"><span class="identifier">_GLIBCXX_DEBUG</span></code>
+ is defined. There is a performance cost to this checking, so buffer debugging
+ is only enabled in debug builds. For other compilers it may be enabled
+ by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_ENABLE_BUFFER_DEBUGGING</span></code>.
+ It can also be explicitly disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_BUFFER_DEBUGGING</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.buffers.h3"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.buffers.see_also"></a></span><a class="link" href="buffers.html#boost_asio.overview.core.buffers.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/buffer.html" title="buffer">buffer</a>, <a class="link" href="../../reference/buffers_begin.html" title="buffers_begin">buffers_begin</a>,
+ <a class="link" href="../../reference/buffers_end.html" title="buffers_end">buffers_end</a>, <a class="link" href="../../reference/buffers_iterator.html" title="buffers_iterator">buffers_iterator</a>,
+ <a class="link" href="../../reference/const_buffer.html" title="const_buffer">const_buffer</a>,
+ <a class="link" href="../../reference/const_buffers_1.html" title="const_buffers_1">const_buffers_1</a>,
+ <a class="link" href="../../reference/mutable_buffer.html" title="mutable_buffer">mutable_buffer</a>,
+ <a class="link" href="../../reference/mutable_buffers_1.html" title="mutable_buffers_1">mutable_buffers_1</a>,
+ <a class="link" href="../../reference/streambuf.html" title="streambuf">streambuf</a>, <a class="link" href="../../reference/ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a>,
+ <a class="link" href="../../reference/MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.buffers">buffers example
+ (C++03)</a>, <a class="link" href="../../examples/cpp11_examples.html#boost_asio.examples.cpp11_examples.buffers">buffers
+ example (c++11)</a>.
+ </p>
+</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 &#169; 2003-2017 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="strands.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="streams.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/coroutine.html b/doc/html/boost_asio/overview/core/coroutine.html
new file mode 100644
index 0000000000..9c80176721
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/coroutine.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stackless Coroutines</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="handler_tracking.html" title="Handler Tracking">
+<link rel="next" href="spawn.html" title="Stackful Coroutines">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="handler_tracking.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spawn.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.coroutine"></a><a class="link" href="coroutine.html" title="Stackless Coroutines">Stackless Coroutines</a>
+</h4></div></div></div>
+<p>
+ The <a class="link" href="../../reference/coroutine.html" title="coroutine"><code class="computeroutput"><span class="identifier">coroutine</span></code></a>
+ class provides support for stackless coroutines. Stackless coroutines enable
+ programs to implement asynchronous logic in a synchronous manner, with
+ minimal overhead, as shown in the following example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">session</span> <span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">coroutine</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">buffer_</span><span class="special">;</span>
+
+ <span class="identifier">session</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">socket</span><span class="special">),</span>
+ <span class="identifier">buffer_</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;(</span><span class="number">1024</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">yield</span> <span class="identifier">socket_</span><span class="special">-&gt;</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer_</span><span class="special">),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="identifier">yield</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(*</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer_</span><span class="special">,</span> <span class="identifier">n</span><span class="special">),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">coroutine</span></code> class is
+ used in conjunction with the pseudo-keywords <code class="computeroutput"><span class="identifier">reenter</span></code>,
+ <code class="computeroutput"><span class="identifier">yield</span></code> and <code class="computeroutput"><span class="identifier">fork</span></code>. These are preprocessor macros,
+ and are implemented in terms of a <code class="computeroutput"><span class="keyword">switch</span></code>
+ statement using a technique similar to Duff's Device. The <a class="link" href="../../reference/coroutine.html" title="coroutine"><code class="computeroutput"><span class="identifier">coroutine</span></code></a> class's documentation
+ provides a complete description of these pseudo-keywords.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.coroutine.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.coroutine.see_also"></a></span><a class="link" href="coroutine.html#boost_asio.overview.core.coroutine.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/coroutine.html" title="coroutine">coroutine</a>, <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_4">HTTP Server
+ 4 example</a>, <a class="link" href="spawn.html" title="Stackful Coroutines">Stackful
+ Coroutines</a>.
+ </p>
+</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 &#169; 2003-2017 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="handler_tracking.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spawn.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/handler_tracking.html b/doc/html/boost_asio/overview/core/handler_tracking.html
new file mode 100644
index 0000000000..be065d2498
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/handler_tracking.html
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Handler Tracking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="allocation.html" title="Custom Memory Allocation">
+<link rel="next" href="coroutine.html" title="Stackless Coroutines">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="allocation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="coroutine.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.handler_tracking"></a><a class="link" href="handler_tracking.html" title="Handler Tracking">Handler
+ Tracking</a>
+</h4></div></div></div>
+<p>
+ To aid in debugging asynchronous programs, Boost.Asio provides support
+ for handler tracking. When enabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_ENABLE_HANDLER_TRACKING</span></code>,
+ Boost.Asio writes debugging output to the standard error stream. The output
+ records asynchronous operations and the relationships between their handlers.
+ </p>
+<p>
+ This feature is useful when debugging and you need to know how your asynchronous
+ operations are chained together, or what the pending asynchronous operations
+ are. As an illustration, here is the output when you run the HTTP Server
+ example, handle a single request, then shut down via Ctrl+C:
+ </p>
+<pre class="programlisting">@asio|1298160085.070638|0*1|signal_set@0x7fff50528f40.async_wait
+@asio|1298160085.070888|0*2|socket@0x7fff50528f60.async_accept
+@asio|1298160085.070913|0|resolver@0x7fff50528e28.cancel
+@asio|1298160118.075438|&gt;2|ec=asio.system:0
+@asio|1298160118.075472|2*3|socket@0xb39048.async_receive
+@asio|1298160118.075507|2*4|socket@0x7fff50528f60.async_accept
+@asio|1298160118.075527|&lt;2|
+@asio|1298160118.075540|&gt;3|ec=asio.system:0,bytes_transferred=122
+@asio|1298160118.075731|3*5|socket@0xb39048.async_send
+@asio|1298160118.075778|&lt;3|
+@asio|1298160118.075793|&gt;5|ec=asio.system:0,bytes_transferred=156
+@asio|1298160118.075831|5|socket@0xb39048.close
+@asio|1298160118.075855|&lt;5|
+@asio|1298160122.827317|&gt;1|ec=asio.system:0,signal_number=2
+@asio|1298160122.827333|1|socket@0x7fff50528f60.close
+@asio|1298160122.827359|&lt;1|
+@asio|1298160122.827370|&gt;4|ec=asio.system:125
+@asio|1298160122.827378|&lt;4|
+@asio|1298160122.827394|0|signal_set@0x7fff50528f40.cancel
+</pre>
+<p>
+ Each line is of the form:
+ </p>
+<pre class="programlisting">&lt;tag&gt;|&lt;timestamp&gt;|&lt;action&gt;|&lt;description&gt;
+</pre>
+<p>
+ The <code class="computeroutput">&lt;tag&gt;</code> is always <code class="computeroutput">@asio</code>, and is used
+ to identify and extract the handler tracking messages from the program
+ output.
+ </p>
+<p>
+ The <code class="computeroutput">&lt;timestamp&gt;</code> is seconds and microseconds from 1 Jan
+ 1970 UTC.
+ </p>
+<p>
+ The <code class="computeroutput">&lt;action&gt;</code> takes one of the following forms:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">&gt;n</span></dt>
+<dd><p>
+ The program entered the handler number <code class="computeroutput">n</code>. The <code class="computeroutput">&lt;description&gt;</code>
+ shows the arguments to the handler.
+ </p></dd>
+<dt><span class="term">&lt;n</span></dt>
+<dd><p>
+ The program left handler number <code class="computeroutput">n</code>.
+ </p></dd>
+<dt><span class="term">!n</span></dt>
+<dd><p>
+ The program left handler number n due to an exception.
+ </p></dd>
+<dt><span class="term">~n</span></dt>
+<dd><p>
+ The handler number <code class="computeroutput">n</code> was destroyed without having been
+ invoked. This is usually the case for any unfinished asynchronous
+ operations when the <code class="computeroutput">io_service</code> is destroyed.
+ </p></dd>
+<dt><span class="term">n*m</span></dt>
+<dd><p>
+ The handler number <code class="computeroutput">n</code> created a new asynchronous operation
+ with completion handler number <code class="computeroutput">m</code>. The <code class="computeroutput">&lt;description&gt;</code>
+ shows what asynchronous operation was started.
+ </p></dd>
+<dt><span class="term">n</span></dt>
+<dd><p>
+ The handler number n performed some other operation. The <code class="computeroutput">&lt;description&gt;</code>
+ shows what function was called. Currently only <code class="computeroutput">close()</code>
+ and <code class="computeroutput">cancel()</code> operations are logged, as these may affect
+ the state of pending asynchronous operations.
+ </p></dd>
+</dl>
+</div>
+<p>
+ Where the <code class="computeroutput">&lt;description&gt;</code> shows a synchronous or asynchronous
+ operation, the format is <code class="computeroutput">&lt;object-type&gt;@&lt;pointer&gt;.&lt;operation&gt;</code>.
+ For handler entry, it shows a comma-separated list of arguments and their
+ values.
+ </p>
+<p>
+ As shown above, Each handler is assigned a numeric identifier. Where the
+ handler tracking output shows a handler number of 0, it means that the
+ action was performed outside of any handler.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.handler_tracking.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.handler_tracking.visual_representations"></a></span><a class="link" href="handler_tracking.html#boost_asio.overview.core.handler_tracking.visual_representations">Visual
+ Representations</a>
+ </h6>
+<p>
+ The handler tracking output may be post-processed using the included <code class="literal">handlerviz.pl</code>
+ tool to create a visual representation of the handlers (requires the GraphViz
+ tool <code class="literal">dot</code>).
+ </p>
+</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 &#169; 2003-2017 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="allocation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="coroutine.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/line_based.html b/doc/html/boost_asio/overview/core/line_based.html
new file mode 100644
index 0000000000..9147f63cfb
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/line_based.html
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Line-Based Operations</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="reactor.html" title="Reactor-Style Operations">
+<link rel="next" href="allocation.html" title="Custom Memory Allocation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reactor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="allocation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.line_based"></a><a class="link" href="line_based.html" title="Line-Based Operations">Line-Based Operations</a>
+</h4></div></div></div>
+<p>
+ Many commonly-used internet protocols are line-based, which means that
+ they have protocol elements that are delimited by the character sequence
+ <code class="computeroutput"><span class="string">"\r\n"</span></code>. Examples
+ include HTTP, SMTP and FTP. To more easily permit the implementation of
+ line-based protocols, as well as other protocols that use delimiters, Boost.Asio
+ includes the functions <code class="computeroutput"><span class="identifier">read_until</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code>.
+ </p>
+<p>
+ The following example illustrates the use of <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code> in an HTTP server, to receive the first
+ line of an HTTP request from a client:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">http_connection</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+
+ <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">data_</span><span class="special">,</span> <span class="string">"\r\n"</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">http_connection</span><span class="special">::</span><span class="identifier">handle_request_line</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">_1</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_request_line</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">method</span><span class="special">,</span> <span class="identifier">uri</span><span class="special">,</span> <span class="identifier">version</span><span class="special">;</span>
+ <span class="keyword">char</span> <span class="identifier">sp1</span><span class="special">,</span> <span class="identifier">sp2</span><span class="special">,</span> <span class="identifier">cr</span><span class="special">,</span> <span class="identifier">lf</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">data_</span><span class="special">);</span>
+ <span class="identifier">is</span><span class="special">.</span><span class="identifier">unsetf</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">skipws</span><span class="special">);</span>
+ <span class="identifier">is</span> <span class="special">&gt;&gt;</span> <span class="identifier">method</span> <span class="special">&gt;&gt;</span> <span class="identifier">sp1</span> <span class="special">&gt;&gt;</span> <span class="identifier">uri</span> <span class="special">&gt;&gt;</span> <span class="identifier">sp2</span> <span class="special">&gt;&gt;</span> <span class="identifier">version</span> <span class="special">&gt;&gt;</span> <span class="identifier">cr</span> <span class="special">&gt;&gt;</span> <span class="identifier">lf</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="special">...</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">data_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">streambuf</span></code> data member
+ serves as a place to store the data that has been read from the socket
+ before it is searched for the delimiter. It is important to remember that
+ there may be additional data <span class="emphasis"><em>after</em></span> the delimiter.
+ This surplus data should be left in the <code class="computeroutput"><span class="identifier">streambuf</span></code>
+ so that it may be inspected by a subsequent call to <code class="computeroutput"><span class="identifier">read_until</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code>.
+ </p>
+<p>
+ The delimiters may be specified as a single <code class="computeroutput"><span class="keyword">char</span></code>,
+ a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> or a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span></code>.
+ The <code class="computeroutput"><span class="identifier">read_until</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code>
+ functions also include overloads that accept a user-defined function object
+ called a match condition. For example, to read data into a streambuf until
+ whitespace is encountered:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_iterator</span><span class="special">&lt;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span>
+<span class="identifier">match_whitespace</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++))</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_whitespace</span><span class="special">);</span>
+</pre>
+<p>
+ To read data into a streambuf until a matching character is found:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">match_char</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">explicit</span> <span class="identifier">match_char</span><span class="special">(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">c_</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">Iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c_</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">i</span><span class="special">++)</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">char</span> <span class="identifier">c_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">asio</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span><span class="identifier">match_char</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">true_type</span> <span class="special">{};</span>
+<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespace boost::asio</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_char</span><span class="special">(</span><span class="char">'a'</span><span class="special">));</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">is_match_condition</span><span class="special">&lt;&gt;</span></code> type trait automatically evaluates
+ to true for functions, and for function objects with a nested <code class="computeroutput"><span class="identifier">result_type</span></code> typedef. For other types
+ the trait must be explicitly specialised, as shown above.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.line_based.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.line_based.see_also"></a></span><a class="link" href="line_based.html#boost_asio.overview.core.line_based.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/async_read_until.html" title="async_read_until">async_read_until()</a>,
+ <a class="link" href="../../reference/is_match_condition.html" title="is_match_condition">is_match_condition</a>,
+ <a class="link" href="../../reference/read_until.html" title="read_until">read_until()</a>, <a class="link" href="../../reference/streambuf.html" title="streambuf">streambuf</a>, <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.http_client">HTTP
+ client example</a>.
+ </p>
+</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 &#169; 2003-2017 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="reactor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="allocation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/reactor.html b/doc/html/boost_asio/overview/core/reactor.html
new file mode 100644
index 0000000000..eec7413607
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/reactor.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reactor-Style Operations</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="streams.html" title="Streams, Short Reads and Short Writes">
+<link rel="next" href="line_based.html" title="Line-Based Operations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="streams.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="line_based.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.reactor"></a><a class="link" href="reactor.html" title="Reactor-Style Operations">Reactor-Style Operations</a>
+</h4></div></div></div>
+<p>
+ Sometimes a program must be integrated with a third-party library that
+ wants to perform the I/O operations itself. To facilitate this, Boost.Asio
+ includes a <code class="computeroutput"><span class="identifier">null_buffers</span></code>
+ type that can be used with both read and write operations. A <code class="computeroutput"><span class="identifier">null_buffers</span></code> operation doesn't return
+ until the I/O object is "ready" to perform the operation.
+ </p>
+<p>
+ As an example, to perform a non-blocking read something like the following
+ may be used:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">read_handler</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="keyword">void</span> <span class="identifier">read_handler</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">(</span><span class="identifier">socket</span><span class="special">.</span><span class="identifier">available</span><span class="special">());</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ These operations are supported for sockets on all platforms, and for the
+ POSIX stream-oriented descriptor classes.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.reactor.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.reactor.see_also"></a></span><a class="link" href="reactor.html#boost_asio.overview.core.reactor.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/null_buffers.html" title="null_buffers">null_buffers</a>,
+ <a class="link" href="../../reference/basic_socket/non_blocking.html" title="basic_socket::non_blocking">basic_socket::non_blocking()</a>,
+ <a class="link" href="../../reference/basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking">basic_socket::native_non_blocking()</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.nonblocking">nonblocking
+ example</a>.
+ </p>
+</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 &#169; 2003-2017 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="streams.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="line_based.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/spawn.html b/doc/html/boost_asio/overview/core/spawn.html
new file mode 100644
index 0000000000..3ae397c377
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/spawn.html
@@ -0,0 +1,154 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stackful Coroutines</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="coroutine.html" title="Stackless Coroutines">
+<link rel="next" href="../networking.html" title="Networking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="coroutine.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../networking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.spawn"></a><a class="link" href="spawn.html" title="Stackful Coroutines">Stackful Coroutines</a>
+</h4></div></div></div>
+<p>
+ The <a class="link" href="../../reference/spawn.html" title="spawn"><code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code></a> function is a high-level wrapper
+ for running stackful coroutines. It is based on the Boost.Coroutine library.
+ The <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code>
+ function enables programs to implement asynchronous logic in a synchronous
+ manner, as shown in the following example:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">spawn</span><span class="special">(</span><span class="identifier">my_strand</span><span class="special">,</span> <span class="identifier">do_echo</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">do_echo</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">char</span> <span class="identifier">data</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">length</span> <span class="special">=</span>
+ <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">my_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">length</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// ...</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The first argument to <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code> may be a <a class="link" href="../../reference/io_service__strand.html" title="io_service::strand"><code class="computeroutput"><span class="identifier">strand</span></code></a>, <a class="link" href="../../reference/io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, or <a class="link" href="../../reference/CompletionHandler.html" title="Completion handler requirements">completion
+ handler</a>. This argument determines the context in which the coroutine
+ is permitted to execute. For example, a server's per-client object may
+ consist of multiple coroutines; they should all run on the same <code class="computeroutput"><span class="identifier">strand</span></code> so that no explicit synchronisation
+ is required.
+ </p>
+<p>
+ The second argument is a function object with signature:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">coroutine</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<p>
+ that specifies the code to be run as part of the coroutine. The parameter
+ <code class="computeroutput"><span class="identifier">yield</span></code> may be passed to
+ an asynchronous operation in place of the completion handler, as in:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">length</span> <span class="special">=</span>
+ <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<p>
+ This starts the asynchronous operation and suspends the coroutine. The
+ coroutine will be resumed automatically when the asynchronous operation
+ completes.
+ </p>
+<p>
+ Where an asynchronous operation's handler signature has the form:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">result_type</span> <span class="identifier">result</span><span class="special">);</span>
+</pre>
+<p>
+ the initiating function returns the result_type. In the <code class="computeroutput"><span class="identifier">async_read_some</span></code>
+ example above, this is <code class="computeroutput"><span class="identifier">size_t</span></code>.
+ If the asynchronous operation fails, the <code class="computeroutput"><span class="identifier">error_code</span></code>
+ is converted into a <code class="computeroutput"><span class="identifier">system_error</span></code>
+ exception and thrown.
+ </p>
+<p>
+ Where a handler signature has the form:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ the initiating function returns <code class="computeroutput"><span class="keyword">void</span></code>.
+ As above, an error is passed back to the coroutine as a <code class="computeroutput"><span class="identifier">system_error</span></code>
+ exception.
+ </p>
+<p>
+ To collect the <code class="computeroutput"><span class="identifier">error_code</span></code>
+ from an operation, rather than have it throw an exception, associate the
+ output variable with the <code class="computeroutput"><span class="identifier">yield_context</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">length</span> <span class="special">=</span>
+ <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">[</span><span class="identifier">ec</span><span class="special">]);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Note:</strong></span> if <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code> is used with a custom completion handler
+ of type <code class="computeroutput"><span class="identifier">Handler</span></code>, the function
+ object signature is actually:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">coroutine</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.overview.core.spawn.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.spawn.see_also"></a></span><a class="link" href="spawn.html#boost_asio.overview.core.spawn.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/spawn.html" title="spawn">spawn</a>, <a class="link" href="../../reference/yield_context.html" title="yield_context">yield_context</a>,
+ <a class="link" href="../../reference/basic_yield_context.html" title="basic_yield_context">basic_yield_context</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.spawn">Spawn example
+ (C++03)</a>, <a class="link" href="../../examples/cpp11_examples.html#boost_asio.examples.cpp11_examples.spawn">Spawn
+ example (C++11)</a>, <a class="link" href="coroutine.html" title="Stackless Coroutines">Stackless
+ Coroutines</a>.
+ </p>
+</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 &#169; 2003-2017 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="coroutine.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../networking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/strands.html b/doc/html/boost_asio/overview/core/strands.html
new file mode 100644
index 0000000000..522c4ded43
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/strands.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Strands: Use Threads Without Explicit Locking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="threads.html" title="Threads and Boost.Asio">
+<link rel="next" href="buffers.html" title="Buffers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="threads.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.strands"></a><a class="link" href="strands.html" title="Strands: Use Threads Without Explicit Locking">Strands: Use Threads
+ Without Explicit Locking</a>
+</h4></div></div></div>
+<p>
+ A strand is defined as a strictly sequential invocation of event handlers
+ (i.e. no concurrent invocation). Use of strands allows execution of code
+ in a multithreaded program without the need for explicit locking (e.g.
+ using mutexes).
+ </p>
+<p>
+ Strands may be either implicit or explicit, as illustrated by the following
+ alternative approaches:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Calling io_service::run() from only one thread means all event handlers
+ execute in an implicit strand, due to the io_service's guarantee that
+ handlers are only invoked from inside run().
+ </li>
+<li class="listitem">
+ Where there is a single chain of asynchronous operations associated
+ with a connection (e.g. in a half duplex protocol implementation like
+ HTTP) there is no possibility of concurrent execution of the handlers.
+ This is an implicit strand.
+ </li>
+<li class="listitem">
+ An explicit strand is an instance of <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code>.
+ All event handler function objects need to be wrapped using <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span><span class="special">::</span><span class="identifier">wrap</span><span class="special">()</span></code>
+ or otherwise posted/dispatched through the <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code>
+ object.
+ </li>
+</ul></div>
+<p>
+ In the case of composed asynchronous operations, such as <code class="computeroutput"><span class="identifier">async_read</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code>,
+ if a completion handler goes through a strand, then all intermediate handlers
+ should also go through the same strand. This is needed to ensure thread
+ safe access for any objects that are shared between the caller and the
+ composed operation (in the case of <code class="computeroutput"><span class="identifier">async_read</span><span class="special">()</span></code> it's the socket, which the caller can
+ close() to cancel the operation). This is done by having hook functions
+ for all intermediate handlers which forward the calls to the customisable
+ hook associated with the final handler:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_handler</span>
+<span class="special">{</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">my_handler</span><span class="special">*)</span>
+<span class="special">{</span>
+ <span class="comment">// Do custom invocation here.</span>
+ <span class="comment">// Default implementation calls f();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span><span class="special">::</span><span class="identifier">wrap</span><span class="special">()</span></code>
+ function creates a new completion handler that defines <code class="computeroutput"><span class="identifier">asio_handler_invoke</span></code>
+ so that the function object is executed through the strand.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.strands.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.strands.see_also"></a></span><a class="link" href="strands.html#boost_asio.overview.core.strands.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/io_service__strand.html" title="io_service::strand">io_service::strand</a>,
+ <a class="link" href="../../tutorial/tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">tutorial Timer.5</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_3">HTTP server
+ 3 example</a>.
+ </p>
+</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 &#169; 2003-2017 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="threads.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/streams.html b/doc/html/boost_asio/overview/core/streams.html
new file mode 100644
index 0000000000..b3c1e0129f
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/streams.html
@@ -0,0 +1,127 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Streams, Short Reads and Short Writes</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="buffers.html" title="Buffers">
+<link rel="next" href="reactor.html" title="Reactor-Style Operations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reactor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.streams"></a><a class="link" href="streams.html" title="Streams, Short Reads and Short Writes">Streams, Short Reads
+ and Short Writes</a>
+</h4></div></div></div>
+<p>
+ Many I/O objects in Boost.Asio are stream-oriented. This means that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ There are no message boundaries. The data being transferred is a continuous
+ sequence of bytes.
+ </li>
+<li class="listitem">
+ Read or write operations may transfer fewer bytes than requested. This
+ is referred to as a short read or short write.
+ </li>
+</ul></div>
+<p>
+ Objects that provide stream-oriented I/O model one or more of the following
+ type requirements:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">SyncReadStream</span></code>, where
+ synchronous read operations are performed using a member function called
+ <code class="computeroutput"><span class="identifier">read_some</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">AsyncReadStream</span></code>, where
+ asynchronous read operations are performed using a member function
+ called <code class="computeroutput"><span class="identifier">async_read_some</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">SyncWriteStream</span></code>, where
+ synchronous write operations are performed using a member function
+ called <code class="computeroutput"><span class="identifier">write_some</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">AsyncWriteStream</span></code>, where
+ synchronous write operations are performed using a member function
+ called <code class="computeroutput"><span class="identifier">async_write_some</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Examples of stream-oriented I/O objects include <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>,
+ <code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span></code>, <code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">stream_handle</span></code>,
+ etc.
+ </p>
+<p>
+ Programs typically want to transfer an exact number of bytes. When a short
+ read or short write occurs the program must restart the operation, and
+ continue to do so until the required number of bytes has been transferred.
+ Boost.Asio provides generic functions that do this automatically: <code class="computeroutput"><span class="identifier">read</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">async_read</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">write</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">async_write</span><span class="special">()</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.streams.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.streams.why_eof_is_an_error"></a></span><a class="link" href="streams.html#boost_asio.overview.core.streams.why_eof_is_an_error">Why EOF
+ is an Error</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The end of a stream can cause <code class="computeroutput"><span class="identifier">read</span></code>,
+ <code class="computeroutput"><span class="identifier">async_read</span></code>, <code class="computeroutput"><span class="identifier">read_until</span></code> or <code class="computeroutput"><span class="identifier">async_read_until</span></code>
+ functions to violate their contract. E.g. a read of N bytes may finish
+ early due to EOF.
+ </li>
+<li class="listitem">
+ An EOF error may be used to distinguish the end of a stream from a
+ successful read of size 0.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.overview.core.streams.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.streams.see_also"></a></span><a class="link" href="streams.html#boost_asio.overview.core.streams.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/async_read.html" title="async_read">async_read()</a>, <a class="link" href="../../reference/async_write.html" title="async_write">async_write()</a>, <a class="link" href="../../reference/read.html" title="read">read()</a>, <a class="link" href="../../reference/write.html" title="write">write()</a>,
+ <a class="link" href="../../reference/AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a>,
+ <a class="link" href="../../reference/AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a>,
+ <a class="link" href="../../reference/SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a>,
+ <a class="link" href="../../reference/SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a>.
+ </p>
+</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 &#169; 2003-2017 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="buffers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reactor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/core/threads.html b/doc/html/boost_asio/overview/core/threads.html
new file mode 100644
index 0000000000..039d7b0b2d
--- /dev/null
+++ b/doc/html/boost_asio/overview/core/threads.html
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Threads and Boost.Asio</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../core.html" title="Core Concepts and Functionality">
+<link rel="prev" href="async.html" title="The Proactor Design Pattern: Concurrency Without Threads">
+<link rel="next" href="strands.html" title="Strands: Use Threads Without Explicit Locking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="strands.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.core.threads"></a><a class="link" href="threads.html" title="Threads and Boost.Asio">Threads and Boost.Asio</a>
+</h4></div></div></div>
+<h6>
+<a name="boost_asio.overview.core.threads.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.threads.thread_safety"></a></span><a class="link" href="threads.html#boost_asio.overview.core.threads.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ In general, it is safe to make concurrent use of distinct objects, but
+ unsafe to make concurrent use of a single object. However, types such as
+ <code class="computeroutput"><span class="identifier">io_service</span></code> provide a stronger
+ guarantee that it is safe to use a single object concurrently.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.threads.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.threads.thread_pools"></a></span><a class="link" href="threads.html#boost_asio.overview.core.threads.thread_pools">Thread
+ Pools</a>
+ </h6>
+<p>
+ Multiple threads may call <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code> to set up a pool of threads from which
+ completion handlers may be invoked. This approach may also be used with
+ <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>
+ to use a means to perform any computational tasks across a thread pool.
+ </p>
+<p>
+ Note that all threads that have joined an <code class="computeroutput"><span class="identifier">io_service</span></code>'s
+ pool are considered equivalent, and the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ may distribute work across them in an arbitrary fashion.
+ </p>
+<h6>
+<a name="boost_asio.overview.core.threads.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.threads.internal_threads"></a></span><a class="link" href="threads.html#boost_asio.overview.core.threads.internal_threads">Internal
+ Threads</a>
+ </h6>
+<p>
+ The implementation of this library for a particular platform may make use
+ of one or more internal threads to emulate asynchronicity. As far as possible,
+ these threads must be invisible to the library user. In particular, the
+ threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ must not call the user's code directly; and
+ </li>
+<li class="listitem">
+ must block all signals.
+ </li>
+</ul></div>
+<p>
+ This approach is complemented by the following guarantee:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Asynchronous completion handlers will only be called from threads that
+ are currently calling <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>.
+ </li></ul></div>
+<p>
+ Consequently, it is the library user's responsibility to create and manage
+ all threads to which the notifications will be delivered.
+ </p>
+<p>
+ The reasons for this approach include:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ By only calling <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code> from a single thread, the user's
+ code can avoid the development complexity associated with synchronisation.
+ For example, a library user can implement scalable servers that are
+ single-threaded (from the user's point of view).
+ </li>
+<li class="listitem">
+ A library user may need to perform initialisation in a thread shortly
+ after the thread starts and before any other application code is executed.
+ For example, users of Microsoft's COM must call <code class="computeroutput"><span class="identifier">CoInitializeEx</span></code>
+ before any other COM operations can be called from that thread.
+ </li>
+<li class="listitem">
+ The library interface is decoupled from interfaces for thread creation
+ and management, and permits implementations on platforms where threads
+ are not available.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.overview.core.threads.h3"></a>
+ <span class="phrase"><a name="boost_asio.overview.core.threads.see_also"></a></span><a class="link" href="threads.html#boost_asio.overview.core.threads.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/io_service.html" title="io_service">io_service</a>.
+ </p>
+</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 &#169; 2003-2017 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="async.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="strands.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011.html b/doc/html/boost_asio/overview/cpp2011.html
new file mode 100644
index 0000000000..930b9070bf
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>C++ 2011 Support</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="ssl.html" title="SSL">
+<link rel="next" href="cpp2011/move_objects.html" title="Movable I/O Objects">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp2011/move_objects.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.cpp2011"></a><a class="link" href="cpp2011.html" title="C++ 2011 Support">C++ 2011 Support</a>
+</h3></div></div></div>
+<p>
+ <a class="link" href="cpp2011/move_objects.html" title="Movable I/O Objects">Movable I/O Objects</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/move_handlers.html" title="Movable Handlers">Movable Handlers</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/variadic.html" title="Variadic Templates">Variadic Templates</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/array.html" title="Array Container">Array Container</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/atomic.html" title="Atomics">Atomics</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/shared_ptr.html" title="Shared Pointers">Shared Pointers</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/chrono.html" title="Chrono">Chrono</a>
+ </p>
+<p>
+ <a class="link" href="cpp2011/futures.html" title="Futures">Futures</a>
+ </p>
+</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 &#169; 2003-2017 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="ssl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp2011/move_objects.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/array.html b/doc/html/boost_asio/overview/cpp2011/array.html
new file mode 100644
index 0000000000..94454829fe
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/array.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Array Container</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="variadic.html" title="Variadic Templates">
+<link rel="next" href="atomic.html" title="Atomics">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variadic.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atomic.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.array"></a><a class="link" href="array.html" title="Array Container">Array Container</a>
+</h4></div></div></div>
+<p>
+ Where the standard library provides <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;&gt;</span></code>, Boost.Asio:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Provides overloads for the <a class="link" href="../../reference/buffer.html" title="buffer">buffer()</a>
+ function.
+ </li>
+<li class="listitem">
+ Uses it in preference to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;&gt;</span></code> for the <a class="link" href="../../reference/ip__address_v4/bytes_type.html" title="ip::address_v4::bytes_type">ip::address_v4::bytes_type</a>
+ and <a class="link" href="../../reference/ip__address_v6/bytes_type.html" title="ip::address_v6::bytes_type">ip::address_v6::bytes_type</a>
+ types.
+ </li>
+<li class="listitem">
+ Uses it in preference to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;&gt;</span></code> where a fixed size array type
+ is needed in the implementation.
+ </li>
+</ul></div>
+<p>
+ Support for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;&gt;</span></code>
+ is automatically enabled for <code class="literal">g++</code> 4.3 and later, when
+ the <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code> compiler
+ options are used, as well as for Microsoft Visual C++ 10. It may be disabled
+ by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_STD_ARRAY</span></code>,
+ or explicitly enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_STD_ARRAY</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="variadic.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atomic.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/atomic.html b/doc/html/boost_asio/overview/cpp2011/atomic.html
new file mode 100644
index 0000000000..1d5c74fb24
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/atomic.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Atomics</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="array.html" title="Array Container">
+<link rel="next" href="shared_ptr.html" title="Shared Pointers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="array.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shared_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.atomic"></a><a class="link" href="atomic.html" title="Atomics">Atomics</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio's implementation can use <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">atomic</span><span class="special">&lt;&gt;</span></code> in preference to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">atomic_count</span></code>.
+ </p>
+<p>
+ Support for the standard atomic integer template is automatically enabled
+ for <code class="literal">g++</code> 4.5 and later, when the <code class="literal">-std=c++0x</code>
+ or <code class="literal">-std=gnu++0x</code> compiler options are used. It may be
+ disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_STD_ATOMIC</span></code>,
+ or explicitly enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_STD_ATOMIC</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="array.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shared_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/chrono.html b/doc/html/boost_asio/overview/cpp2011/chrono.html
new file mode 100644
index 0000000000..773d702653
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/chrono.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chrono</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="shared_ptr.html" title="Shared Pointers">
+<link rel="next" href="futures.html" title="Futures">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shared_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="futures.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.chrono"></a><a class="link" href="chrono.html" title="Chrono">Chrono</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio provides timers based on the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span></code>
+ facilities via the <a class="link" href="../../reference/basic_waitable_timer.html" title="basic_waitable_timer">basic_waitable_timer</a>
+ class template. The typedefs <a class="link" href="../../reference/system_timer.html" title="system_timer">system_timer</a>,
+ <a class="link" href="../../reference/steady_timer.html" title="steady_timer">steady_timer</a> and
+ <a class="link" href="../../reference/high_resolution_timer.html" title="high_resolution_timer">high_resolution_timer</a>
+ utilise the standard clocks <code class="computeroutput"><span class="identifier">system_clock</span></code>,
+ <code class="computeroutput"><span class="identifier">steady_clock</span></code> and <code class="computeroutput"><span class="identifier">high_resolution_clock</span></code> respectively.
+ </p>
+<p>
+ Support for the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span></code> facilities is automatically enabled
+ for <code class="literal">g++</code> 4.6 and later, when the <code class="literal">-std=c++0x</code>
+ or <code class="literal">-std=gnu++0x</code> compiler options are used. (Note that,
+ for <code class="literal">g++</code>, the draft-standard <code class="computeroutput"><span class="identifier">monotonic_clock</span></code>
+ is used in place of <code class="computeroutput"><span class="identifier">steady_clock</span></code>.)
+ Support may be disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_STD_CHRONO</span></code>,
+ or explicitly enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_STD_CHRONO</span></code>.
+ </p>
+<p>
+ When standard <code class="computeroutput"><span class="identifier">chrono</span></code> is
+ unavailable, Boost.Asio will otherwise use the Boost.Chrono library. The
+ <a class="link" href="../../reference/basic_waitable_timer.html" title="basic_waitable_timer">basic_waitable_timer</a>
+ class template may be used with either.
+ </p>
+</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 &#169; 2003-2017 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="shared_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="futures.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/futures.html b/doc/html/boost_asio/overview/cpp2011/futures.html
new file mode 100644
index 0000000000..6621779c3c
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/futures.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Futures</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="chrono.html" title="Chrono">
+<link rel="next" href="../implementation.html" title="Platform-Specific Implementation Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chrono.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.futures"></a><a class="link" href="futures.html" title="Futures">Futures</a>
+</h4></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code> special value provides first-class
+ support for returning a C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
+ from an asynchronous operation's initiating function.
+ </p>
+<p>
+ To use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code>, pass it to an asynchronous
+ operation instead of a normal completion handler. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">length</span> <span class="special">=</span>
+ <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span>
+</pre>
+<p>
+ Where a handler signature has the form:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">result_type</span> <span class="identifier">result</span><span class="special">);</span>
+</pre>
+<p>
+ the initiating function returns a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
+ templated on <code class="computeroutput"><span class="identifier">result_type</span></code>.
+ In the above example, this is <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>.
+ If the asynchronous operation fails, the <code class="computeroutput"><span class="identifier">error_code</span></code>
+ is converted into a <code class="computeroutput"><span class="identifier">system_error</span></code>
+ exception and passed back to the caller through the future.
+ </p>
+<p>
+ Where a handler signature has the form:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ the initiating function returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span></code>. As above, an error is passed back
+ in the future as a <code class="computeroutput"><span class="identifier">system_error</span></code>
+ exception.
+ </p>
+<p>
+ <a class="link" href="../../reference/use_future.html" title="use_future">use_future</a>, <a class="link" href="../../reference/use_future_t.html" title="use_future_t">use_future_t</a>, <a class="link" href="../../examples/cpp11_examples.html#boost_asio.examples.cpp11_examples.futures">Futures example (C++11)</a>.
+ </p>
+</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 &#169; 2003-2017 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="chrono.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/move_handlers.html b/doc/html/boost_asio/overview/cpp2011/move_handlers.html
new file mode 100644
index 0000000000..fc6051de5c
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/move_handlers.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Movable Handlers</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="move_objects.html" title="Movable I/O Objects">
+<link rel="next" href="variadic.html" title="Variadic Templates">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_objects.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="variadic.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.move_handlers"></a><a class="link" href="move_handlers.html" title="Movable Handlers">Movable
+ Handlers</a>
+</h4></div></div></div>
+<p>
+ As an optimisation, user-defined completion handlers may provide move constructors,
+ and Boost.Asio's implementation will use a handler's move constructor in
+ preference to its copy constructor. In certain circumstances, Boost.Asio
+ may be able to eliminate all calls to a handler's copy constructor. However,
+ handler types are still required to be copy constructible.
+ </p>
+<p>
+ When move support is enabled, asynchronous that are documented as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_XYZ</span><span class="special">(...,</span> <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ are actually declared as:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_XYZ</span><span class="special">(...,</span> <span class="identifier">Handler</span><span class="special">&amp;&amp;</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ The handler argument is perfectly forwarded and the move construction occurs
+ within the body of <code class="computeroutput"><span class="identifier">async_XYZ</span><span class="special">()</span></code>. This ensures that all other function
+ arguments are evaluated prior to the move. This is critical when the other
+ arguments to <code class="computeroutput"><span class="identifier">async_XYZ</span><span class="special">()</span></code> are members of the handler. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_operation</span>
+<span class="special">{</span>
+ <span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+ <span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;&gt;</span> <span class="identifier">buffer</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">length</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">socket</span><span class="special">-&gt;</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer</span><span class="special">),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(*</span><span class="keyword">this</span><span class="special">));</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Move support is automatically enabled for <code class="literal">g++</code> 4.5 and
+ later, when the <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>
+ compiler options are used. It may be disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_MOVE</span></code>, or explicitly
+ enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_MOVE</span></code>.
+ Note that these macros also affect the availability of <a class="link" href="move_objects.html" title="Movable I/O Objects">movable
+ I/O objects</a>.
+ </p>
+</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 &#169; 2003-2017 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="move_objects.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="variadic.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/move_objects.html b/doc/html/boost_asio/overview/cpp2011/move_objects.html
new file mode 100644
index 0000000000..1394496bd2
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/move_objects.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Movable I/O Objects</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="next" href="move_handlers.html" title="Movable Handlers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cpp2011.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_handlers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.move_objects"></a><a class="link" href="move_objects.html" title="Movable I/O Objects">Movable I/O
+ Objects</a>
+</h4></div></div></div>
+<p>
+ When move support is available (via rvalue references), Boost.Asio allows
+ move construction and assignment of sockets, serial ports, POSIX descriptors
+ and Windows handles.
+ </p>
+<p>
+ Move support allows you to write code like:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">make_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+ <span class="special">...</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ or:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">connection</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">connection</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="special">...</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">connection</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">s</span><span class="special">))</span> <span class="special">{}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+
+<span class="special">...</span>
+
+<span class="keyword">class</span> <span class="identifier">server</span>
+<span class="special">{</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_shared</span><span class="special">&lt;</span><span class="identifier">connection</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">))-&gt;</span><span class="identifier">go</span><span class="special">();</span>
+ <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="special">...);</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ as well as:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">sockets</span><span class="special">;</span>
+<span class="identifier">sockets</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">(...));</span>
+</pre>
+<p>
+ A word of warning: There is nothing stopping you from moving these objects
+ while there are pending asynchronous operations, but it is unlikely to
+ be a good idea to do so. In particular, composed operations like <a class="link" href="../../reference/async_read.html" title="async_read">async_read()</a> store a reference
+ to the stream object. Moving during the composed operation means that the
+ composed operation may attempt to access a moved-from object.
+ </p>
+<p>
+ Move support is automatically enabled for <code class="literal">g++</code> 4.5 and
+ later, when the <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>
+ compiler options are used. It may be disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_MOVE</span></code>, or explicitly
+ enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_MOVE</span></code>.
+ Note that these macros also affect the availability of <a class="link" href="move_handlers.html" title="Movable Handlers">movable
+ handlers</a>.
+ </p>
+</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 &#169; 2003-2017 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="../cpp2011.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_handlers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/shared_ptr.html b/doc/html/boost_asio/overview/cpp2011/shared_ptr.html
new file mode 100644
index 0000000000..85258efc68
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/shared_ptr.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Shared Pointers</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="atomic.html" title="Atomics">
+<link rel="next" href="chrono.html" title="Chrono">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="atomic.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chrono.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.shared_ptr"></a><a class="link" href="shared_ptr.html" title="Shared Pointers">Shared Pointers</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio's implementation can use <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;&gt;</span></code> and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">weak_ptr</span><span class="special">&lt;&gt;</span></code> in preference to the Boost equivalents.
+ </p>
+<p>
+ Support for the standard smart pointers is automatically enabled for <code class="literal">g++</code>
+ 4.3 and later, when the <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>
+ compiler options are used, as well as for Microsoft Visual C++ 10. It may
+ be disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_STD_SHARED_PTR</span></code>,
+ or explicitly enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_STD_SHARED_PTR</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="atomic.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chrono.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/cpp2011/variadic.html b/doc/html/boost_asio/overview/cpp2011/variadic.html
new file mode 100644
index 0000000000..65deeb75f8
--- /dev/null
+++ b/doc/html/boost_asio/overview/cpp2011/variadic.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Variadic Templates</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cpp2011.html" title="C++ 2011 Support">
+<link rel="prev" href="move_handlers.html" title="Movable Handlers">
+<link rel="next" href="array.html" title="Array Container">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_handlers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.cpp2011.variadic"></a><a class="link" href="variadic.html" title="Variadic Templates">Variadic Templates</a>
+</h4></div></div></div>
+<p>
+ When supported by a compiler, Boost.Asio can use variadic templates to
+ implement the <a class="link" href="../../reference/basic_socket_streambuf/connect.html" title="basic_socket_streambuf::connect">basic_socket_streambuf::connect()</a>
+ and <a class="link" href="../../reference/basic_socket_iostream/connect.html" title="basic_socket_iostream::connect">basic_socket_iostream::connect()</a>
+ functions.
+ </p>
+<p>
+ Support for variadic templates is automatically enabled for <code class="literal">g++</code>
+ 4.3 and later, when the <code class="literal">-std=c++0x</code> or <code class="literal">-std=gnu++0x</code>
+ compiler options are used. It may be disabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_VARIADIC_TEMPLATES</span></code>,
+ or explicitly enabled for other compilers by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_VARIADIC_TEMPLATES</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="move_handlers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cpp2011.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/implementation.html b/doc/html/boost_asio/overview/implementation.html
new file mode 100644
index 0000000000..200e36de94
--- /dev/null
+++ b/doc/html/boost_asio/overview/implementation.html
@@ -0,0 +1,501 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Platform-Specific Implementation Notes</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="cpp2011/futures.html" title="Futures">
+<link rel="next" href="../using.html" title="Using Boost.Asio">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cpp2011/futures.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../using.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.implementation"></a><a class="link" href="implementation.html" title="Platform-Specific Implementation Notes">Platform-Specific
+ Implementation Notes</a>
+</h3></div></div></div>
+<p>
+ This section lists platform-specific implementation details, such as the
+ default demultiplexing mechanism, the number of threads created internally,
+ and when threads are created.
+ </p>
+<h5>
+<a name="boost_asio.overview.implementation.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.linux_kernel_2_4"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.linux_kernel_2_4">Linux
+ Kernel 2.4</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for demultiplexing.
+ This means that the number of file descriptors in the process cannot
+ be permitted to exceed <code class="computeroutput"><span class="identifier">FD_SETSIZE</span></code>.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">select</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.linux_kernel_2_6"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.linux_kernel_2_6">Linux
+ Kernel 2.6</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">epoll</span></code> for demultiplexing.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">epoll</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.solaris"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.solaris">Solaris</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="literal">/dev/poll</code> for demultiplexing.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="literal">/dev/poll</code> is performed in one
+ of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h3"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.qnx_neutrino"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.qnx_neutrino">QNX
+ Neutrino</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for demultiplexing.
+ This means that the number of file descriptors in the process cannot
+ be permitted to exceed <code class="computeroutput"><span class="identifier">FD_SETSIZE</span></code>.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">select</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h4"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.mac_os_x"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.mac_os_x">Mac
+ OS X</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">kqueue</span></code> for demultiplexing.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">kqueue</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h5"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.freebsd"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.freebsd">FreeBSD</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">kqueue</span></code> for demultiplexing.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">kqueue</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h6"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.aix"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.aix">AIX</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for demultiplexing.
+ This means that the number of file descriptors in the process cannot
+ be permitted to exceed <code class="computeroutput"><span class="identifier">FD_SETSIZE</span></code>.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">select</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h7"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.hp_ux"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.hp_ux">HP-UX</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for demultiplexing.
+ This means that the number of file descriptors in the process cannot
+ be permitted to exceed <code class="computeroutput"><span class="identifier">FD_SETSIZE</span></code>.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">select</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h8"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.tru64"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.tru64">Tru64</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for demultiplexing.
+ This means that the number of file descriptors in the process cannot
+ be permitted to exceed <code class="computeroutput"><span class="identifier">FD_SETSIZE</span></code>.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">select</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ At most <code class="computeroutput"><span class="identifier">min</span><span class="special">(</span><span class="number">64</span><span class="special">,</span><span class="identifier">IOV_MAX</span><span class="special">)</span></code> buffers may be transferred in a single
+ operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h9"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.windows_95__98_and_me"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.windows_95__98_and_me">Windows
+ 95, 98 and Me</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for demultiplexing.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using <code class="computeroutput"><span class="identifier">select</span></code>
+ is performed in one of the threads that calls <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ For sockets, at most 16 buffers may be transferred in a single operation.
+ </li></ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h10"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.windows_nt__2000__xp__2003__vista__7_and_8"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.windows_nt__2000__xp__2003__vista__7_and_8">Windows
+ NT, 2000, XP, 2003, Vista, 7 and 8</a>
+ </h5>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Uses overlapped I/O and I/O completion ports for all asynchronous socket
+ operations except for asynchronous connect.
+ </li>
+<li class="listitem">
+ Uses <code class="computeroutput"><span class="identifier">select</span></code> for emulating
+ asynchronous connect.
+ </li>
+</ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Demultiplexing using I/O completion ports is performed in all threads
+ that call <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">poll_one</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to trigger timers. This thread is created on construction of
+ the first <code class="computeroutput"><span class="identifier">deadline_timer</span></code>
+ or <code class="computeroutput"><span class="identifier">deadline_timer_service</span></code>
+ objects.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used for the <code class="computeroutput"><span class="identifier">select</span></code>
+ demultiplexing. This thread is created on the first call to <code class="computeroutput"><span class="identifier">async_connect</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to emulate asynchronous host resolution. This thread is created
+ on the first call to either <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">async_resolve</span><span class="special">()</span></code>.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ For sockets, at most 64 buffers may be transferred in a single operation.
+ </li>
+<li class="listitem">
+ For stream-oriented handles, only one buffer may be transferred in a
+ single operation.
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.overview.implementation.h11"></a>
+ <span class="phrase"><a name="boost_asio.overview.implementation.windows_runtime"></a></span><a class="link" href="implementation.html#boost_asio.overview.implementation.windows_runtime">Windows
+ Runtime</a>
+ </h5>
+<p>
+ Boost.Asio provides limited support for the Windows Runtime. It requires
+ that the language extensions be enabled. Due to the restricted facilities
+ exposed by the Windows Runtime API, the support comes with the following
+ caveats:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The core facilities such as the <code class="computeroutput"><span class="identifier">io_service</span></code>,
+ <code class="computeroutput"><span class="identifier">strand</span></code>, buffers, composed
+ operations, timers, etc., should all work as normal.
+ </li>
+<li class="listitem">
+ For sockets, only client-side TCP is supported.
+ </li>
+<li class="listitem">
+ Explicit binding of a client-side TCP socket is not supported.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ function is not supported for sockets. Asynchronous operations may only
+ be cancelled by closing the socket.
+ </li>
+<li class="listitem">
+ Operations that use <code class="computeroutput"><span class="identifier">null_buffers</span></code>
+ are not supported.
+ </li>
+<li class="listitem">
+ Only <code class="computeroutput"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span></code> and <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span></code>
+ options are supported.
+ </li>
+<li class="listitem">
+ Resolvers do not support service names, only numbers. I.e. you must use
+ "80" rather than "http".
+ </li>
+<li class="listitem">
+ Most resolver query flags have no effect.
+ </li>
+</ul></div>
+<p>
+ Demultiplexing mechanism:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Uses the <code class="computeroutput"><span class="identifier">Windows</span><span class="special">::</span><span class="identifier">Networking</span><span class="special">::</span><span class="identifier">Sockets</span><span class="special">::</span><span class="identifier">StreamSocket</span></code> class to implement asynchronous
+ TCP socket operations.
+ </li></ul></div>
+<p>
+ Threads:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Event completions are delivered to the Windows thread pool and posted
+ to the <code class="computeroutput"><span class="identifier">io_service</span></code> for
+ the handler to be executed.
+ </li>
+<li class="listitem">
+ An additional thread per <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is used to trigger timers. This thread is created on construction of
+ the first timer objects.
+ </li>
+</ul></div>
+<p>
+ Scatter-Gather:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ For sockets, at most one buffer may be transferred in a single operation.
+ </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 &#169; 2003-2017 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="cpp2011/futures.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../using.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/networking.html b/doc/html/boost_asio/overview/networking.html
new file mode 100644
index 0000000000..b7027f8efd
--- /dev/null
+++ b/doc/html/boost_asio/overview/networking.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Networking</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="core/spawn.html" title="Stackful Coroutines">
+<link rel="next" href="networking/protocols.html" title="TCP, UDP and ICMP">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="core/spawn.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="networking/protocols.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.networking"></a><a class="link" href="networking.html" title="Networking">Networking</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="networking/protocols.html" title="TCP, UDP and ICMP">TCP, UDP and
+ ICMP</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="networking/other_protocols.html" title="Support for Other Protocols">Support
+ for Other Protocols</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="networking/iostreams.html" title="Socket Iostreams">Socket Iostreams</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="networking/bsd_sockets.html" title="The BSD Socket API and Boost.Asio">The BSD Socket
+ API and Boost.Asio</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 &#169; 2003-2017 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="core/spawn.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="networking/protocols.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/networking/bsd_sockets.html b/doc/html/boost_asio/overview/networking/bsd_sockets.html
new file mode 100644
index 0000000000..4e0403d70b
--- /dev/null
+++ b/doc/html/boost_asio/overview/networking/bsd_sockets.html
@@ -0,0 +1,562 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The BSD Socket API and Boost.Asio</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../networking.html" title="Networking">
+<link rel="prev" href="iostreams.html" title="Socket Iostreams">
+<link rel="next" href="../timers.html" title="Timers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iostreams.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../timers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.networking.bsd_sockets"></a><a class="link" href="bsd_sockets.html" title="The BSD Socket API and Boost.Asio">The BSD
+ Socket API and Boost.Asio</a>
+</h4></div></div></div>
+<p>
+ The Boost.Asio library includes a low-level socket interface based on the
+ BSD socket API, which is widely implemented and supported by extensive
+ literature. It is also used as the basis for networking APIs in other languages,
+ like Java. This low-level interface is designed to support the development
+ of efficient and scalable applications. For example, it permits programmers
+ to exert finer control over the number of system calls, avoid redundant
+ data copying, minimise the use of resources like threads, and so on.
+ </p>
+<p>
+ Unsafe and error prone aspects of the BSD socket API not included. For
+ example, the use of <code class="computeroutput"><span class="keyword">int</span></code> to
+ represent all sockets lacks type safety. The socket representation in Boost.Asio
+ uses a distinct type for each protocol, e.g. for TCP one would use <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>, and for UDP one uses <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span></code>.
+ </p>
+<p>
+ The following table shows the mapping between the BSD socket API and Boost.Asio:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ BSD Socket API Elements
+ </p>
+ </th>
+<th>
+ <p>
+ Equivalents in Boost.Asio
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ socket descriptor - <code class="computeroutput"><span class="keyword">int</span></code>
+ (POSIX) or <code class="computeroutput"><span class="identifier">SOCKET</span></code>
+ (Windows)
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/ip__tcp/socket.html" title="ip::tcp::socket">ip::tcp::socket</a>,
+ <a class="link" href="../../reference/ip__tcp/acceptor.html" title="ip::tcp::acceptor">ip::tcp::acceptor</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/ip__udp/socket.html" title="ip::udp::socket">ip::udp::socket</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket.html" title="basic_socket">basic_socket</a>,
+ <a class="link" href="../../reference/basic_stream_socket.html" title="basic_stream_socket">basic_stream_socket</a>,
+ <a class="link" href="../../reference/basic_datagram_socket.html" title="basic_datagram_socket">basic_datagram_socket</a>,
+ <a class="link" href="../../reference/basic_raw_socket.html" title="basic_raw_socket">basic_raw_socket</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">in_addr</span></code>, <code class="computeroutput"><span class="identifier">in6_addr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../reference/ip__address.html" title="ip::address">ip::address</a>,
+ <a class="link" href="../../reference/ip__address.html" title="ip::address">ip::address_v4</a>,
+ <a class="link" href="../../reference/ip__address.html" title="ip::address">ip::address_v6</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sockaddr_in</span></code>,
+ <code class="computeroutput"><span class="identifier">sockaddr_in6</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/ip__tcp/endpoint.html" title="ip::tcp::endpoint">ip::tcp::endpoint</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/ip__udp/endpoint.html" title="ip::udp::endpoint">ip::udp::endpoint</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/ip__basic_endpoint.html" title="ip::basic_endpoint">ip::basic_endpoint</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept">ip::tcp::acceptor::accept()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept">basic_socket_acceptor::accept()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/bind.html" title="basic_socket::bind">ip::tcp::acceptor::bind()</a>,
+ <a class="link" href="../../reference/basic_socket/bind.html" title="basic_socket::bind">ip::tcp::socket::bind()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/bind.html" title="basic_socket::bind">ip::udp::socket::bind()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/bind.html" title="basic_socket::bind">basic_socket::bind()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/close.html" title="basic_socket::close">ip::tcp::acceptor::close()</a>,
+ <a class="link" href="../../reference/basic_socket/close.html" title="basic_socket::close">ip::tcp::socket::close()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/close.html" title="basic_socket::close">ip::udp::socket::close()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/close.html" title="basic_socket::close">basic_socket::close()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/connect.html" title="basic_socket::connect">ip::tcp::socket::connect()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/connect.html" title="basic_socket::connect">ip::udp::socket::connect()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/connect.html" title="basic_socket::connect">basic_socket::connect()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">getaddrinfo</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">gethostbyaddr</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">gethostbyname</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">getnameinfo</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">getservbyname</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">getservbyport</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve">ip::tcp::resolver::resolve()</a>,
+ <a class="link" href="../../reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve">ip::tcp::resolver::async_resolve()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve">ip::udp::resolver::resolve()</a>,
+ <a class="link" href="../../reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve">ip::udp::resolver::async_resolve()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve">ip::basic_resolver::resolve()</a>,
+ <a class="link" href="../../reference/ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve">ip::basic_resolver::async_resolve()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">gethostname</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../reference/ip__host_name.html" title="ip::host_name">ip::host_name()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint">ip::tcp::socket::remote_endpoint()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint">ip::udp::socket::remote_endpoint()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint">basic_socket::remote_endpoint()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/local_endpoint.html" title="basic_socket::local_endpoint">ip::tcp::acceptor::local_endpoint()</a>,
+ <a class="link" href="../../reference/basic_socket/local_endpoint.html" title="basic_socket::local_endpoint">ip::tcp::socket::local_endpoint()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/local_endpoint.html" title="basic_socket::local_endpoint">ip::udp::socket::local_endpoint()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/local_endpoint.html" title="basic_socket::local_endpoint">basic_socket::local_endpoint()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/get_option.html" title="basic_socket::get_option">ip::tcp::acceptor::get_option()</a>,
+ <a class="link" href="../../reference/basic_socket/get_option.html" title="basic_socket::get_option">ip::tcp::socket::get_option()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/get_option.html" title="basic_socket::get_option">ip::udp::socket::get_option()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/get_option.html" title="basic_socket::get_option">basic_socket::get_option()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inet_addr</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">inet_aton</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">inet_pton</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../reference/ip__address/from_string.html" title="ip::address::from_string">ip::address::from_string()</a>,
+ <a class="link" href="../../reference/ip__address/from_string.html" title="ip::address::from_string">ip::address_v4::from_string()</a>,
+ <a class="link" href="../../reference/ip__address/from_string.html" title="ip::address::from_string">ip_address_v6::from_string()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inet_ntoa</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">inet_ntop</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../reference/ip__address/to_string.html" title="ip::address::to_string">ip::address::to_string()</a>,
+ <a class="link" href="../../reference/ip__address/to_string.html" title="ip::address::to_string">ip::address_v4::to_string()</a>,
+ <a class="link" href="../../reference/ip__address/to_string.html" title="ip::address::to_string">ip_address_v6::to_string()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ioctl</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/io_control.html" title="basic_socket::io_control">ip::tcp::socket::io_control()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/io_control.html" title="basic_socket::io_control">ip::udp::socket::io_control()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/io_control.html" title="basic_socket::io_control">basic_socket::io_control()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">listen</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket_acceptor/listen.html" title="basic_socket_acceptor::listen">ip::tcp::acceptor::listen()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket_acceptor/listen.html" title="basic_socket_acceptor::listen">basic_socket_acceptor::listen()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">select</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">pselect</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../reference/io_service/run.html" title="io_service::run">io_service::run()</a>,
+ <a class="link" href="../../reference/io_service/run_one.html" title="io_service::run_one">io_service::run_one()</a>,
+ <a class="link" href="../../reference/io_service/poll.html" title="io_service::poll">io_service::poll()</a>,
+ <a class="link" href="../../reference/io_service/poll_one.html" title="io_service::poll_one">io_service::poll_one()</a>
+ </p>
+ <p>
+ Note: in conjunction with asynchronous operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">readv</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">recv</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">read</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_stream_socket/read_some.html" title="basic_stream_socket::read_some">ip::tcp::socket::read_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some">ip::tcp::socket::async_read_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/receive.html" title="basic_stream_socket::receive">ip::tcp::socket::receive()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive">ip::tcp::socket::async_receive()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_datagram_socket/receive.html" title="basic_datagram_socket::receive">ip::udp::socket::receive()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive">ip::udp::socket::async_receive()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_stream_socket/read_some.html" title="basic_stream_socket::read_some">basic_stream_socket::read_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some">basic_stream_socket::async_read_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/receive.html" title="basic_stream_socket::receive">basic_stream_socket::receive()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive">basic_stream_socket::async_receive()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/receive.html" title="basic_datagram_socket::receive">basic_datagram_socket::receive()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive">basic_datagram_socket::async_receive()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from">ip::udp::socket::receive_from()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from">ip::udp::socket::async_receive_from()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from">basic_datagram_socket::receive_from()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from">basic_datagram_socket::async_receive_from()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">send</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">write</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">writev</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_stream_socket/write_some.html" title="basic_stream_socket::write_some">ip::tcp::socket::write_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some">ip::tcp::socket::async_write_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/send.html" title="basic_stream_socket::send">ip::tcp::socket::send()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_send.html" title="basic_stream_socket::async_send">ip::tcp::socket::async_send()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_datagram_socket/send.html" title="basic_datagram_socket::send">ip::udp::socket::send()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send">ip::udp::socket::async_send()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_stream_socket/write_some.html" title="basic_stream_socket::write_some">basic_stream_socket::write_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some">basic_stream_socket::async_write_some()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/send.html" title="basic_stream_socket::send">basic_stream_socket::send()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_send.html" title="basic_stream_socket::async_send">basic_stream_socket::async_send()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/send.html" title="basic_datagram_socket::send">basic_datagram_socket::send()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send">basic_datagram_socket::async_send()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sendto</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to">ip::udp::socket::send_to()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to">ip::udp::socket::async_send_to()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to">basic_datagram_socket::send_to()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to">basic_datagram_socket::async_send_to()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/set_option.html" title="basic_socket::set_option">ip::tcp::acceptor::set_option()</a>,
+ <a class="link" href="../../reference/basic_socket/set_option.html" title="basic_socket::set_option">ip::tcp::socket::set_option()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/set_option.html" title="basic_socket::set_option">ip::udp::socket::set_option()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/set_option.html" title="basic_socket::set_option">basic_socket::set_option()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/shutdown.html" title="basic_socket::shutdown">ip::tcp::socket::shutdown()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/shutdown.html" title="basic_socket::shutdown">ip::udp::socket::shutdown()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/shutdown.html" title="basic_socket::shutdown">basic_socket::shutdown()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sockatmark</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/at_mark.html" title="basic_socket::at_mark">ip::tcp::socket::at_mark()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/at_mark.html" title="basic_socket::at_mark">basic_socket::at_mark()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ For TCP: <a class="link" href="../../reference/basic_socket/open.html" title="basic_socket::open">ip::tcp::acceptor::open()</a>,
+ <a class="link" href="../../reference/basic_socket/open.html" title="basic_socket::open">ip::tcp::socket::open()</a>
+ </p>
+ <p>
+ For UDP: <a class="link" href="../../reference/basic_socket/open.html" title="basic_socket::open">ip::udp::socket::open()</a>
+ </p>
+ <p>
+ <a class="link" href="../../reference/basic_socket/open.html" title="basic_socket::open">basic_socket::open()</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">socketpair</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../reference/local__connect_pair.html" title="local::connect_pair">local::connect_pair()</a>
+ </p>
+ <p>
+ Note: POSIX operating systems only.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></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 &#169; 2003-2017 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="iostreams.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../timers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/networking/iostreams.html b/doc/html/boost_asio/overview/networking/iostreams.html
new file mode 100644
index 0000000000..6409aaa294
--- /dev/null
+++ b/doc/html/boost_asio/overview/networking/iostreams.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Socket Iostreams</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../networking.html" title="Networking">
+<link rel="prev" href="other_protocols.html" title="Support for Other Protocols">
+<link rel="next" href="bsd_sockets.html" title="The BSD Socket API and Boost.Asio">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="other_protocols.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bsd_sockets.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.networking.iostreams"></a><a class="link" href="iostreams.html" title="Socket Iostreams">Socket Iostreams</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio includes classes that implement iostreams on top of sockets.
+ These hide away the complexities associated with endpoint resolution, protocol
+ independence, etc. To create a connection one might simply write:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span> <span class="identifier">stream</span><span class="special">(</span><span class="string">"www.boost.org"</span><span class="special">,</span> <span class="string">"http"</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(!</span><span class="identifier">stream</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Can't connect.</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The iostream class can also be used in conjunction with an acceptor to
+ create simple servers. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">io_service</span> <span class="identifier">ios</span><span class="special">;</span>
+
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">80</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">ios</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">);</span>
+
+<span class="keyword">for</span> <span class="special">(;;)</span>
+<span class="special">{</span>
+ <span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span> <span class="identifier">stream</span><span class="special">;</span>
+ <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(*</span><span class="identifier">stream</span><span class="special">.</span><span class="identifier">rdbuf</span><span class="special">());</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Timeouts may be set by calling <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> to establish a deadline. Any socket operations
+ that occur past the deadline will put the iostream into a "bad"
+ state.
+ </p>
+<p>
+ For example, a simple client program like this:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span> <span class="identifier">stream</span><span class="special">;</span>
+<span class="identifier">stream</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
+<span class="identifier">stream</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="string">"www.boost.org"</span><span class="special">,</span> <span class="string">"http"</span><span class="special">);</span>
+<span class="identifier">stream</span> <span class="special">&lt;&lt;</span> <span class="string">"GET /LICENSE_1_0.txt HTTP/1.0\r\n"</span><span class="special">;</span>
+<span class="identifier">stream</span> <span class="special">&lt;&lt;</span> <span class="string">"Host: www.boost.org\r\n"</span><span class="special">;</span>
+<span class="identifier">stream</span> <span class="special">&lt;&lt;</span> <span class="string">"Accept: */*\r\n"</span><span class="special">;</span>
+<span class="identifier">stream</span> <span class="special">&lt;&lt;</span> <span class="string">"Connection: close\r\n\r\n"</span><span class="special">;</span>
+<span class="identifier">stream</span><span class="special">.</span><span class="identifier">flush</span><span class="special">();</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">stream</span><span class="special">.</span><span class="identifier">rdbuf</span><span class="special">();</span>
+</pre>
+<p>
+ will fail if all the socket operations combined take longer than 60 seconds.
+ </p>
+<p>
+ If an error does occur, the iostream's <code class="computeroutput"><span class="identifier">error</span><span class="special">()</span></code> member function may be used to retrieve
+ the error code from the most recent system call:
+ </p>
+<pre class="programlisting"><span class="keyword">if</span> <span class="special">(!</span><span class="identifier">stream</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">stream</span><span class="special">.</span><span class="identifier">error</span><span class="special">().</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.overview.networking.iostreams.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.iostreams.see_also"></a></span><a class="link" href="iostreams.html#boost_asio.overview.networking.iostreams.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/ip__tcp/iostream.html" title="ip::tcp::iostream">ip::tcp::iostream</a>,
+ <a class="link" href="../../reference/basic_socket_iostream.html" title="basic_socket_iostream">basic_socket_iostream</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.iostreams">iostreams
+ examples</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.iostreams.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.iostreams.notes"></a></span><a class="link" href="iostreams.html#boost_asio.overview.networking.iostreams.notes">Notes</a>
+ </h6>
+<p>
+ These iostream templates only support <code class="computeroutput"><span class="keyword">char</span></code>,
+ not <code class="computeroutput"><span class="keyword">wchar_t</span></code>, and do not perform
+ any code conversion.
+ </p>
+</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 &#169; 2003-2017 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="other_protocols.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bsd_sockets.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/networking/other_protocols.html b/doc/html/boost_asio/overview/networking/other_protocols.html
new file mode 100644
index 0000000000..6adb2baa63
--- /dev/null
+++ b/doc/html/boost_asio/overview/networking/other_protocols.html
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Support for Other Protocols</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../networking.html" title="Networking">
+<link rel="prev" href="protocols.html" title="TCP, UDP and ICMP">
+<link rel="next" href="iostreams.html" title="Socket Iostreams">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocols.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostreams.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.networking.other_protocols"></a><a class="link" href="other_protocols.html" title="Support for Other Protocols">Support
+ for Other Protocols</a>
+</h4></div></div></div>
+<p>
+ Support for other socket protocols (such as Bluetooth or IRCOMM sockets)
+ can be added by implementing the <a class="link" href="../../reference/Protocol.html" title="Protocol requirements">protocol
+ type requirements</a>. However, in many cases these protocols may also
+ be used with Boost.Asio's generic protocol support. For this, Boost.Asio
+ provides the following four classes:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="../../reference/generic__datagram_protocol.html" title="generic::datagram_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code></a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../../reference/generic__raw_protocol.html" title="generic::raw_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">raw_protocol</span></code></a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../../reference/generic__seq_packet_protocol.html" title="generic::seq_packet_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">seq_packet_protocol</span></code></a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../../reference/generic__stream_protocol.html" title="generic::stream_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span></code></a>
+ </li>
+</ul></div>
+<p>
+ These classes implement the <a class="link" href="../../reference/Protocol.html" title="Protocol requirements">protocol
+ type requirements</a>, but allow the user to specify the address family
+ (e.g. <code class="computeroutput"><span class="identifier">AF_INET</span></code>) and protocol
+ type (e.g. <code class="computeroutput"><span class="identifier">IPPROTO_TCP</span></code>)
+ at runtime. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_TCP</span><span class="special">));</span>
+<span class="special">...</span>
+</pre>
+<p>
+ An endpoint class template, <a class="link" href="../../reference/generic__basic_endpoint.html" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a>, is included to
+ support these protocol classes. This endpoint can hold any other endpoint
+ type, provided its native representation fits into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code>
+ object. This class will also convert from other types that implement the
+ <a class="link" href="../../reference/Endpoint.html" title="Endpoint requirements">endpoint</a> type requirements:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">my_endpoint1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">my_endpoint2</span><span class="special">(</span><span class="identifier">my_endpoint1</span><span class="special">);</span>
+</pre>
+<p>
+ The conversion is implicit, so as to support the following use cases:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">my_endpoint</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">my_endpoint</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.overview.networking.other_protocols.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.other_protocols.c__11_move_construction"></a></span><a class="link" href="other_protocols.html#boost_asio.overview.networking.other_protocols.c__11_move_construction">C++11
+ Move Construction</a>
+ </h6>
+<p>
+ When using C++11, it is possible to perform move construction from a socket
+ (or acceptor) object to convert to the more generic protocol's socket (or
+ acceptor) type. If the protocol conversion is valid:
+ </p>
+<pre class="programlisting"><span class="identifier">Protocol1</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">Protocol2</span> <span class="identifier">p2</span><span class="special">(</span><span class="identifier">p1</span><span class="special">);</span>
+</pre>
+<p>
+ then the corresponding socket conversion is allowed:
+ </p>
+<pre class="programlisting"><span class="identifier">Protocol1</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket1</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">Protocol2</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket2</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">my_socket1</span><span class="special">));</span>
+</pre>
+<p>
+ For example, one possible conversion is from a TCP socket to a generic
+ stream-oriented socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket1</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket2</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">move</span><span class="special">(</span><span class="identifier">my_socket1</span><span class="special">));</span>
+</pre>
+<p>
+ These conversions are also available for move-assignment.
+ </p>
+<p>
+ These conversions are not limited to the above generic protocol classes.
+ User-defined protocols may take advantage of this feature by similarly
+ ensuring the conversion from <code class="computeroutput"><span class="identifier">Protocol1</span></code>
+ to <code class="computeroutput"><span class="identifier">Protocol2</span></code> is valid,
+ as above.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.other_protocols.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.other_protocols.accepting_generic_sockets"></a></span><a class="link" href="other_protocols.html#boost_asio.overview.networking.other_protocols.accepting_generic_sockets">Accepting
+ Generic Sockets</a>
+ </h6>
+<p>
+ As a convenience, a socket acceptor's <code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">async_accept</span><span class="special">()</span></code> functions can directly accept into a
+ different protocol's socket type, provided the corresponding protocol conversion
+ is valid. For example, the following is supported because the protocol
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span></code> is convertible to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span></code>:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">my_acceptor</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">my_socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">my_acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">my_socket</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.overview.networking.other_protocols.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.other_protocols.see_also"></a></span><a class="link" href="other_protocols.html#boost_asio.overview.networking.other_protocols.see_also">See Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/generic__datagram_protocol.html" title="generic::datagram_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code></a>, <a class="link" href="../../reference/generic__raw_protocol.html" title="generic::raw_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">raw_protocol</span></code></a>, <a class="link" href="../../reference/generic__seq_packet_protocol.html" title="generic::seq_packet_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">seq_packet_protocol</span></code></a>, <a class="link" href="../../reference/generic__stream_protocol.html" title="generic::stream_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span></code></a>, <a class="link" href="../../reference/Protocol.html" title="Protocol requirements">protocol
+ type requirements</a>.
+ </p>
+</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 &#169; 2003-2017 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="protocols.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostreams.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/networking/protocols.html b/doc/html/boost_asio/overview/networking/protocols.html
new file mode 100644
index 0000000000..ed4e474219
--- /dev/null
+++ b/doc/html/boost_asio/overview/networking/protocols.html
@@ -0,0 +1,208 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>TCP, UDP and ICMP</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../networking.html" title="Networking">
+<link rel="prev" href="../networking.html" title="Networking">
+<link rel="next" href="other_protocols.html" title="Support for Other Protocols">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../networking.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="other_protocols.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.networking.protocols"></a><a class="link" href="protocols.html" title="TCP, UDP and ICMP">TCP, UDP
+ and ICMP</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio provides off-the-shelf support for the internet protocols TCP,
+ UDP and ICMP.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.protocols.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.protocols.tcp_clients"></a></span><a class="link" href="protocols.html#boost_asio.overview.networking.protocols.tcp_clients">TCP Clients</a>
+ </h6>
+<p>
+ Hostname resolution is performed using a resolver, where host and service
+ names are looked up and converted into one or more endpoints:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="string">"www.boost.org"</span><span class="special">,</span> <span class="string">"http"</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">;</span> <span class="comment">// End marker.</span>
+<span class="keyword">while</span> <span class="special">(</span><span class="identifier">iter</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">iter</span><span class="special">++;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endpoint</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The list of endpoints obtained above could contain both IPv4 and IPv6 endpoints,
+ so a program should try each of them until it finds one that works. This
+ keeps the client program independent of a specific IP version.
+ </p>
+<p>
+ To simplify the development of protocol-independent programs, TCP clients
+ may establish connections using the free functions <a class="link" href="../../reference/connect.html" title="connect">connect()</a>
+ and <a class="link" href="../../reference/async_connect.html" title="async_connect">async_connect()</a>.
+ These operations try each endpoint in a list until the socket is successfully
+ connected. For example, a single call:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">));</span>
+</pre>
+<p>
+ will synchronously try all endpoints until one is successfully connected.
+ Similarly, an asynchronous connect may be performed by writing:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">iter</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">client</span><span class="special">::</span><span class="identifier">handle_connect</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">handle_connect</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Start read or write operations.</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Handle error.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ When a specific endpoint is available, a socket can be created and connected:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ Data may be read from or written to a connected TCP socket using the <a class="link" href="../../reference/basic_stream_socket/receive.html" title="basic_stream_socket::receive">receive()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive">async_receive()</a>,
+ <a class="link" href="../../reference/basic_stream_socket/send.html" title="basic_stream_socket::send">send()</a>
+ or <a class="link" href="../../reference/basic_stream_socket/async_send.html" title="basic_stream_socket::async_send">async_send()</a>
+ member functions. However, as these could result in <a class="link" href="../core/streams.html" title="Streams, Short Reads and Short Writes">short
+ writes or reads</a>, an application will typically use the following
+ operations instead: <a class="link" href="../../reference/read.html" title="read">read()</a>,
+ <a class="link" href="../../reference/async_read.html" title="async_read">async_read()</a>, <a class="link" href="../../reference/write.html" title="write">write()</a> and <a class="link" href="../../reference/async_write.html" title="async_write">async_write()</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.protocols.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.protocols.tcp_servers"></a></span><a class="link" href="protocols.html#boost_asio.overview.networking.protocols.tcp_servers">TCP Servers</a>
+ </h6>
+<p>
+ A program uses an acceptor to accept incoming TCP connections:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">my_endpoint</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
+</pre>
+<p>
+ After a socket has been successfully accepted, it may be read from or written
+ to as illustrated for TCP clients above.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.protocols.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.protocols.udp"></a></span><a class="link" href="protocols.html#boost_asio.overview.networking.protocols.udp">UDP</a>
+ </h6>
+<p>
+ UDP hostname resolution is also performed using a resolver:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="string">"localhost"</span><span class="special">,</span> <span class="string">"daytime"</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+<span class="special">...</span>
+</pre>
+<p>
+ A UDP socket is typically bound to a local endpoint. The following code
+ will create an IP version 4 UDP socket and bind it to the "any"
+ address on port <code class="computeroutput"><span class="number">12345</span></code>:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ Data may be read from or written to an unconnected UDP socket using the
+ <a class="link" href="../../reference/basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from">receive_from()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from">async_receive_from()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to">send_to()</a>
+ or <a class="link" href="../../reference/basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to">async_send_to()</a>
+ member functions. For a connected UDP socket, use the <a class="link" href="../../reference/basic_datagram_socket/receive.html" title="basic_datagram_socket::receive">receive()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive">async_receive()</a>,
+ <a class="link" href="../../reference/basic_datagram_socket/send.html" title="basic_datagram_socket::send">send()</a>
+ or <a class="link" href="../../reference/basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send">async_send()</a>
+ member functions.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.protocols.h3"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.protocols.icmp"></a></span><a class="link" href="protocols.html#boost_asio.overview.networking.protocols.icmp">ICMP</a>
+ </h6>
+<p>
+ As with TCP and UDP, ICMP hostname resolution is performed using a resolver:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="string">"localhost"</span><span class="special">,</span> <span class="string">""</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iter</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+<span class="special">...</span>
+</pre>
+<p>
+ An ICMP socket may be bound to a local endpoint. The following code will
+ create an IP version 6 ICMP socket and bind it to the "any" address:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">v6</span><span class="special">(),</span> <span class="number">0</span><span class="special">);</span>
+<span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ The port number is not used for ICMP.
+ </p>
+<p>
+ Data may be read from or written to an unconnected ICMP socket using the
+ <a class="link" href="../../reference/basic_raw_socket/receive_from.html" title="basic_raw_socket::receive_from">receive_from()</a>,
+ <a class="link" href="../../reference/basic_raw_socket/async_receive_from.html" title="basic_raw_socket::async_receive_from">async_receive_from()</a>,
+ <a class="link" href="../../reference/basic_raw_socket/send_to.html" title="basic_raw_socket::send_to">send_to()</a>
+ or <a class="link" href="../../reference/basic_raw_socket/async_send_to.html" title="basic_raw_socket::async_send_to">async_send_to()</a>
+ member functions.
+ </p>
+<h6>
+<a name="boost_asio.overview.networking.protocols.h4"></a>
+ <span class="phrase"><a name="boost_asio.overview.networking.protocols.see_also"></a></span><a class="link" href="protocols.html#boost_asio.overview.networking.protocols.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/ip__tcp.html" title="ip::tcp">ip::tcp</a>, <a class="link" href="../../reference/ip__udp.html" title="ip::udp">ip::udp</a>,
+ <a class="link" href="../../reference/ip__icmp.html" title="ip::icmp">ip::icmp</a>, <a class="link" href="../../tutorial/tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">daytime
+ protocol tutorials</a>, <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.icmp">ICMP
+ ping example</a>.
+ </p>
+</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 &#169; 2003-2017 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="../networking.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../networking.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="other_protocols.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/posix.html b/doc/html/boost_asio/overview/posix.html
new file mode 100644
index 0000000000..d890649fd3
--- /dev/null
+++ b/doc/html/boost_asio/overview/posix.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>POSIX-Specific Functionality</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="signals.html" title="Signal Handling">
+<link rel="next" href="posix/local.html" title="UNIX Domain Sockets">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signals.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix/local.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.posix"></a><a class="link" href="posix.html" title="POSIX-Specific Functionality">POSIX-Specific Functionality</a>
+</h3></div></div></div>
+<p>
+ <a class="link" href="posix/local.html" title="UNIX Domain Sockets">UNIX Domain Sockets</a>
+ </p>
+<p>
+ <a class="link" href="posix/stream_descriptor.html" title="Stream-Oriented File Descriptors">Stream-Oriented
+ File Descriptors</a>
+ </p>
+<p>
+ <a class="link" href="posix/fork.html" title="Fork">Fork</a>
+ </p>
+</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 &#169; 2003-2017 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="signals.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix/local.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/posix/fork.html b/doc/html/boost_asio/overview/posix/fork.html
new file mode 100644
index 0000000000..edbc6ec29d
--- /dev/null
+++ b/doc/html/boost_asio/overview/posix/fork.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Fork</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix.html" title="POSIX-Specific Functionality">
+<link rel="prev" href="stream_descriptor.html" title="Stream-Oriented File Descriptors">
+<link rel="next" href="../windows.html" title="Windows-Specific Functionality">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream_descriptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.posix.fork"></a><a class="link" href="fork.html" title="Fork">Fork</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio supports programs that utilise the <code class="computeroutput"><span class="identifier">fork</span><span class="special">()</span></code> system call. Provided the program calls
+ <code class="computeroutput"><span class="identifier">io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">()</span></code>
+ at the appropriate times, Boost.Asio will recreate any internal file descriptors
+ (such as the "self-pipe trick" descriptor used for waking up
+ a reactor). The notification is usually performed as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">io_service_</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_prepare</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">fork</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">io_service_</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_child</span><span class="special">);</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="identifier">io_service_</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_parent</span><span class="special">);</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ User-defined services can also be made fork-aware by overriding the <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">::</span><span class="identifier">fork_service</span><span class="special">()</span></code>
+ virtual function.
+ </p>
+<p>
+ Note that any file descriptors accessible via Boost.Asio's public API (e.g.
+ the descriptors underlying <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">&lt;&gt;</span></code>, <code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span></code>,
+ etc.) are not altered during a fork. It is the program's responsibility
+ to manage these as required.
+ </p>
+<h6>
+<a name="boost_asio.overview.posix.fork.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.posix.fork.see_also"></a></span><a class="link" href="fork.html#boost_asio.overview.posix.fork.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/io_service/notify_fork.html" title="io_service::notify_fork">io_service::notify_fork()</a>,
+ <a class="link" href="../../reference/io_service/fork_event.html" title="io_service::fork_event">io_service::fork_event</a>,
+ <a class="link" href="../../reference/io_service__service/fork_service.html" title="io_service::service::fork_service">io_service::service::fork_service()</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.fork">Fork examples</a>.
+ </p>
+</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 &#169; 2003-2017 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="stream_descriptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/posix/local.html b/doc/html/boost_asio/overview/posix/local.html
new file mode 100644
index 0000000000..d64b15a077
--- /dev/null
+++ b/doc/html/boost_asio/overview/posix/local.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>UNIX Domain Sockets</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix.html" title="POSIX-Specific Functionality">
+<link rel="prev" href="../posix.html" title="POSIX-Specific Functionality">
+<link rel="next" href="stream_descriptor.html" title="Stream-Oriented File Descriptors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../posix.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.posix.local"></a><a class="link" href="local.html" title="UNIX Domain Sockets">UNIX Domain Sockets</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio provides basic support UNIX domain sockets (also known as local
+ sockets). The simplest use involves creating a pair of connected sockets.
+ The following code:
+ </p>
+<pre class="programlisting"><span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket1</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket2</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">connect_pair</span><span class="special">(</span><span class="identifier">socket1</span><span class="special">,</span> <span class="identifier">socket2</span><span class="special">);</span>
+</pre>
+<p>
+ will create a pair of stream-oriented sockets. To do the same for datagram-oriented
+ sockets, use:
+ </p>
+<pre class="programlisting"><span class="identifier">local</span><span class="special">::</span><span class="identifier">datagram_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket1</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">datagram_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket2</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">connect_pair</span><span class="special">(</span><span class="identifier">socket1</span><span class="special">,</span> <span class="identifier">socket2</span><span class="special">);</span>
+</pre>
+<p>
+ A UNIX domain socket server may be created by binding an acceptor to an
+ endpoint, in much the same way as one does for a TCP server:
+ </p>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">unlink</span><span class="special">(</span><span class="string">"/tmp/foobar"</span><span class="special">);</span> <span class="comment">// Remove previous binding.</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">ep</span><span class="special">(</span><span class="string">"/tmp/foobar"</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">ep</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
+</pre>
+<p>
+ A client that connects to this server might look like:
+ </p>
+<pre class="programlisting"><span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">ep</span><span class="special">(</span><span class="string">"/tmp/foobar"</span><span class="special">);</span>
+<span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">ep</span><span class="special">);</span>
+</pre>
+<p>
+ Transmission of file descriptors or credentials across UNIX domain sockets
+ is not directly supported within Boost.Asio, but may be achieved by accessing
+ the socket's underlying descriptor using the <a class="link" href="../../reference/basic_socket/native_handle.html" title="basic_socket::native_handle">native_handle()</a>
+ member function.
+ </p>
+<h6>
+<a name="boost_asio.overview.posix.local.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.posix.local.see_also"></a></span><a class="link" href="local.html#boost_asio.overview.posix.local.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/local__connect_pair.html" title="local::connect_pair">local::connect_pair</a>,
+ <a class="link" href="../../reference/local__datagram_protocol.html" title="local::datagram_protocol">local::datagram_protocol</a>,
+ <a class="link" href="../../reference/local__datagram_protocol/endpoint.html" title="local::datagram_protocol::endpoint">local::datagram_protocol::endpoint</a>,
+ <a class="link" href="../../reference/local__datagram_protocol/socket.html" title="local::datagram_protocol::socket">local::datagram_protocol::socket</a>,
+ <a class="link" href="../../reference/local__stream_protocol.html" title="local::stream_protocol">local::stream_protocol</a>,
+ <a class="link" href="../../reference/local__stream_protocol/acceptor.html" title="local::stream_protocol::acceptor">local::stream_protocol::acceptor</a>,
+ <a class="link" href="../../reference/local__stream_protocol/endpoint.html" title="local::stream_protocol::endpoint">local::stream_protocol::endpoint</a>,
+ <a class="link" href="../../reference/local__stream_protocol/iostream.html" title="local::stream_protocol::iostream">local::stream_protocol::iostream</a>,
+ <a class="link" href="../../reference/local__stream_protocol/socket.html" title="local::stream_protocol::socket">local::stream_protocol::socket</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.unix_domain_sockets">UNIX
+ domain sockets examples</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.posix.local.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.posix.local.notes"></a></span><a class="link" href="local.html#boost_asio.overview.posix.local.notes">Notes</a>
+ </h6>
+<p>
+ UNIX domain sockets are only available at compile time if supported by
+ the target operating system. A program may test for the macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_LOCAL_SOCKETS</span></code> to determine
+ whether they are supported.
+ </p>
+</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 &#169; 2003-2017 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="../posix.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/posix/stream_descriptor.html b/doc/html/boost_asio/overview/posix/stream_descriptor.html
new file mode 100644
index 0000000000..079c6cbd1a
--- /dev/null
+++ b/doc/html/boost_asio/overview/posix/stream_descriptor.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stream-Oriented File Descriptors</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix.html" title="POSIX-Specific Functionality">
+<link rel="prev" href="local.html" title="UNIX Domain Sockets">
+<link rel="next" href="fork.html" title="Fork">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fork.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.posix.stream_descriptor"></a><a class="link" href="stream_descriptor.html" title="Stream-Oriented File Descriptors">Stream-Oriented
+ File Descriptors</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio includes classes added to permit synchronous and asynchronous
+ read and write operations to be performed on POSIX file descriptors, such
+ as pipes, standard input and output, and various devices.
+ </p>
+<p>
+ These classes also provide limited support for regular files. This support
+ assumes that the underlying read and write operations provided by the operating
+ system never fail with <code class="computeroutput"><span class="identifier">EAGAIN</span></code>
+ or <code class="computeroutput"><span class="identifier">EWOULDBLOCK</span></code>. (This assumption
+ normally holds for buffered file I/O.) Synchronous and asynchronous read
+ and write operations on file descriptors will succeed but the I/O will
+ always be performed immediately. Wait operations, and operations involving
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span></code>, are not portably supported.
+ </p>
+<p>
+ For example, to perform read and write operations on standard input and
+ output, the following objects may be created:
+ </p>
+<pre class="programlisting"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">in</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="special">::</span><span class="identifier">dup</span><span class="special">(</span><span class="identifier">STDIN_FILENO</span><span class="special">));</span>
+<span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">out</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="special">::</span><span class="identifier">dup</span><span class="special">(</span><span class="identifier">STDOUT_FILENO</span><span class="special">));</span>
+</pre>
+<p>
+ These are then used as synchronous or asynchronous read and write streams.
+ This means the objects can be used with any of the <a class="link" href="../../reference/read.html" title="read">read()</a>,
+ <a class="link" href="../../reference/async_read.html" title="async_read">async_read()</a>, <a class="link" href="../../reference/write.html" title="write">write()</a>, <a class="link" href="../../reference/async_write.html" title="async_write">async_write()</a>,
+ <a class="link" href="../../reference/read_until.html" title="read_until">read_until()</a> or
+ <a class="link" href="../../reference/async_read_until.html" title="async_read_until">async_read_until()</a>
+ free functions.
+ </p>
+<h6>
+<a name="boost_asio.overview.posix.stream_descriptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.posix.stream_descriptor.see_also"></a></span><a class="link" href="stream_descriptor.html#boost_asio.overview.posix.stream_descriptor.see_also">See Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a>,
+ <a class="link" href="../../reference/posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">posix::basic_stream_descriptor</a>,
+ <a class="link" href="../../reference/posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">posix::stream_descriptor_service</a>,
+ <a class="link" href="../../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.chat">Chat example (C++03)</a>,
+ <a class="link" href="../../examples/cpp11_examples.html#boost_asio.examples.cpp11_examples.chat">Chat example (C++11)</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.posix.stream_descriptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.posix.stream_descriptor.notes"></a></span><a class="link" href="stream_descriptor.html#boost_asio.overview.posix.stream_descriptor.notes">Notes</a>
+ </h6>
+<p>
+ POSIX stream descriptors are only available at compile time if supported
+ by the target operating system. A program may test for the macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR</span></code>
+ to determine whether they are supported.
+ </p>
+</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 &#169; 2003-2017 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="local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fork.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/rationale.html b/doc/html/boost_asio/overview/rationale.html
new file mode 100644
index 0000000000..410c63e049
--- /dev/null
+++ b/doc/html/boost_asio/overview/rationale.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="../overview.html" title="Overview">
+<link rel="next" href="core.html" title="Core Concepts and Functionality">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="core.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
+</h3></div></div></div>
+<p>
+ Most programs interact with the outside world in some way, whether it be
+ via a file, a network, a serial cable, or the console. Sometimes, as is the
+ case with networking, individual I/O operations can take a long time to complete.
+ This poses particular challenges to application development.
+ </p>
+<p>
+ Boost.Asio provides the tools to manage these long running operations, without
+ requiring programs to use concurrency models based on threads and explicit
+ locking.
+ </p>
+<p>
+ The Boost.Asio library is intended for programmers using C++ for systems
+ programming, where access to operating system functionality such as networking
+ is often required. In particular, Boost.Asio addresses the following goals:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <span class="bold"><strong>Portability.</strong></span> The library should support
+ a range of commonly used operating systems, and provide consistent behaviour
+ across these operating systems.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Scalability.</strong></span> The library should facilitate
+ the development of network applications that scale to thousands of concurrent
+ connections. The library implementation for each operating system should
+ use the mechanism that best enables this scalability.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Efficiency.</strong></span> The library should support
+ techniques such as scatter-gather I/O, and allow programs to minimise
+ data copying.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Model concepts from established APIs, such as BSD
+ sockets.</strong></span> The BSD socket API is widely implemented and understood,
+ and is covered in much literature. Other programming languages often
+ use a similar interface for networking APIs. As far as is reasonable,
+ Boost.Asio should leverage existing practice.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Ease of use.</strong></span> The library should provide
+ a lower entry barrier for new users by taking a toolkit, rather than
+ framework, approach. That is, it should try to minimise the up-front
+ investment in time to just learning a few basic rules and guidelines.
+ After that, a library user should only need to understand the specific
+ functions that are being used.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Basis for further abstraction.</strong></span> The library
+ should permit the development of other libraries that provide higher
+ levels of abstraction. For example, implementations of commonly used
+ protocols such as HTTP.
+ </li>
+</ul></div>
+<p>
+ Although Boost.Asio started life focused primarily on networking, its concepts
+ of asynchronous I/O have been extended to include other operating system
+ resources such as serial ports, file descriptors, and so on.
+ </p>
+</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 &#169; 2003-2017 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="../overview.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="core.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/serial_ports.html b/doc/html/boost_asio/overview/serial_ports.html
new file mode 100644
index 0000000000..ada9efbc66
--- /dev/null
+++ b/doc/html/boost_asio/overview/serial_ports.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Serial Ports</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="timers.html" title="Timers">
+<link rel="next" href="signals.html" title="Signal Handling">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="timers.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signals.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.serial_ports"></a><a class="link" href="serial_ports.html" title="Serial Ports">Serial Ports</a>
+</h3></div></div></div>
+<p>
+ Boost.Asio includes classes for creating and manipulating serial ports in
+ a portable manner. For example, a serial port may be opened using:
+ </p>
+<pre class="programlisting"><span class="identifier">serial_port</span> <span class="identifier">port</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">name</span><span class="special">);</span>
+</pre>
+<p>
+ where name is something like <code class="computeroutput"><span class="string">"COM1"</span></code>
+ on Windows, and <code class="computeroutput"><span class="string">"/dev/ttyS0"</span></code>
+ on POSIX platforms.
+ </p>
+<p>
+ Once opened, the serial port may be used as a <a class="link" href="core/streams.html" title="Streams, Short Reads and Short Writes">stream</a>.
+ This means the objects can be used with any of the <a class="link" href="../reference/read.html" title="read">read()</a>,
+ <a class="link" href="../reference/async_read.html" title="async_read">async_read()</a>, <a class="link" href="../reference/write.html" title="write">write()</a>, <a class="link" href="../reference/async_write.html" title="async_write">async_write()</a>,
+ <a class="link" href="../reference/read_until.html" title="read_until">read_until()</a> or <a class="link" href="../reference/async_read_until.html" title="async_read_until">async_read_until()</a>
+ free functions.
+ </p>
+<p>
+ The serial port implementation also includes option classes for configuring
+ the port's baud rate, flow control type, parity, stop bits and character
+ size.
+ </p>
+<h5>
+<a name="boost_asio.overview.serial_ports.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.serial_ports.see_also"></a></span><a class="link" href="serial_ports.html#boost_asio.overview.serial_ports.see_also">See
+ Also</a>
+ </h5>
+<p>
+ <a class="link" href="../reference/serial_port.html" title="serial_port">serial_port</a>, <a class="link" href="../reference/serial_port_base.html" title="serial_port_base">serial_port_base</a>,
+ <a class="link" href="../reference/basic_serial_port.html" title="basic_serial_port">basic_serial_port</a>,
+ <a class="link" href="../reference/serial_port_service.html" title="serial_port_service">serial_port_service</a>,
+ <a class="link" href="../reference/serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">serial_port_base::baud_rate</a>,
+ <a class="link" href="../reference/serial_port_base__flow_control.html" title="serial_port_base::flow_control">serial_port_base::flow_control</a>,
+ <a class="link" href="../reference/serial_port_base__parity.html" title="serial_port_base::parity">serial_port_base::parity</a>,
+ <a class="link" href="../reference/serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">serial_port_base::stop_bits</a>,
+ <a class="link" href="../reference/serial_port_base__character_size.html" title="serial_port_base::character_size">serial_port_base::character_size</a>.
+ </p>
+<h5>
+<a name="boost_asio.overview.serial_ports.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.serial_ports.notes"></a></span><a class="link" href="serial_ports.html#boost_asio.overview.serial_ports.notes">Notes</a>
+ </h5>
+<p>
+ Serial ports are available on all POSIX platforms. For Windows, serial ports
+ are only available at compile time when the I/O completion port backend is
+ used (which is the default). A program may test for the macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_SERIAL_PORT</span></code> to determine
+ whether they are supported.
+ </p>
+</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 &#169; 2003-2017 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="timers.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signals.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/signals.html b/doc/html/boost_asio/overview/signals.html
new file mode 100644
index 0000000000..d5524922cd
--- /dev/null
+++ b/doc/html/boost_asio/overview/signals.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Signal Handling</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="serial_ports.html" title="Serial Ports">
+<link rel="next" href="posix.html" title="POSIX-Specific Functionality">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_ports.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.signals"></a><a class="link" href="signals.html" title="Signal Handling">Signal Handling</a>
+</h3></div></div></div>
+<p>
+ Boost.Asio supports signal handling using a class called <a class="link" href="../reference/signal_set.html" title="signal_set">signal_set</a>.
+ Programs may add one or more signals to the set, and then perform an <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>
+ operation. The specified handler will be called when one of the signals occurs.
+ The same signal number may be registered with multiple <a class="link" href="../reference/signal_set.html" title="signal_set">signal_set</a>
+ objects, however the signal number must be used only with Boost.Asio.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// A signal occurred.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a signal set registered for process termination.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">SIGINT</span><span class="special">,</span> <span class="identifier">SIGTERM</span><span class="special">);</span>
+
+<span class="comment">// Start an asynchronous wait for one of the signals to occur.</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ Signal handling also works on Windows, as the Microsoft Visual C++ runtime
+ library maps console events like Ctrl+C to the equivalent signal.
+ </p>
+<h5>
+<a name="boost_asio.overview.signals.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.signals.see_also"></a></span><a class="link" href="signals.html#boost_asio.overview.signals.see_also">See
+ Also</a>
+ </h5>
+<p>
+ <a class="link" href="../reference/signal_set.html" title="signal_set">signal_set</a>, <a class="link" href="../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server">HTTP server example
+ (C++03)</a>, <a class="link" href="../examples/cpp11_examples.html#boost_asio.examples.cpp11_examples.http_server">HTTP
+ server example (C++11)</a>.
+ </p>
+</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 &#169; 2003-2017 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="serial_ports.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/ssl.html b/doc/html/boost_asio/overview/ssl.html
new file mode 100644
index 0000000000..1216e49c09
--- /dev/null
+++ b/doc/html/boost_asio/overview/ssl.html
@@ -0,0 +1,192 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>SSL</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="windows/object_handle.html" title="Object HANDLEs">
+<link rel="next" href="cpp2011.html" title="C++ 2011 Support">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows/object_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp2011.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.ssl"></a><a class="link" href="ssl.html" title="SSL">SSL</a>
+</h3></div></div></div>
+<p>
+ Boost.Asio contains classes and class templates for basic SSL support. These
+ classes allow encrypted communication to be layered on top of an existing
+ stream, such as a TCP socket.
+ </p>
+<p>
+ Before creating an encrypted stream, an application must construct an SSL
+ context object. This object is used to set SSL options such as verification
+ mode, certificate files, and so on. As an illustration, client-side initialisation
+ may look something like:
+ </p>
+<pre class="programlisting"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span> <span class="identifier">ctx</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">sslv23</span><span class="special">);</span>
+<span class="identifier">ctx</span><span class="special">.</span><span class="identifier">set_verify_mode</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span><span class="special">);</span>
+<span class="identifier">ctx</span><span class="special">.</span><span class="identifier">load_verify_file</span><span class="special">(</span><span class="string">"ca.pem"</span><span class="special">);</span>
+</pre>
+<p>
+ To use SSL with a TCP socket, one may write:
+ </p>
+<pre class="programlisting"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">ssl_sock</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+</pre>
+<p>
+ To perform socket-specific operations, such as establishing an outbound connection
+ or accepting an incoming one, the underlying socket must first be obtained
+ using the <code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span></code> template's <a class="link" href="../reference/ssl__stream/lowest_layer.html" title="ssl::stream::lowest_layer"><code class="computeroutput"><span class="identifier">lowest_layer</span><span class="special">()</span></code></a>
+ member function:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">lowest_layer_type</span><span class="special">&amp;</span> <span class="identifier">sock</span> <span class="special">=</span> <span class="identifier">ssl_sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">();</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">my_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ In some use cases the underlying stream object will need to have a longer
+ lifetime than the SSL stream, in which case the template parameter should
+ be a reference to the stream type:
+ </p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">);</span>
+<span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;&gt;</span> <span class="identifier">ssl_sock</span><span class="special">(</span><span class="identifier">sock</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+</pre>
+<p>
+ SSL handshaking must be performed prior to transmitting or receiving data
+ over an encrypted connection. This is accomplished using the <code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span></code>
+ template's <a class="link" href="../reference/ssl__stream/handshake.html" title="ssl::stream::handshake">handshake()</a>
+ or <a class="link" href="../reference/ssl__stream/async_handshake.html" title="ssl::stream::async_handshake">async_handshake()</a>
+ member functions.
+ </p>
+<p>
+ Once connected, SSL stream objects are used as synchronous or asynchronous
+ read and write streams. This means the objects can be used with any of the
+ <a class="link" href="../reference/read.html" title="read">read()</a>, <a class="link" href="../reference/async_read.html" title="async_read">async_read()</a>,
+ <a class="link" href="../reference/write.html" title="write">write()</a>, <a class="link" href="../reference/async_write.html" title="async_write">async_write()</a>,
+ <a class="link" href="../reference/read_until.html" title="read_until">read_until()</a> or <a class="link" href="../reference/async_read_until.html" title="async_read_until">async_read_until()</a>
+ free functions.
+ </p>
+<h5>
+<a name="boost_asio.overview.ssl.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.ssl.certificate_verification"></a></span><a class="link" href="ssl.html#boost_asio.overview.ssl.certificate_verification">Certificate
+ Verification</a>
+ </h5>
+<p>
+ Boost.Asio provides various methods for configuring the way SSL certificates
+ are verified:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="../reference/ssl__context/set_default_verify_paths.html" title="ssl::context::set_default_verify_paths">ssl::context::set_default_verify_paths()</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../reference/ssl__context/set_verify_mode.html" title="ssl::context::set_verify_mode">ssl::context::set_verify_mode()</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../reference/ssl__context/set_verify_callback.html" title="ssl::context::set_verify_callback">ssl::context::set_verify_callback()</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../reference/ssl__context/load_verify_file.html" title="ssl::context::load_verify_file">ssl::context::load_verify_file()</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../reference/ssl__stream/set_verify_mode.html" title="ssl::stream::set_verify_mode">ssl::stream::set_verify_mode()</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../reference/ssl__stream/set_verify_callback.html" title="ssl::stream::set_verify_callback">ssl::stream::set_verify_callback()</a>
+ </li>
+</ul></div>
+<p>
+ To simplify use cases where certificates are verified according to the rules
+ in RFC 2818 (certificate verification for HTTPS), Boost.Asio provides a reusable
+ verification callback as a function object:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <a class="link" href="../reference/ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a>
+ </li></ul></div>
+<p>
+ The following example shows verification of a remote host's certificate according
+ to the rules used by HTTPS:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+<span class="keyword">namespace</span> <span class="identifier">ssl</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">ssl_socket</span><span class="special">;</span>
+
+<span class="comment">// Create a context that uses the default paths for</span>
+<span class="comment">// finding CA certificates.</span>
+<span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span> <span class="identifier">ctx</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">sslv23</span><span class="special">);</span>
+<span class="identifier">ctx</span><span class="special">.</span><span class="identifier">set_default_verify_paths</span><span class="special">();</span>
+
+<span class="comment">// Open a socket and connect it to the remote host.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+<span class="identifier">ssl_socket</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="string">"host.name"</span><span class="special">,</span> <span class="string">"https"</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">(),</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">));</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">().</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+
+<span class="comment">// Perform SSL handshake and verify the remote host's</span>
+<span class="comment">// certificate.</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">set_verify_mode</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span><span class="special">);</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">set_verify_callback</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">rfc2818_verification</span><span class="special">(</span><span class="string">"host.name"</span><span class="special">));</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">handshake</span><span class="special">(</span><span class="identifier">ssl_socket</span><span class="special">::</span><span class="identifier">client</span><span class="special">);</span>
+
+<span class="comment">// ... read and write as normal ...</span>
+</pre>
+<h5>
+<a name="boost_asio.overview.ssl.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.ssl.ssl_and_threads"></a></span><a class="link" href="ssl.html#boost_asio.overview.ssl.ssl_and_threads">SSL
+ and Threads</a>
+ </h5>
+<p>
+ SSL stream objects perform no locking of their own. Therefore, it is essential
+ that all asynchronous SSL operations are performed in an implicit or explicit
+ <a class="link" href="core/strands.html" title="Strands: Use Threads Without Explicit Locking">strand</a>. Note that
+ this means that no synchronisation is required (and so no locking overhead
+ is incurred) in single threaded programs.
+ </p>
+<h5>
+<a name="boost_asio.overview.ssl.h2"></a>
+ <span class="phrase"><a name="boost_asio.overview.ssl.see_also"></a></span><a class="link" href="ssl.html#boost_asio.overview.ssl.see_also">See
+ Also</a>
+ </h5>
+<p>
+ <a class="link" href="../reference/ssl__context.html" title="ssl::context">ssl::context</a>, <a class="link" href="../reference/ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a>,
+ <a class="link" href="../reference/ssl__stream.html" title="ssl::stream">ssl::stream</a>, <a class="link" href="../examples/cpp03_examples.html#boost_asio.examples.cpp03_examples.ssl">SSL example</a>.
+ </p>
+<h5>
+<a name="boost_asio.overview.ssl.h3"></a>
+ <span class="phrase"><a name="boost_asio.overview.ssl.notes"></a></span><a class="link" href="ssl.html#boost_asio.overview.ssl.notes">Notes</a>
+ </h5>
+<p>
+ <a href="http://www.openssl.org" target="_top">OpenSSL</a> is required to make use
+ of Boost.Asio's SSL support. When an application needs to use OpenSSL functionality
+ that is not wrapped by Boost.Asio, the underlying OpenSSL types may be obtained
+ by calling <a class="link" href="../reference/ssl__context/native_handle.html" title="ssl::context::native_handle"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">native_handle</span><span class="special">()</span></code></a> or <a class="link" href="../reference/ssl__stream/native_handle.html" title="ssl::stream::native_handle"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">::</span><span class="identifier">native_handle</span><span class="special">()</span></code></a>.
+ </p>
+</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 &#169; 2003-2017 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="windows/object_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp2011.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/timers.html b/doc/html/boost_asio/overview/timers.html
new file mode 100644
index 0000000000..4c821a609b
--- /dev/null
+++ b/doc/html/boost_asio/overview/timers.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timers</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="networking/bsd_sockets.html" title="The BSD Socket API and Boost.Asio">
+<link rel="next" href="serial_ports.html" title="Serial Ports">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="networking/bsd_sockets.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_ports.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.timers"></a><a class="link" href="timers.html" title="Timers">Timers</a>
+</h3></div></div></div>
+<p>
+ Long running I/O operations will often have a deadline by which they must
+ have completed. These deadlines may be expressed as absolute times, but are
+ often calculated relative to the current time.
+ </p>
+<p>
+ As a simple example, to perform a synchronous wait operation on a timer using
+ a relative time one may write:
+ </p>
+<pre class="programlisting"><span class="identifier">io_service</span> <span class="identifier">i</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+<span class="identifier">t</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+<span class="identifier">t</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ More commonly, a program will perform an asynchronous wait operation on a
+ timer:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">)</span> <span class="special">{</span> <span class="special">...</span> <span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">io_service</span> <span class="identifier">i</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+<span class="identifier">t</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">milliseconds</span><span class="special">(</span><span class="number">400</span><span class="special">));</span>
+<span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">i</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+</pre>
+<p>
+ The deadline associated with a timer may also be obtained as a relative time:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span> <span class="identifier">time_until_expiry</span>
+ <span class="special">=</span> <span class="identifier">t</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">();</span>
+</pre>
+<p>
+ or as an absolute time to allow composition of timers:
+ </p>
+<pre class="programlisting"><span class="identifier">deadline_timer</span> <span class="identifier">t2</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+<span class="identifier">t2</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">t</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">30</span><span class="special">));</span>
+</pre>
+<h5>
+<a name="boost_asio.overview.timers.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.timers.see_also"></a></span><a class="link" href="timers.html#boost_asio.overview.timers.see_also">See
+ Also</a>
+ </h5>
+<p>
+ <a class="link" href="../reference/basic_deadline_timer.html" title="basic_deadline_timer">basic_deadline_timer</a>,
+ <a class="link" href="../reference/deadline_timer.html" title="deadline_timer">deadline_timer</a>,
+ <a class="link" href="../reference/deadline_timer_service.html" title="deadline_timer_service">deadline_timer_service</a>,
+ <a class="link" href="../tutorial/tuttimer1.html" title="Timer.1 - Using a timer synchronously">timer tutorials</a>.
+ </p>
+</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 &#169; 2003-2017 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="networking/bsd_sockets.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_ports.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/windows.html b/doc/html/boost_asio/overview/windows.html
new file mode 100644
index 0000000000..8ac44dfbcb
--- /dev/null
+++ b/doc/html/boost_asio/overview/windows.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Windows-Specific Functionality</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overview.html" title="Overview">
+<link rel="prev" href="posix/fork.html" title="Fork">
+<link rel="next" href="windows/stream_handle.html" title="Stream-Oriented HANDLEs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix/fork.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows/stream_handle.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.overview.windows"></a><a class="link" href="windows.html" title="Windows-Specific Functionality">Windows-Specific Functionality</a>
+</h3></div></div></div>
+<p>
+ <a class="link" href="windows/stream_handle.html" title="Stream-Oriented HANDLEs">Stream-Oriented
+ HANDLEs</a>
+ </p>
+<p>
+ <a class="link" href="windows/random_access_handle.html" title="Random-Access HANDLEs">Random-Access
+ HANDLEs</a>
+ </p>
+<p>
+ <a class="link" href="windows/object_handle.html" title="Object HANDLEs">Object HANDLEs</a>
+ </p>
+</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 &#169; 2003-2017 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="posix/fork.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows/stream_handle.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/windows/object_handle.html b/doc/html/boost_asio/overview/windows/object_handle.html
new file mode 100644
index 0000000000..1d2a5a4b67
--- /dev/null
+++ b/doc/html/boost_asio/overview/windows/object_handle.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Object HANDLEs</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows.html" title="Windows-Specific Functionality">
+<link rel="prev" href="random_access_handle.html" title="Random-Access HANDLEs">
+<link rel="next" href="../ssl.html" title="SSL">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="random_access_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.windows.object_handle"></a><a class="link" href="object_handle.html" title="Object HANDLEs">Object HANDLEs</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio provides Windows-specific classes that permit asynchronous wait
+ operations to be performed on HANDLEs to kernel objects of the following
+ types:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Change notification
+ </li>
+<li class="listitem">
+ Console input
+ </li>
+<li class="listitem">
+ Event
+ </li>
+<li class="listitem">
+ Memory resource notification
+ </li>
+<li class="listitem">
+ Process
+ </li>
+<li class="listitem">
+ Semaphore
+ </li>
+<li class="listitem">
+ Thread
+ </li>
+<li class="listitem">
+ Waitable timer
+ </li>
+</ul></div>
+<p>
+ For example, to perform asynchronous operations on an event, the following
+ object may be created:
+ </p>
+<pre class="programlisting"><span class="identifier">HANDLE</span> <span class="identifier">handle</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">CreateEvent</span><span class="special">(...);</span>
+<span class="identifier">windows</span><span class="special">::</span><span class="identifier">object_handle</span> <span class="identifier">file</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>
+ member functions may then be used to wait until the kernel object is signalled.
+ </p>
+<h6>
+<a name="boost_asio.overview.windows.object_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.windows.object_handle.see_also"></a></span><a class="link" href="object_handle.html#boost_asio.overview.windows.object_handle.see_also">See Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/windows__object_handle.html" title="windows::object_handle">windows::object_handle</a>,
+ <a class="link" href="../../reference/windows__basic_object_handle.html" title="windows::basic_object_handle">windows::basic_object_handle</a>,
+ <a class="link" href="../../reference/windows__object_handle_service.html" title="windows::object_handle_service">windows::object_handle_service</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.windows.object_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.windows.object_handle.notes"></a></span><a class="link" href="object_handle.html#boost_asio.overview.windows.object_handle.notes">Notes</a>
+ </h6>
+<p>
+ Windows object <code class="computeroutput"><span class="identifier">HANDLE</span></code>s
+ are only available at compile time when targeting Windows. Programs may
+ test for the macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_WINDOWS_OBJECT_HANDLE</span></code>
+ to determine whether they are supported.
+ </p>
+</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 &#169; 2003-2017 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="random_access_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/windows/random_access_handle.html b/doc/html/boost_asio/overview/windows/random_access_handle.html
new file mode 100644
index 0000000000..ea53fa6ff7
--- /dev/null
+++ b/doc/html/boost_asio/overview/windows/random_access_handle.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Random-Access HANDLEs</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows.html" title="Windows-Specific Functionality">
+<link rel="prev" href="stream_handle.html" title="Stream-Oriented HANDLEs">
+<link rel="next" href="object_handle.html" title="Object HANDLEs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="object_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.windows.random_access_handle"></a><a class="link" href="random_access_handle.html" title="Random-Access HANDLEs">Random-Access
+ HANDLEs</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio provides Windows-specific classes that permit asynchronous read
+ and write operations to be performed on HANDLEs that refer to regular files.
+ </p>
+<p>
+ For example, to perform asynchronous operations on a file the following
+ object may be created:
+ </p>
+<pre class="programlisting"><span class="identifier">HANDLE</span> <span class="identifier">handle</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">CreateFile</span><span class="special">(...);</span>
+<span class="identifier">windows</span><span class="special">::</span><span class="identifier">random_access_handle</span> <span class="identifier">file</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+<p>
+ Data may be read from or written to the handle using one of the <code class="computeroutput"><span class="identifier">read_some_at</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">async_read_some_at</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">write_some_at</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">async_write_some_at</span><span class="special">()</span></code> member functions. However, like the equivalent
+ functions (<code class="computeroutput"><span class="identifier">read_some</span><span class="special">()</span></code>,
+ etc.) on streams, these functions are only required to transfer one or
+ more bytes in a single operation. Therefore free functions called <a class="link" href="../../reference/read_at.html" title="read_at">read_at()</a>, <a class="link" href="../../reference/async_read_at.html" title="async_read_at">async_read_at()</a>,
+ <a class="link" href="../../reference/write_at.html" title="write_at">write_at()</a> and <a class="link" href="../../reference/async_write_at.html" title="async_write_at">async_write_at()</a> have
+ been created to repeatedly call the corresponding <code class="literal"><span class="bold"><strong>*</strong></span>_some_at()</code>
+ function until all data has been transferred.
+ </p>
+<h6>
+<a name="boost_asio.overview.windows.random_access_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.windows.random_access_handle.see_also"></a></span><a class="link" href="random_access_handle.html#boost_asio.overview.windows.random_access_handle.see_also">See
+ Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/windows__random_access_handle.html" title="windows::random_access_handle">windows::random_access_handle</a>,
+ <a class="link" href="../../reference/windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">windows::basic_random_access_handle</a>,
+ <a class="link" href="../../reference/windows__random_access_handle_service.html" title="windows::random_access_handle_service">windows::random_access_handle_service</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.windows.random_access_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.windows.random_access_handle.notes"></a></span><a class="link" href="random_access_handle.html#boost_asio.overview.windows.random_access_handle.notes">Notes</a>
+ </h6>
+<p>
+ Windows random-access <code class="computeroutput"><span class="identifier">HANDLE</span></code>s
+ are only available at compile time when targeting Windows and only when
+ the I/O completion port backend is used (which is the default). A program
+ may test for the macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_WINDOWS_RANDOM_ACCESS_HANDLE</span></code>
+ to determine whether they are supported.
+ </p>
+</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 &#169; 2003-2017 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="stream_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="object_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/overview/windows/stream_handle.html b/doc/html/boost_asio/overview/windows/stream_handle.html
new file mode 100644
index 0000000000..cec89b26cc
--- /dev/null
+++ b/doc/html/boost_asio/overview/windows/stream_handle.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stream-Oriented HANDLEs</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows.html" title="Windows-Specific Functionality">
+<link rel="prev" href="../windows.html" title="Windows-Specific Functionality">
+<link rel="next" href="random_access_handle.html" title="Random-Access HANDLEs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.overview.windows.stream_handle"></a><a class="link" href="stream_handle.html" title="Stream-Oriented HANDLEs">Stream-Oriented
+ HANDLEs</a>
+</h4></div></div></div>
+<p>
+ Boost.Asio contains classes to allow asynchronous read and write operations
+ to be performed on Windows <code class="computeroutput"><span class="identifier">HANDLE</span></code>s,
+ such as named pipes.
+ </p>
+<p>
+ For example, to perform asynchronous operations on a named pipe, the following
+ object may be created:
+ </p>
+<pre class="programlisting"><span class="identifier">HANDLE</span> <span class="identifier">handle</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">CreateFile</span><span class="special">(...);</span>
+<span class="identifier">windows</span><span class="special">::</span><span class="identifier">stream_handle</span> <span class="identifier">pipe</span><span class="special">(</span><span class="identifier">my_io_service</span><span class="special">,</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+<p>
+ These are then used as synchronous or asynchronous read and write streams.
+ This means the objects can be used with any of the <a class="link" href="../../reference/read.html" title="read">read()</a>,
+ <a class="link" href="../../reference/async_read.html" title="async_read">async_read()</a>, <a class="link" href="../../reference/write.html" title="write">write()</a>, <a class="link" href="../../reference/async_write.html" title="async_write">async_write()</a>,
+ <a class="link" href="../../reference/read_until.html" title="read_until">read_until()</a> or
+ <a class="link" href="../../reference/async_read_until.html" title="async_read_until">async_read_until()</a>
+ free functions.
+ </p>
+<p>
+ The kernel object referred to by the <code class="computeroutput"><span class="identifier">HANDLE</span></code>
+ must support use with I/O completion ports (which means that named pipes
+ are supported, but anonymous pipes and console streams are not).
+ </p>
+<h6>
+<a name="boost_asio.overview.windows.stream_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.overview.windows.stream_handle.see_also"></a></span><a class="link" href="stream_handle.html#boost_asio.overview.windows.stream_handle.see_also">See Also</a>
+ </h6>
+<p>
+ <a class="link" href="../../reference/windows__stream_handle.html" title="windows::stream_handle">windows::stream_handle</a>,
+ <a class="link" href="../../reference/windows__basic_stream_handle.html" title="windows::basic_stream_handle">windows::basic_stream_handle</a>,
+ <a class="link" href="../../reference/windows__stream_handle_service.html" title="windows::stream_handle_service">windows::stream_handle_service</a>.
+ </p>
+<h6>
+<a name="boost_asio.overview.windows.stream_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.overview.windows.stream_handle.notes"></a></span><a class="link" href="stream_handle.html#boost_asio.overview.windows.stream_handle.notes">Notes</a>
+ </h6>
+<p>
+ Windows stream <code class="computeroutput"><span class="identifier">HANDLE</span></code>s
+ are only available at compile time when targeting Windows and only when
+ the I/O completion port backend is used (which is the default). A program
+ may test for the macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HAS_WINDOWS_STREAM_HANDLE</span></code>
+ to determine whether they are supported.
+ </p>
+</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 &#169; 2003-2017 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="../windows.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/proactor.png b/doc/html/boost_asio/proactor.png
new file mode 100644
index 0000000000..a0653b0106
--- /dev/null
+++ b/doc/html/boost_asio/proactor.png
Binary files differ
diff --git a/doc/html/boost_asio/reference.html b/doc/html/boost_asio/reference.html
index 2c683f6c28..4d6c96d46a 100644
--- a/doc/html/boost_asio/reference.html
+++ b/doc/html/boost_asio/reference.html
@@ -1,14 +1,13 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Reference</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
-<link rel="prev" href="examples.html" title="Examples">
-<link rel="next" href="history.html" title="Revision History">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
+<link rel="prev" href="examples/cpp11_examples.html" title="C++11 Examples">
+<link rel="next" href="reference/asynchronous_operations.html" title="Requirements on asynchronous operations">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -21,300 +20,12 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="examples.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples/cpp11_examples.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/asynchronous_operations.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_asio.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asynchronous_operations">Requirements
- on asynchronous operations</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.AcceptHandler">Accept handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice">Buffer-oriented
- asynchronous random-access read device requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice">Buffer-oriented
- asynchronous random-access write device requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.AsyncReadStream">Buffer-oriented
- asynchronous read stream requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.AsyncWriteStream">Buffer-oriented
- asynchronous write stream requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.BufferedHandshakeHandler">Buffered
- handshake handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.CompletionHandler">Completion handler
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ComposedConnectHandler">Composed
- connect handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ConnectHandler">Connect handler
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ConstBufferSequence">Constant buffer
- sequence requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ConvertibleToConstBuffer">Convertible
- to const buffer requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ConvertibleToMutableBuffer">Convertible
- to mutable buffer requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.DatagramSocketService">Datagram
- socket service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.DescriptorService">Descriptor service
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.Endpoint">Endpoint requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.GettableSerialPortOption">Gettable
- serial port option requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.GettableSocketOption">Gettable socket
- option requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.Handler">Handlers</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.HandleService">Handle service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.HandshakeHandler">SSL handshake
- handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.InternetProtocol">Internet protocol
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.IoControlCommand">I/O control command
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.IoObjectService">I/O object service
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.MutableBufferSequence">Mutable buffer
- sequence requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ObjectHandleService">Object handle
- service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.Protocol">Protocol requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.RandomAccessHandleService">Random
- access handle service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.RawSocketService">Raw socket service
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ReadHandler">Read handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ResolveHandler">Resolve handler
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ResolverService">Resolver service
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SeqPacketSocketService">Sequenced
- packet socket service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SerialPortService">Serial port service
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.Service">Service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SettableSerialPortOption">Settable
- serial port option requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SettableSocketOption">Settable socket
- option requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ShutdownHandler">SSL shutdown handler
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SignalHandler">Signal handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SignalSetService">Signal set service
- requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SocketAcceptorService">Socket acceptor
- service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SocketService">Socket service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.StreamDescriptorService">Stream
- descriptor service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.StreamHandleService">Stream handle
- service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.StreamSocketService">Stream socket
- service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice">Buffer-oriented
- synchronous random-access read device requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice">Buffer-oriented
- synchronous random-access write device requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SyncReadStream">Buffer-oriented
- synchronous read stream requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.SyncWriteStream">Buffer-oriented
- synchronous write stream requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.TimeTraits">Time traits requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.TimerService">Timer service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.WaitableTimerService">Waitable timer
- service requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.WaitHandler">Wait handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.WaitTraits">Wait traits requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.WriteHandler">Write handler requirements</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.add_service">add_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asio_handler_allocate">asio_handler_allocate</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asio_handler_deallocate">asio_handler_deallocate</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asio_handler_invoke">asio_handler_invoke</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asio_handler_is_continuation">asio_handler_is_continuation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_connect">async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read">async_read</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_at">async_read_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_until">async_read_until</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_result">async_result</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write">async_write</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write_at">async_write_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket">basic_datagram_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer">basic_deadline_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object">basic_io_object</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket">basic_raw_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket">basic_seq_packet_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port">basic_serial_port</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set">basic_signal_set</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket">basic_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor">basic_socket_acceptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream">basic_socket_iostream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf">basic_socket_streambuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket">basic_stream_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf">basic_streambuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer">basic_waitable_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_yield_context">basic_yield_context</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer">buffer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_cast">buffer_cast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy">buffer_copy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_size">buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream">buffered_read_stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream">buffered_stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream">buffered_write_stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_begin">buffers_begin</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_end">buffers_end</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator">buffers_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect">connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer">const_buffer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1">const_buffers_1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.coroutine">coroutine</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service">datagram_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer">deadline_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service">deadline_timer_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__addrinfo_category">error::addrinfo_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__addrinfo_errors">error::addrinfo_errors</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__basic_errors">error::basic_errors</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__get_addrinfo_category">error::get_addrinfo_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__get_misc_category">error::get_misc_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__get_netdb_category">error::get_netdb_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__get_ssl_category">error::get_ssl_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__get_system_category">error::get_system_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__make_error_code">error::make_error_code</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__misc_category">error::misc_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__misc_errors">error::misc_errors</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__netdb_category">error::netdb_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__netdb_errors">error::netdb_errors</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__ssl_category">error::ssl_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__ssl_errors">error::ssl_errors</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__system_category">error::system_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint">generic::basic_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol">generic::datagram_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol">generic::raw_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol">generic::seq_packet_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol">generic::stream_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.handler_type">handler_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.has_service">has_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.high_resolution_timer">high_resolution_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.invalid_service_owner">invalid_service_owner</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service">io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__id">io_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__service">io_service::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand">io_service::strand</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__work">io_service::work</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address">ip::address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4">ip::address_v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6">ip::address_v6</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint">ip::basic_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver">ip::basic_resolver</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry">ip::basic_resolver_entry</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator">ip::basic_resolver_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query">ip::basic_resolver_query</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__host_name">ip::host_name</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp">ip::icmp</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__multicast__enable_loopback">ip::multicast::enable_loopback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__multicast__hops">ip::multicast::hops</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__multicast__join_group">ip::multicast::join_group</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__multicast__leave_group">ip::multicast::leave_group</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__multicast__outbound_interface">ip::multicast::outbound_interface</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base">ip::resolver_query_base</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service">ip::resolver_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp">ip::tcp</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp">ip::udp</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__unicast__hops">ip::unicast::hops</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__v6_only">ip::v6_only</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_match_condition">is_match_condition</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_read_buffered">is_read_buffered</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_write_buffered">is_write_buffered</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint">local::basic_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__connect_pair">local::connect_pair</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__datagram_protocol">local::datagram_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol">local::stream_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer">mutable_buffer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1">mutable_buffers_1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.null_buffers">null_buffers</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.placeholders__bytes_transferred">placeholders::bytes_transferred</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.placeholders__error">placeholders::error</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.placeholders__iterator">placeholders::iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.placeholders__signal_number">placeholders::signal_number</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor">posix::basic_descriptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor">posix::basic_stream_descriptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__descriptor_base">posix::descriptor_base</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor">posix::stream_descriptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service">posix::stream_descriptor_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service">raw_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read">read</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at">read_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until">read_until</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service">seq_packet_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port">serial_port</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base">serial_port_base</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__baud_rate">serial_port_base::baud_rate</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__character_size">serial_port_base::character_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__flow_control">serial_port_base::flow_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__parity">serial_port_base::parity</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__stop_bits">serial_port_base::stop_bits</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service">serial_port_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.service_already_exists">service_already_exists</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set">signal_set</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service">signal_set_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service">socket_acceptor_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base">socket_base</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.spawn">spawn</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context">ssl::context</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base">ssl::context_base</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__error__get_stream_category">ssl::error::get_stream_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__error__make_error_code">ssl::error::make_error_code</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__error__stream_category">ssl::error::stream_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__error__stream_errors">ssl::error::stream_errors</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__rfc2818_verification">ssl::rfc2818_verification</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream">ssl::stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream__impl_struct">ssl::stream::impl_struct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream_base">ssl::stream_base</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_client_once">ssl::verify_client_once</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_context">ssl::verify_context</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_fail_if_no_peer_cert">ssl::verify_fail_if_no_peer_cert</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_mode">ssl::verify_mode</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_none">ssl::verify_none</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_peer">ssl::verify_peer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.steady_timer">steady_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.strand">strand</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service">stream_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.streambuf">streambuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.system_timer">system_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_">time_traits&lt;
- boost::posix_time::ptime &gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.transfer_all">transfer_all</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.transfer_at_least">transfer_at_least</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.transfer_exactly">transfer_exactly</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future">use_future</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t">use_future_t</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_service">use_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.wait_traits">wait_traits</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service">waitable_timer_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle">windows::basic_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle">windows::basic_object_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle">windows::basic_random_access_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle">windows::basic_stream_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle">windows::object_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service">windows::object_handle_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr">windows::overlapped_ptr</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle">windows::random_access_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service">windows::random_access_handle_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle">windows::stream_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service">windows::stream_handle_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write">write</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at">write_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.yield_context">yield_context</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_">boost::system::is_error_code_enum&lt;
- boost::asio::error::addrinfo_errors &gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_">boost::system::is_error_code_enum&lt;
- boost::asio::error::basic_errors &gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_">boost::system::is_error_code_enum&lt;
- boost::asio::error::misc_errors &gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_">boost::system::is_error_code_enum&lt;
- boost::asio::error::netdb_errors &gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_">boost::system::is_error_code_enum&lt;
- boost::asio::error::ssl_errors &gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_">boost::system::is_error_code_enum&lt;
- boost::asio::ssl::error::stream_errors &gt;</a></span></dt>
-</dl></div>
<div class="informaltable">
<table class="table">
<colgroup>
@@ -325,128 +36,128 @@
</colgroup>
<thead><tr><th colspan="4" valign="center">
<h3>
-<a name="idp141582320"></a>Core</h3>
+<a name="idp81979184"></a>Core</h3>
</th></tr></thead>
<tbody><tr>
<td valign="top">
<h4>
-<a name="idp141584368"></a>Classes</h4>
+<a name="idp81981232"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.const_buffer" title="const_buffer">const_buffer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1">const_buffers_1</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.coroutine" title="coroutine">coroutine</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.invalid_service_owner" title="invalid_service_owner">invalid_service_owner</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.io_service__id" title="io_service::id">io_service::id</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.io_service__service" title="io_service::service">io_service::service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand">io_service::strand</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.io_service__work" title="io_service::work">io_service::work</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer">mutable_buffer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1">mutable_buffers_1</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.null_buffers" title="null_buffers">null_buffers</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.service_already_exists" title="service_already_exists">service_already_exists</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.streambuf" title="streambuf">streambuf</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.use_future_t" title="use_future_t">use_future_t</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.yield_context" title="yield_context">yield_context</a></td></tr>
-</table>
- <h4>
-<a name="idp141602336"></a>Class Templates</h4>
+<tr><td><a class="link" href="reference/const_buffer.html" title="const_buffer">const_buffer</a></td></tr>
+<tr><td><a class="link" href="reference/const_buffers_1.html" title="const_buffers_1">const_buffers_1</a></td></tr>
+<tr><td><a class="link" href="reference/coroutine.html" title="coroutine">coroutine</a></td></tr>
+<tr><td><a class="link" href="reference/invalid_service_owner.html" title="invalid_service_owner">invalid_service_owner</a></td></tr>
+<tr><td><a class="link" href="reference/io_service.html" title="io_service">io_service</a></td></tr>
+<tr><td><a class="link" href="reference/io_service__id.html" title="io_service::id">io_service::id</a></td></tr>
+<tr><td><a class="link" href="reference/io_service__service.html" title="io_service::service">io_service::service</a></td></tr>
+<tr><td><a class="link" href="reference/io_service__strand.html" title="io_service::strand">io_service::strand</a></td></tr>
+<tr><td><a class="link" href="reference/io_service__work.html" title="io_service::work">io_service::work</a></td></tr>
+<tr><td><a class="link" href="reference/mutable_buffer.html" title="mutable_buffer">mutable_buffer</a></td></tr>
+<tr><td><a class="link" href="reference/mutable_buffers_1.html" title="mutable_buffers_1">mutable_buffers_1</a></td></tr>
+<tr><td><a class="link" href="reference/null_buffers.html" title="null_buffers">null_buffers</a></td></tr>
+<tr><td><a class="link" href="reference/service_already_exists.html" title="service_already_exists">service_already_exists</a></td></tr>
+<tr><td><a class="link" href="reference/streambuf.html" title="streambuf">streambuf</a></td></tr>
+<tr><td><a class="link" href="reference/use_future_t.html" title="use_future_t">use_future_t</a></td></tr>
+<tr><td><a class="link" href="reference/yield_context.html" title="yield_context">yield_context</a></td></tr>
+</table>
+ <h4>
+<a name="idp81999216"></a>Class Templates</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object">basic_io_object</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf">basic_streambuf</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_yield_context" title="basic_yield_context">basic_yield_context</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream" title="buffered_read_stream">buffered_read_stream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffered_stream" title="buffered_stream">buffered_stream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream" title="buffered_write_stream">buffered_write_stream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffers_iterator" title="buffers_iterator">buffers_iterator</a></td></tr>
+<tr><td><a class="link" href="reference/basic_io_object.html" title="basic_io_object">basic_io_object</a></td></tr>
+<tr><td><a class="link" href="reference/basic_streambuf.html" title="basic_streambuf">basic_streambuf</a></td></tr>
+<tr><td><a class="link" href="reference/basic_yield_context.html" title="basic_yield_context">basic_yield_context</a></td></tr>
+<tr><td><a class="link" href="reference/buffered_read_stream.html" title="buffered_read_stream">buffered_read_stream</a></td></tr>
+<tr><td><a class="link" href="reference/buffered_stream.html" title="buffered_stream">buffered_stream</a></td></tr>
+<tr><td><a class="link" href="reference/buffered_write_stream.html" title="buffered_write_stream">buffered_write_stream</a></td></tr>
+<tr><td><a class="link" href="reference/buffers_iterator.html" title="buffers_iterator">buffers_iterator</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141612112"></a>Free Functions</h4>
+<a name="idp82009120"></a>Free Functions</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.add_service" title="add_service">add_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.asio_handler_allocate" title="asio_handler_allocate">asio_handler_allocate</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.asio_handler_deallocate" title="asio_handler_deallocate">asio_handler_deallocate</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke" title="asio_handler_invoke">asio_handler_invoke</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.asio_handler_is_continuation" title="asio_handler_is_continuation">asio_handler_is_continuation</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read">async_read</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_read_at" title="async_read_at">async_read_at</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_read_until" title="async_read_until">async_read_until</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write">async_write</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_write_at" title="async_write_at">async_write_at</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer">buffer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast">buffer_cast</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffer_copy" title="buffer_copy">buffer_copy</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size">buffer_size</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffers_begin" title="buffers_begin">buffers_begin</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.buffers_end" title="buffers_end">buffers_end</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.has_service" title="has_service">has_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.read" title="read">read</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.read_at" title="read_at">read_at</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.read_until" title="read_until">read_until</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.spawn" title="spawn">spawn</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.transfer_all" title="transfer_all">transfer_all</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.transfer_at_least" title="transfer_at_least">transfer_at_least</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.transfer_exactly" title="transfer_exactly">transfer_exactly</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.use_service" title="use_service">use_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.write" title="write">write</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.write_at" title="write_at">write_at</a></td></tr>
+<tr><td><a class="link" href="reference/add_service.html" title="add_service">add_service</a></td></tr>
+<tr><td><a class="link" href="reference/asio_handler_allocate.html" title="asio_handler_allocate">asio_handler_allocate</a></td></tr>
+<tr><td><a class="link" href="reference/asio_handler_deallocate.html" title="asio_handler_deallocate">asio_handler_deallocate</a></td></tr>
+<tr><td><a class="link" href="reference/asio_handler_invoke.html" title="asio_handler_invoke">asio_handler_invoke</a></td></tr>
+<tr><td><a class="link" href="reference/asio_handler_is_continuation.html" title="asio_handler_is_continuation">asio_handler_is_continuation</a></td></tr>
+<tr><td><a class="link" href="reference/async_read.html" title="async_read">async_read</a></td></tr>
+<tr><td><a class="link" href="reference/async_read_at.html" title="async_read_at">async_read_at</a></td></tr>
+<tr><td><a class="link" href="reference/async_read_until.html" title="async_read_until">async_read_until</a></td></tr>
+<tr><td><a class="link" href="reference/async_write.html" title="async_write">async_write</a></td></tr>
+<tr><td><a class="link" href="reference/async_write_at.html" title="async_write_at">async_write_at</a></td></tr>
+<tr><td><a class="link" href="reference/buffer.html" title="buffer">buffer</a></td></tr>
+<tr><td><a class="link" href="reference/buffer_cast.html" title="buffer_cast">buffer_cast</a></td></tr>
+<tr><td><a class="link" href="reference/buffer_copy.html" title="buffer_copy">buffer_copy</a></td></tr>
+<tr><td><a class="link" href="reference/buffer_size.html" title="buffer_size">buffer_size</a></td></tr>
+<tr><td><a class="link" href="reference/buffers_begin.html" title="buffers_begin">buffers_begin</a></td></tr>
+<tr><td><a class="link" href="reference/buffers_end.html" title="buffers_end">buffers_end</a></td></tr>
+<tr><td><a class="link" href="reference/has_service.html" title="has_service">has_service</a></td></tr>
+<tr><td><a class="link" href="reference/read.html" title="read">read</a></td></tr>
+<tr><td><a class="link" href="reference/read_at.html" title="read_at">read_at</a></td></tr>
+<tr><td><a class="link" href="reference/read_until.html" title="read_until">read_until</a></td></tr>
+<tr><td><a class="link" href="reference/spawn.html" title="spawn">spawn</a></td></tr>
+<tr><td><a class="link" href="reference/transfer_all.html" title="transfer_all">transfer_all</a></td></tr>
+<tr><td><a class="link" href="reference/transfer_at_least.html" title="transfer_at_least">transfer_at_least</a></td></tr>
+<tr><td><a class="link" href="reference/transfer_exactly.html" title="transfer_exactly">transfer_exactly</a></td></tr>
+<tr><td><a class="link" href="reference/use_service.html" title="use_service">use_service</a></td></tr>
+<tr><td><a class="link" href="reference/write.html" title="write">write</a></td></tr>
+<tr><td><a class="link" href="reference/write_at.html" title="write_at">write_at</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141641952"></a>Special Values</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.use_future" title="use_future">use_future</a></td></tr></table>
+<a name="idp82038944"></a>Special Values</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/use_future.html" title="use_future">use_future</a></td></tr></table>
<h4>
-<a name="idp141644496"></a>Boost.Bind Placeholders</h4>
+<a name="idp82041488"></a>Boost.Bind Placeholders</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.placeholders__bytes_transferred" title="placeholders::bytes_transferred">placeholders::bytes_transferred</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.placeholders__error" title="placeholders::error">placeholders::error</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.placeholders__iterator" title="placeholders::iterator">placeholders::iterator</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.placeholders__signal_number" title="placeholders::signal_number">placeholders::signal_number</a></td></tr>
+<tr><td><a class="link" href="reference/placeholders__bytes_transferred.html" title="placeholders::bytes_transferred">placeholders::bytes_transferred</a></td></tr>
+<tr><td><a class="link" href="reference/placeholders__error.html" title="placeholders::error">placeholders::error</a></td></tr>
+<tr><td><a class="link" href="reference/placeholders__iterator.html" title="placeholders::iterator">placeholders::iterator</a></td></tr>
+<tr><td><a class="link" href="reference/placeholders__signal_number.html" title="placeholders::signal_number">placeholders::signal_number</a></td></tr>
</table>
<h4>
-<a name="idp141650688"></a>Error Codes</h4>
+<a name="idp82047696"></a>Error Codes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.error__basic_errors" title="error::basic_errors">error::basic_errors</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.error__netdb_errors" title="error::netdb_errors">error::netdb_errors</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.error__addrinfo_errors" title="error::addrinfo_errors">error::addrinfo_errors</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.error__misc_errors" title="error::misc_errors">error::misc_errors</a></td></tr>
+<tr><td><a class="link" href="reference/error__basic_errors.html" title="error::basic_errors">error::basic_errors</a></td></tr>
+<tr><td><a class="link" href="reference/error__netdb_errors.html" title="error::netdb_errors">error::netdb_errors</a></td></tr>
+<tr><td><a class="link" href="reference/error__addrinfo_errors.html" title="error::addrinfo_errors">error::addrinfo_errors</a></td></tr>
+<tr><td><a class="link" href="reference/error__misc_errors.html" title="error::misc_errors">error::misc_errors</a></td></tr>
</table>
<h4>
-<a name="idp141656784"></a>Type Traits</h4>
+<a name="idp82053808"></a>Type Traits</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_result" title="async_result">async_result</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.handler_type" title="handler_type">handler_type</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.is_match_condition" title="is_match_condition">is_match_condition</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.is_read_buffered" title="is_read_buffered">is_read_buffered</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.is_write_buffered" title="is_write_buffered">is_write_buffered</a></td></tr>
+<tr><td><a class="link" href="reference/async_result.html" title="async_result">async_result</a></td></tr>
+<tr><td><a class="link" href="reference/handler_type.html" title="handler_type">handler_type</a></td></tr>
+<tr><td><a class="link" href="reference/is_match_condition.html" title="is_match_condition">is_match_condition</a></td></tr>
+<tr><td><a class="link" href="reference/is_read_buffered.html" title="is_read_buffered">is_read_buffered</a></td></tr>
+<tr><td><a class="link" href="reference/is_write_buffered.html" title="is_write_buffered">is_write_buffered</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141664368"></a>Type Requirements</h4>
+<a name="idp82061408"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">Asynchronous operations</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">CompletionHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ConvertibleToConstBuffer" title="Convertible to const buffer requirements">ConvertibleToConstBuffer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ConvertibleToMutableBuffer" title="Convertible to mutable buffer requirements">ConvertibleToMutableBuffer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a></td></tr>
+<tr><td><a class="link" href="reference/asynchronous_operations.html" title="Requirements on asynchronous operations">Asynchronous operations</a></td></tr>
+<tr><td><a class="link" href="reference/AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a></td></tr>
+<tr><td><a class="link" href="reference/AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a></td></tr>
+<tr><td><a class="link" href="reference/AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a></td></tr>
+<tr><td><a class="link" href="reference/AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a></td></tr>
+<tr><td><a class="link" href="reference/CompletionHandler.html" title="Completion handler requirements">CompletionHandler</a></td></tr>
+<tr><td><a class="link" href="reference/ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a></td></tr>
+<tr><td><a class="link" href="reference/ConvertibleToConstBuffer.html" title="Convertible to const buffer requirements">ConvertibleToConstBuffer</a></td></tr>
+<tr><td><a class="link" href="reference/ConvertibleToMutableBuffer.html" title="Convertible to mutable buffer requirements">ConvertibleToMutableBuffer</a></td></tr>
+<tr><td><a class="link" href="reference/Handler.html" title="Handlers">Handler</a></td></tr>
+<tr><td><a class="link" href="reference/IoObjectService.html" title="I/O object service requirements">IoObjectService</a></td></tr>
+<tr><td><a class="link" href="reference/MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a></td></tr>
+<tr><td><a class="link" href="reference/ReadHandler.html" title="Read handler requirements">ReadHandler</a></td></tr>
+<tr><td><a class="link" href="reference/Service.html" title="Service requirements">Service</a></td></tr>
+<tr><td><a class="link" href="reference/SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a></td></tr>
+<tr><td><a class="link" href="reference/SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a></td></tr>
+<tr><td><a class="link" href="reference/SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a></td></tr>
+<tr><td><a class="link" href="reference/SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a></td></tr>
+<tr><td><a class="link" href="reference/WriteHandler.html" title="Write handler requirements">WriteHandler</a></td></tr>
</table>
</td>
</tr></tbody>
@@ -460,136 +171,136 @@
</colgroup>
<thead><tr><th colspan="4" valign="center">
<h3>
-<a name="idp141691024"></a>Networking</h3>
+<a name="idp82087712"></a>Networking</h3>
</th></tr></thead>
<tbody><tr>
<td valign="top">
<h4>
-<a name="idp141693104"></a>Classes</h4>
+<a name="idp82089792"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol" title="generic::datagram_protocol">generic::datagram_protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint" title="generic::datagram_protocol::endpoint">generic::datagram_protocol::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket" title="generic::datagram_protocol::socket">generic::datagram_protocol::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol" title="generic::raw_protocol">generic::raw_protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint" title="generic::raw_protocol::endpoint">generic::raw_protocol::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket" title="generic::raw_protocol::socket">generic::raw_protocol::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol" title="generic::seq_packet_protocol">generic::seq_packet_protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint" title="generic::seq_packet_protocol::endpoint">generic::seq_packet_protocol::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket" title="generic::seq_packet_protocol::socket">generic::seq_packet_protocol::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol" title="generic::stream_protocol">generic::stream_protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint" title="generic::stream_protocol::endpoint">generic::stream_protocol::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream" title="generic::stream_protocol::iostream">generic::stream_protocol::iostream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket" title="generic::stream_protocol::socket">generic::stream_protocol::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__address" title="ip::address">ip::address</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__address_v4" title="ip::address_v4">ip::address_v4</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__address_v6" title="ip::address_v6">ip::address_v6</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__icmp" title="ip::icmp">ip::icmp</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint" title="ip::icmp::endpoint">ip::icmp::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver" title="ip::icmp::resolver">ip::icmp::resolver</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket" title="ip::icmp::socket">ip::icmp::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base" title="ip::resolver_query_base">ip::resolver_query_base</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp" title="ip::tcp">ip::tcp</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor" title="ip::tcp::acceptor">ip::tcp::acceptor</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint" title="ip::tcp::endpoint">ip::tcp::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream" title="ip::tcp::iostream">ip::tcp::iostream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver" title="ip::tcp::resolver">ip::tcp::resolver</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket" title="ip::tcp::socket">ip::tcp::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__udp" title="ip::udp">ip::udp</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint" title="ip::udp::endpoint">ip::udp::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver" title="ip::udp::resolver">ip::udp::resolver</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket" title="ip::udp::socket">ip::udp::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base" title="socket_base">socket_base</a></td></tr>
+<tr><td><a class="link" href="reference/generic__datagram_protocol.html" title="generic::datagram_protocol">generic::datagram_protocol</a></td></tr>
+<tr><td><a class="link" href="reference/generic__datagram_protocol/endpoint.html" title="generic::datagram_protocol::endpoint">generic::datagram_protocol::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/generic__datagram_protocol/socket.html" title="generic::datagram_protocol::socket">generic::datagram_protocol::socket</a></td></tr>
+<tr><td><a class="link" href="reference/generic__raw_protocol.html" title="generic::raw_protocol">generic::raw_protocol</a></td></tr>
+<tr><td><a class="link" href="reference/generic__raw_protocol/endpoint.html" title="generic::raw_protocol::endpoint">generic::raw_protocol::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/generic__raw_protocol/socket.html" title="generic::raw_protocol::socket">generic::raw_protocol::socket</a></td></tr>
+<tr><td><a class="link" href="reference/generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">generic::seq_packet_protocol</a></td></tr>
+<tr><td><a class="link" href="reference/generic__seq_packet_protocol/endpoint.html" title="generic::seq_packet_protocol::endpoint">generic::seq_packet_protocol::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/generic__seq_packet_protocol/socket.html" title="generic::seq_packet_protocol::socket">generic::seq_packet_protocol::socket</a></td></tr>
+<tr><td><a class="link" href="reference/generic__stream_protocol.html" title="generic::stream_protocol">generic::stream_protocol</a></td></tr>
+<tr><td><a class="link" href="reference/generic__stream_protocol/endpoint.html" title="generic::stream_protocol::endpoint">generic::stream_protocol::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/generic__stream_protocol/iostream.html" title="generic::stream_protocol::iostream">generic::stream_protocol::iostream</a></td></tr>
+<tr><td><a class="link" href="reference/generic__stream_protocol/socket.html" title="generic::stream_protocol::socket">generic::stream_protocol::socket</a></td></tr>
+<tr><td><a class="link" href="reference/ip__address.html" title="ip::address">ip::address</a></td></tr>
+<tr><td><a class="link" href="reference/ip__address_v4.html" title="ip::address_v4">ip::address_v4</a></td></tr>
+<tr><td><a class="link" href="reference/ip__address_v6.html" title="ip::address_v6">ip::address_v6</a></td></tr>
+<tr><td><a class="link" href="reference/ip__icmp.html" title="ip::icmp">ip::icmp</a></td></tr>
+<tr><td><a class="link" href="reference/ip__icmp/endpoint.html" title="ip::icmp::endpoint">ip::icmp::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/ip__icmp/resolver.html" title="ip::icmp::resolver">ip::icmp::resolver</a></td></tr>
+<tr><td><a class="link" href="reference/ip__icmp/socket.html" title="ip::icmp::socket">ip::icmp::socket</a></td></tr>
+<tr><td><a class="link" href="reference/ip__resolver_query_base.html" title="ip::resolver_query_base">ip::resolver_query_base</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp.html" title="ip::tcp">ip::tcp</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp/acceptor.html" title="ip::tcp::acceptor">ip::tcp::acceptor</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp/endpoint.html" title="ip::tcp::endpoint">ip::tcp::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp/iostream.html" title="ip::tcp::iostream">ip::tcp::iostream</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp/resolver.html" title="ip::tcp::resolver">ip::tcp::resolver</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp/socket.html" title="ip::tcp::socket">ip::tcp::socket</a></td></tr>
+<tr><td><a class="link" href="reference/ip__udp.html" title="ip::udp">ip::udp</a></td></tr>
+<tr><td><a class="link" href="reference/ip__udp/endpoint.html" title="ip::udp::endpoint">ip::udp::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/ip__udp/resolver.html" title="ip::udp::resolver">ip::udp::resolver</a></td></tr>
+<tr><td><a class="link" href="reference/ip__udp/socket.html" title="ip::udp::socket">ip::udp::socket</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base.html" title="socket_base">socket_base</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141729184"></a>Free Functions</h4>
+<a name="idp82125888"></a>Free Functions</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.async_connect" title="async_connect">async_connect</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.connect" title="connect">connect</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__host_name" title="ip::host_name">ip::host_name</a></td></tr>
+<tr><td><a class="link" href="reference/async_connect.html" title="async_connect">async_connect</a></td></tr>
+<tr><td><a class="link" href="reference/connect.html" title="connect">connect</a></td></tr>
+<tr><td><a class="link" href="reference/ip__host_name.html" title="ip::host_name">ip::host_name</a></td></tr>
</table>
<h4>
-<a name="idp141733648"></a>Class Templates</h4>
+<a name="idp82130352"></a>Class Templates</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket">basic_datagram_socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket">basic_raw_socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket">basic_seq_packet_socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket">basic_socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor">basic_socket_acceptor</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream" title="basic_socket_iostream">basic_socket_iostream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf" title="basic_socket_streambuf">basic_socket_streambuf</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket">basic_stream_socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint">generic::basic_endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint" title="ip::basic_endpoint">ip::basic_endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver">ip::basic_resolver</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry" title="ip::basic_resolver_entry">ip::basic_resolver_entry</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator" title="ip::basic_resolver_iterator">ip::basic_resolver_iterator</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query" title="ip::basic_resolver_query">ip::basic_resolver_query</a></td></tr>
-</table>
- <h4>
-<a name="idp141750000"></a>Services</h4>
+<tr><td><a class="link" href="reference/basic_datagram_socket.html" title="basic_datagram_socket">basic_datagram_socket</a></td></tr>
+<tr><td><a class="link" href="reference/basic_raw_socket.html" title="basic_raw_socket">basic_raw_socket</a></td></tr>
+<tr><td><a class="link" href="reference/basic_seq_packet_socket.html" title="basic_seq_packet_socket">basic_seq_packet_socket</a></td></tr>
+<tr><td><a class="link" href="reference/basic_socket.html" title="basic_socket">basic_socket</a></td></tr>
+<tr><td><a class="link" href="reference/basic_socket_acceptor.html" title="basic_socket_acceptor">basic_socket_acceptor</a></td></tr>
+<tr><td><a class="link" href="reference/basic_socket_iostream.html" title="basic_socket_iostream">basic_socket_iostream</a></td></tr>
+<tr><td><a class="link" href="reference/basic_socket_streambuf.html" title="basic_socket_streambuf">basic_socket_streambuf</a></td></tr>
+<tr><td><a class="link" href="reference/basic_stream_socket.html" title="basic_stream_socket">basic_stream_socket</a></td></tr>
+<tr><td><a class="link" href="reference/generic__basic_endpoint.html" title="generic::basic_endpoint">generic::basic_endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/ip__basic_endpoint.html" title="ip::basic_endpoint">ip::basic_endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/ip__basic_resolver.html" title="ip::basic_resolver">ip::basic_resolver</a></td></tr>
+<tr><td><a class="link" href="reference/ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">ip::basic_resolver_entry</a></td></tr>
+<tr><td><a class="link" href="reference/ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">ip::basic_resolver_iterator</a></td></tr>
+<tr><td><a class="link" href="reference/ip__basic_resolver_query.html" title="ip::basic_resolver_query">ip::basic_resolver_query</a></td></tr>
+</table>
+ <h4>
+<a name="idp82146816"></a>Services</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service" title="datagram_socket_service">datagram_socket_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service" title="ip::resolver_service">ip::resolver_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.raw_socket_service" title="raw_socket_service">raw_socket_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service" title="seq_packet_socket_service">seq_packet_socket_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service" title="socket_acceptor_service">socket_acceptor_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.stream_socket_service" title="stream_socket_service">stream_socket_service</a></td></tr>
+<tr><td><a class="link" href="reference/datagram_socket_service.html" title="datagram_socket_service">datagram_socket_service</a></td></tr>
+<tr><td><a class="link" href="reference/ip__resolver_service.html" title="ip::resolver_service">ip::resolver_service</a></td></tr>
+<tr><td><a class="link" href="reference/raw_socket_service.html" title="raw_socket_service">raw_socket_service</a></td></tr>
+<tr><td><a class="link" href="reference/seq_packet_socket_service.html" title="seq_packet_socket_service">seq_packet_socket_service</a></td></tr>
+<tr><td><a class="link" href="reference/socket_acceptor_service.html" title="socket_acceptor_service">socket_acceptor_service</a></td></tr>
+<tr><td><a class="link" href="reference/stream_socket_service.html" title="stream_socket_service">stream_socket_service</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141758784"></a>Socket Options</h4>
+<a name="idp82155952"></a>Socket Options</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__multicast__enable_loopback" title="ip::multicast::enable_loopback">ip::multicast::enable_loopback</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__multicast__hops" title="ip::multicast::hops">ip::multicast::hops</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__multicast__join_group" title="ip::multicast::join_group">ip::multicast::join_group</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__multicast__leave_group" title="ip::multicast::leave_group">ip::multicast::leave_group</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__multicast__outbound_interface" title="ip::multicast::outbound_interface">ip::multicast::outbound_interface</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__tcp.no_delay" title="ip::tcp::no_delay">ip::tcp::no_delay</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__unicast__hops" title="ip::unicast::hops">ip::unicast::hops</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ip__v6_only" title="ip::v6_only">ip::v6_only</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.broadcast" title="socket_base::broadcast">socket_base::broadcast</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.debug" title="socket_base::debug">socket_base::debug</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.do_not_route" title="socket_base::do_not_route">socket_base::do_not_route</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted" title="socket_base::enable_connection_aborted">socket_base::enable_connection_aborted</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.keep_alive" title="socket_base::keep_alive">socket_base::keep_alive</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.linger" title="socket_base::linger">socket_base::linger</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_buffer_size" title="socket_base::receive_buffer_size">socket_base::receive_buffer_size</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_low_watermark" title="socket_base::receive_low_watermark">socket_base::receive_low_watermark</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.reuse_address" title="socket_base::reuse_address">socket_base::reuse_address</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.send_buffer_size" title="socket_base::send_buffer_size">socket_base::send_buffer_size</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.send_low_watermark" title="socket_base::send_low_watermark">socket_base::send_low_watermark</a></td></tr>
+<tr><td><a class="link" href="reference/ip__multicast__enable_loopback.html" title="ip::multicast::enable_loopback">ip::multicast::enable_loopback</a></td></tr>
+<tr><td><a class="link" href="reference/ip__multicast__hops.html" title="ip::multicast::hops">ip::multicast::hops</a></td></tr>
+<tr><td><a class="link" href="reference/ip__multicast__join_group.html" title="ip::multicast::join_group">ip::multicast::join_group</a></td></tr>
+<tr><td><a class="link" href="reference/ip__multicast__leave_group.html" title="ip::multicast::leave_group">ip::multicast::leave_group</a></td></tr>
+<tr><td><a class="link" href="reference/ip__multicast__outbound_interface.html" title="ip::multicast::outbound_interface">ip::multicast::outbound_interface</a></td></tr>
+<tr><td><a class="link" href="reference/ip__tcp/no_delay.html" title="ip::tcp::no_delay">ip::tcp::no_delay</a></td></tr>
+<tr><td><a class="link" href="reference/ip__unicast__hops.html" title="ip::unicast::hops">ip::unicast::hops</a></td></tr>
+<tr><td><a class="link" href="reference/ip__v6_only.html" title="ip::v6_only">ip::v6_only</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/broadcast.html" title="socket_base::broadcast">socket_base::broadcast</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/debug.html" title="socket_base::debug">socket_base::debug</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/do_not_route.html" title="socket_base::do_not_route">socket_base::do_not_route</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/enable_connection_aborted.html" title="socket_base::enable_connection_aborted">socket_base::enable_connection_aborted</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/keep_alive.html" title="socket_base::keep_alive">socket_base::keep_alive</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/linger.html" title="socket_base::linger">socket_base::linger</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/receive_buffer_size.html" title="socket_base::receive_buffer_size">socket_base::receive_buffer_size</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/receive_low_watermark.html" title="socket_base::receive_low_watermark">socket_base::receive_low_watermark</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/reuse_address.html" title="socket_base::reuse_address">socket_base::reuse_address</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/send_buffer_size.html" title="socket_base::send_buffer_size">socket_base::send_buffer_size</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/send_low_watermark.html" title="socket_base::send_low_watermark">socket_base::send_low_watermark</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141782752"></a>I/O Control Commands</h4>
+<a name="idp82179872"></a>I/O Control Commands</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.bytes_readable" title="socket_base::bytes_readable">socket_base::bytes_readable</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.socket_base.non_blocking_io" title="socket_base::non_blocking_io">socket_base::non_blocking_io</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/bytes_readable.html" title="socket_base::bytes_readable">socket_base::bytes_readable</a></td></tr>
+<tr><td><a class="link" href="reference/socket_base/non_blocking_io.html" title="socket_base::non_blocking_io">socket_base::non_blocking_io</a></td></tr>
</table>
<h4>
-<a name="idp141786528"></a>Type Requirements</h4>
+<a name="idp82183760"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">AcceptHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">DatagramSocketService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.Endpoint" title="Endpoint requirements">Endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">RawSocketService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ResolverService" title="Resolver service requirements">ResolverService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">SeqPacketSocketService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">SocketAcceptorService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService</a></td></tr>
+<tr><td><a class="link" href="reference/AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a></td></tr>
+<tr><td><a class="link" href="reference/ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a></td></tr>
+<tr><td><a class="link" href="reference/ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a></td></tr>
+<tr><td><a class="link" href="reference/DatagramSocketService.html" title="Datagram socket service requirements">DatagramSocketService</a></td></tr>
+<tr><td><a class="link" href="reference/Endpoint.html" title="Endpoint requirements">Endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a></td></tr>
+<tr><td><a class="link" href="reference/InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a></td></tr>
+<tr><td><a class="link" href="reference/IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a></td></tr>
+<tr><td><a class="link" href="reference/Protocol.html" title="Protocol requirements">Protocol</a></td></tr>
+<tr><td><a class="link" href="reference/RawSocketService.html" title="Raw socket service requirements">RawSocketService</a></td></tr>
+<tr><td><a class="link" href="reference/ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a></td></tr>
+<tr><td><a class="link" href="reference/ResolverService.html" title="Resolver service requirements">ResolverService</a></td></tr>
+<tr><td><a class="link" href="reference/SeqPacketSocketService.html" title="Sequenced packet socket service requirements">SeqPacketSocketService</a></td></tr>
+<tr><td><a class="link" href="reference/SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a></td></tr>
+<tr><td><a class="link" href="reference/SocketAcceptorService.html" title="Socket acceptor service requirements">SocketAcceptorService</a></td></tr>
+<tr><td><a class="link" href="reference/SocketService.html" title="Socket service requirements">SocketService</a></td></tr>
+<tr><td><a class="link" href="reference/StreamSocketService.html" title="Stream socket service requirements">StreamSocketService</a></td></tr>
</table>
</td>
</tr></tbody>
@@ -604,121 +315,121 @@
<thead><tr>
<th valign="center">
<h3>
-<a name="idp141811040"></a>Timers</h3>
+<a name="idp82208480"></a>Timers</h3>
</th>
<th valign="center">
<h3>
-<a name="idp141812864"></a>SSL</h3>
+<a name="idp82210304"></a>SSL</h3>
</th>
<th valign="center">
<h3>
-<a name="idp141814656"></a>Serial Ports</h3>
+<a name="idp82212096"></a>Serial Ports</h3>
</th>
<th valign="center">
<h3>
-<a name="idp141816480"></a>Signal Handling</h3>
+<a name="idp82213920"></a>Signal Handling</h3>
</th>
</tr></thead>
<tbody><tr>
<td valign="top">
<h4>
-<a name="idp141818560"></a>Classes</h4>
+<a name="idp82216000"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.deadline_timer" title="deadline_timer">deadline_timer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer" title="high_resolution_timer">high_resolution_timer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.steady_timer" title="steady_timer">steady_timer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.system_timer" title="system_timer">system_timer</a></td></tr>
+<tr><td><a class="link" href="reference/deadline_timer.html" title="deadline_timer">deadline_timer</a></td></tr>
+<tr><td><a class="link" href="reference/high_resolution_timer.html" title="high_resolution_timer">high_resolution_timer</a></td></tr>
+<tr><td><a class="link" href="reference/steady_timer.html" title="steady_timer">steady_timer</a></td></tr>
+<tr><td><a class="link" href="reference/system_timer.html" title="system_timer">system_timer</a></td></tr>
</table>
<h4>
-<a name="idp141824064"></a>Class Templates</h4>
+<a name="idp82221504"></a>Class Templates</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer" title="basic_deadline_timer">basic_deadline_timer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer">basic_waitable_timer</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_" title="time_traits&lt; boost::posix_time::ptime &gt;">time_traits</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.wait_traits" title="wait_traits">wait_traits</a></td></tr>
+<tr><td><a class="link" href="reference/basic_deadline_timer.html" title="basic_deadline_timer">basic_deadline_timer</a></td></tr>
+<tr><td><a class="link" href="reference/basic_waitable_timer.html" title="basic_waitable_timer">basic_waitable_timer</a></td></tr>
+<tr><td><a class="link" href="reference/time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">time_traits</a></td></tr>
+<tr><td><a class="link" href="reference/wait_traits.html" title="wait_traits">wait_traits</a></td></tr>
</table>
<h4>
-<a name="idp141829872"></a>Services</h4>
+<a name="idp82227312"></a>Services</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service" title="deadline_timer_service">deadline_timer_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service" title="waitable_timer_service">waitable_timer_service</a></td></tr>
+<tr><td><a class="link" href="reference/deadline_timer_service.html" title="deadline_timer_service">deadline_timer_service</a></td></tr>
+<tr><td><a class="link" href="reference/waitable_timer_service.html" title="waitable_timer_service">waitable_timer_service</a></td></tr>
</table>
<h4>
-<a name="idp141833568"></a>Type Requirements</h4>
+<a name="idp82230944"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.TimerService" title="Timer service requirements">TimerService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.TimeTraits" title="Time traits requirements">TimeTraits</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.WaitableTimerService" title="Waitable timer service requirements">WaitableTimerService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.WaitTraits" title="Wait traits requirements">WaitTraits</a></td></tr>
+<tr><td><a class="link" href="reference/TimerService.html" title="Timer service requirements">TimerService</a></td></tr>
+<tr><td><a class="link" href="reference/TimeTraits.html" title="Time traits requirements">TimeTraits</a></td></tr>
+<tr><td><a class="link" href="reference/WaitableTimerService.html" title="Waitable timer service requirements">WaitableTimerService</a></td></tr>
+<tr><td><a class="link" href="reference/WaitHandler.html" title="Wait handler requirements">WaitHandler</a></td></tr>
+<tr><td><a class="link" href="reference/WaitTraits.html" title="Wait traits requirements">WaitTraits</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141841360"></a>Classes</h4>
+<a name="idp82238736"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ssl__context" title="ssl::context">ssl::context</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base">ssl::context_base</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base" title="ssl::stream_base">ssl::stream_base</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context" title="ssl::verify_context">ssl::verify_context</a></td></tr>
+<tr><td><a class="link" href="reference/ssl__context.html" title="ssl::context">ssl::context</a></td></tr>
+<tr><td><a class="link" href="reference/ssl__context_base.html" title="ssl::context_base">ssl::context_base</a></td></tr>
+<tr><td><a class="link" href="reference/ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a></td></tr>
+<tr><td><a class="link" href="reference/ssl__stream_base.html" title="ssl::stream_base">ssl::stream_base</a></td></tr>
+<tr><td><a class="link" href="reference/ssl__verify_context.html" title="ssl::verify_context">ssl::verify_context</a></td></tr>
</table>
<h4>
-<a name="idp141848304"></a>Class Templates</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.ssl__stream" title="ssl::stream">ssl::stream</a></td></tr></table>
+<a name="idp82245696"></a>Class Templates</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/ssl__stream.html" title="ssl::stream">ssl::stream</a></td></tr></table>
<h4>
-<a name="idp141850896"></a>Type Requirements</h4>
+<a name="idp82248288"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.BufferedHandshakeHandler" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.HandshakeHandler" title="SSL handshake handler requirements">HandshakeHandler</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ShutdownHandler" title="SSL shutdown handler requirements">ShutdownHandler</a></td></tr>
+<tr><td><a class="link" href="reference/BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a></td></tr>
+<tr><td><a class="link" href="reference/HandshakeHandler.html" title="SSL handshake handler requirements">HandshakeHandler</a></td></tr>
+<tr><td><a class="link" href="reference/ShutdownHandler.html" title="SSL shutdown handler requirements">ShutdownHandler</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141856352"></a>Classes</h4>
+<a name="idp82253728"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port" title="serial_port">serial_port</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_base" title="serial_port_base">serial_port_base</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port.html" title="serial_port">serial_port</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port_base.html" title="serial_port_base">serial_port_base</a></td></tr>
</table>
<h4>
-<a name="idp141859840"></a>Class Templates</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port">basic_serial_port</a></td></tr></table>
+<a name="idp82257232"></a>Class Templates</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/basic_serial_port.html" title="basic_serial_port">basic_serial_port</a></td></tr></table>
<h4>
-<a name="idp141862384"></a>Services</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_service" title="serial_port_service">serial_port_service</a></td></tr></table>
+<a name="idp82259776"></a>Services</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/serial_port_service.html" title="serial_port_service">serial_port_service</a></td></tr></table>
<h4>
-<a name="idp141864976"></a>Serial Port Options</h4>
+<a name="idp82262368"></a>Serial Port Options</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate" title="serial_port_base::baud_rate">serial_port_base::baud_rate</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control" title="serial_port_base::flow_control">serial_port_base::flow_control</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity" title="serial_port_base::parity">serial_port_base::parity</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits" title="serial_port_base::stop_bits">serial_port_base::stop_bits</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size" title="serial_port_base::character_size">serial_port_base::character_size</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">serial_port_base::baud_rate</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port_base__flow_control.html" title="serial_port_base::flow_control">serial_port_base::flow_control</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port_base__parity.html" title="serial_port_base::parity">serial_port_base::parity</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">serial_port_base::stop_bits</a></td></tr>
+<tr><td><a class="link" href="reference/serial_port_base__character_size.html" title="serial_port_base::character_size">serial_port_base::character_size</a></td></tr>
</table>
<h4>
-<a name="idp141871600"></a>Type Requirements</h4>
+<a name="idp82268992"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">GettableSerialPortOption</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SerialPortService" title="Serial port service requirements">SerialPortService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">SettableSerialPortOption</a></td></tr>
+<tr><td><a class="link" href="reference/GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a></td></tr>
+<tr><td><a class="link" href="reference/SerialPortService.html" title="Serial port service requirements">SerialPortService</a></td></tr>
+<tr><td><a class="link" href="reference/SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a></td></tr>
</table>
</td>
<td valign="top">
<h4>
-<a name="idp141877184"></a>Classes</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.signal_set" title="signal_set">signal_set</a></td></tr></table>
+<a name="idp82274656"></a>Classes</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/signal_set.html" title="signal_set">signal_set</a></td></tr></table>
<h4>
-<a name="idp141879776"></a>Class Templates</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.basic_signal_set" title="basic_signal_set">basic_signal_set</a></td></tr></table>
+<a name="idp82277248"></a>Class Templates</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/basic_signal_set.html" title="basic_signal_set">basic_signal_set</a></td></tr></table>
<h4>
-<a name="idp141882432"></a>Services</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.signal_set_service" title="signal_set_service">signal_set_service</a></td></tr></table>
+<a name="idp82279904"></a>Services</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/signal_set_service.html" title="signal_set_service">signal_set_service</a></td></tr></table>
<h4>
-<a name="idp141885104"></a>Type Requirements</h4>
+<a name="idp82282560"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SignalSetService" title="Signal set service requirements">SignalSetService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.SignalHandler" title="Signal handler requirements">SignalHandler</a></td></tr>
+<tr><td><a class="link" href="reference/SignalSetService.html" title="Signal set service requirements">SignalSetService</a></td></tr>
+<tr><td><a class="link" href="reference/SignalHandler.html" title="Signal handler requirements">SignalHandler</a></td></tr>
</table>
</td>
</tr></tbody>
@@ -733,155553 +444,91 @@
<thead><tr>
<th colspan="2" valign="center">
<h3>
-<a name="idp141893424"></a>POSIX-specific</h3>
+<a name="idp82290928"></a>POSIX-specific</h3>
</th>
<th colspan="2" valign="center">
<h3>
-<a name="idp141895248"></a>Windows-specific</h3>
+<a name="idp82292752"></a>Windows-specific</h3>
</th>
</tr></thead>
<tbody><tr>
<td valign="top">
<h4>
-<a name="idp141897328"></a>Classes</h4>
+<a name="idp82294832"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol" title="local::stream_protocol">local::stream_protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor" title="local::stream_protocol::acceptor">local::stream_protocol::acceptor</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint" title="local::stream_protocol::endpoint">local::stream_protocol::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.iostream" title="local::stream_protocol::iostream">local::stream_protocol::iostream</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket" title="local::stream_protocol::socket">local::stream_protocol::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol" title="local::datagram_protocol">local::datagram_protocol</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint" title="local::datagram_protocol::endpoint">local::datagram_protocol::endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket" title="local::datagram_protocol::socket">local::datagram_protocol::socket</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base" title="posix::descriptor_base">posix::descriptor_base</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor" title="posix::stream_descriptor">posix::stream_descriptor</a></td></tr>
-</table>
- <h4>
-<a name="idp141909152"></a>Free Functions</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.local__connect_pair" title="local::connect_pair">local::connect_pair</a></td></tr></table>
+<tr><td><a class="link" href="reference/local__stream_protocol.html" title="local::stream_protocol">local::stream_protocol</a></td></tr>
+<tr><td><a class="link" href="reference/local__stream_protocol/acceptor.html" title="local::stream_protocol::acceptor">local::stream_protocol::acceptor</a></td></tr>
+<tr><td><a class="link" href="reference/local__stream_protocol/endpoint.html" title="local::stream_protocol::endpoint">local::stream_protocol::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/local__stream_protocol/iostream.html" title="local::stream_protocol::iostream">local::stream_protocol::iostream</a></td></tr>
+<tr><td><a class="link" href="reference/local__stream_protocol/socket.html" title="local::stream_protocol::socket">local::stream_protocol::socket</a></td></tr>
+<tr><td><a class="link" href="reference/local__datagram_protocol.html" title="local::datagram_protocol">local::datagram_protocol</a></td></tr>
+<tr><td><a class="link" href="reference/local__datagram_protocol/endpoint.html" title="local::datagram_protocol::endpoint">local::datagram_protocol::endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/local__datagram_protocol/socket.html" title="local::datagram_protocol::socket">local::datagram_protocol::socket</a></td></tr>
+<tr><td><a class="link" href="reference/posix__descriptor_base.html" title="posix::descriptor_base">posix::descriptor_base</a></td></tr>
+<tr><td><a class="link" href="reference/posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a></td></tr>
+</table>
+ <h4>
+<a name="idp82306608"></a>Free Functions</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/local__connect_pair.html" title="local::connect_pair">local::connect_pair</a></td></tr></table>
</td>
<td valign="top">
<h4>
-<a name="idp141912352"></a>Class Templates</h4>
+<a name="idp82309808"></a>Class Templates</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint" title="local::basic_endpoint">local::basic_endpoint</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor">posix::basic_descriptor</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor">posix::basic_stream_descriptor</a></td></tr>
+<tr><td><a class="link" href="reference/local__basic_endpoint.html" title="local::basic_endpoint">local::basic_endpoint</a></td></tr>
+<tr><td><a class="link" href="reference/posix__basic_descriptor.html" title="posix::basic_descriptor">posix::basic_descriptor</a></td></tr>
+<tr><td><a class="link" href="reference/posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">posix::basic_stream_descriptor</a></td></tr>
</table>
<h4>
-<a name="idp141917232"></a>Services</h4>
- <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service" title="posix::stream_descriptor_service">posix::stream_descriptor_service</a></td></tr></table>
+<a name="idp82314736"></a>Services</h4>
+ <table border="0" summary="Simple list" class="simplelist"><tr><td><a class="link" href="reference/posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">posix::stream_descriptor_service</a></td></tr></table>
<h4>
-<a name="idp141919824"></a>Type Requirements</h4>
+<a name="idp82317328"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.DescriptorService" title="Descriptor service requirements">DescriptorService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.StreamDescriptorService" title="Stream descriptor service requirements">StreamDescriptorService</a></td></tr>
+<tr><td><a class="link" href="reference/DescriptorService.html" title="Descriptor service requirements">DescriptorService</a></td></tr>
+<tr><td><a class="link" href="reference/StreamDescriptorService.html" title="Stream descriptor service requirements">StreamDescriptorService</a></td></tr>
</table>
</td>
<td colspan="2" valign="top">
<h4>
-<a name="idp141924816"></a>Classes</h4>
+<a name="idp82322208"></a>Classes</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__object_handle" title="windows::object_handle">windows::object_handle</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr" title="windows::overlapped_ptr">windows::overlapped_ptr</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle" title="windows::random_access_handle">windows::random_access_handle</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle" title="windows::stream_handle">windows::stream_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__object_handle.html" title="windows::object_handle">windows::object_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__overlapped_ptr.html" title="windows::overlapped_ptr">windows::overlapped_ptr</a></td></tr>
+<tr><td><a class="link" href="reference/windows__random_access_handle.html" title="windows::random_access_handle">windows::random_access_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__stream_handle.html" title="windows::stream_handle">windows::stream_handle</a></td></tr>
</table>
<h4>
-<a name="idp141930560"></a>Class Templates</h4>
+<a name="idp82327904"></a>Class Templates</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle">windows::basic_handle</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle">windows::basic_object_handle</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle">windows::basic_random_access_handle</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle">windows::basic_stream_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__basic_handle.html" title="windows::basic_handle">windows::basic_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__basic_object_handle.html" title="windows::basic_object_handle">windows::basic_object_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">windows::basic_random_access_handle</a></td></tr>
+<tr><td><a class="link" href="reference/windows__basic_stream_handle.html" title="windows::basic_stream_handle">windows::basic_stream_handle</a></td></tr>
</table>
<h4>
-<a name="idp141936448"></a>Services</h4>
+<a name="idp82333744"></a>Services</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service" title="windows::object_handle_service">windows::object_handle_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service" title="windows::random_access_handle_service">windows::random_access_handle_service</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service" title="windows::stream_handle_service">windows::stream_handle_service</a></td></tr>
+<tr><td><a class="link" href="reference/windows__object_handle_service.html" title="windows::object_handle_service">windows::object_handle_service</a></td></tr>
+<tr><td><a class="link" href="reference/windows__random_access_handle_service.html" title="windows::random_access_handle_service">windows::random_access_handle_service</a></td></tr>
+<tr><td><a class="link" href="reference/windows__stream_handle_service.html" title="windows::stream_handle_service">windows::stream_handle_service</a></td></tr>
</table>
<h4>
-<a name="idp141941088"></a>Type Requirements</h4>
+<a name="idp82338432"></a>Type Requirements</h4>
<table border="0" summary="Simple list" class="simplelist">
-<tr><td><a class="link" href="reference.html#boost_asio.reference.HandleService" title="Handle service requirements">HandleService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.ObjectHandleService" title="Object handle service requirements">ObjectHandleService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.RandomAccessHandleService" title="Random access handle service requirements">RandomAccessHandleService</a></td></tr>
-<tr><td><a class="link" href="reference.html#boost_asio.reference.StreamHandleService" title="Stream handle service requirements">StreamHandleService</a></td></tr>
+<tr><td><a class="link" href="reference/HandleService.html" title="Handle service requirements">HandleService</a></td></tr>
+<tr><td><a class="link" href="reference/ObjectHandleService.html" title="Object handle service requirements">ObjectHandleService</a></td></tr>
+<tr><td><a class="link" href="reference/RandomAccessHandleService.html" title="Random access handle service requirements">RandomAccessHandleService</a></td></tr>
+<tr><td><a class="link" href="reference/StreamHandleService.html" title="Stream handle service requirements">StreamHandleService</a></td></tr>
</table>
</td>
</tr></tbody>
</table>
</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.asynchronous_operations"></a><a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">Requirements
- on asynchronous operations</a>
-</h3></div></div></div>
-<p>
- In Boost.Asio, an asynchronous operation is initiated by a function that
- is named with the prefix <code class="computeroutput"><span class="identifier">async_</span></code>.
- These functions will be referred to as <span class="emphasis"><em>initiating functions</em></span>.
- </p>
-<p>
- All initiating functions in Boost.Asio take a function object meeting <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a> requirements as the
- final parameter. These handlers accept as their first parameter an lvalue
- of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
- </p>
-<p>
- Implementations of asynchronous operations in Boost.Asio may call the application
- programming interface (API) provided by the operating system. If such an
- operating system API call results in an error, the handler will be invoked
- with a <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- lvalue that evaluates to true. Otherwise the handler will be invoked with
- a <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- lvalue that evaluates to false.
- </p>
-<p>
- Unless otherwise noted, when the behaviour of an asynchronous operation is
- defined "as if" implemented by a <span class="emphasis"><em>POSIX</em></span> function,
- the handler will be invoked with a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>
- that corresponds to the failure condition described by <span class="emphasis"><em>POSIX</em></span>
- for that function, if any. Otherwise the handler will be invoked with an
- implementation-defined <code class="computeroutput"><span class="identifier">error_code</span></code>
- value that reflects the operating system error.
- </p>
-<p>
- Asynchronous operations will not fail with an error condition that indicates
- interruption by a signal (<span class="emphasis"><em>POSIX</em></span> <code class="computeroutput"><span class="identifier">EINTR</span></code>).
- Asynchronous operations will not fail with any error condition associated
- with non-blocking operations (<span class="emphasis"><em>POSIX</em></span> <code class="computeroutput"><span class="identifier">EWOULDBLOCK</span></code>,
- <code class="computeroutput"><span class="identifier">EAGAIN</span></code> or <code class="computeroutput"><span class="identifier">EINPROGRESS</span></code>;
- <span class="emphasis"><em>Windows</em></span> <code class="computeroutput"><span class="identifier">WSAEWOULDBLOCK</span></code>
- or <code class="computeroutput"><span class="identifier">WSAEINPROGRESS</span></code>).
- </p>
-<p>
- All asynchronous operations have an associated <code class="computeroutput"><span class="identifier">io_service</span></code>
- object. Where the initiating function is a member function, the associated
- <code class="computeroutput"><span class="identifier">io_service</span></code> is that returned
- by the <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code>
- member function on the same object. Where the initiating function is not
- a member function, the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
- is that returned by the <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code> member function of the first argument to
- the initiating function.
- </p>
-<p>
- Arguments to initiating functions will be treated as follows:
- </p>
-<p>
- &#8212; If the parameter is declared as a const reference or by-value, the program
- is not required to guarantee the validity of the argument after the initiating
- function completes. The implementation may make copies of the argument, and
- all copies will be destroyed no later than immediately after invocation of
- the handler.
- </p>
-<p>
- &#8212; If the parameter is declared as a non-const reference, const pointer or non-const
- pointer, the program must guarantee the validity of the argument until the
- handler is invoked.
- </p>
-<p>
- The library implementation is only permitted to make calls to an initiating
- function's arguments' copy constructors or destructors from a thread that
- satisfies one of the following conditions:
- </p>
-<p>
- &#8212; The thread is executing any member function of the associated <code class="computeroutput"><span class="identifier">io_service</span></code> object.
- </p>
-<p>
- &#8212; The thread is executing the destructor of the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
- object.
- </p>
-<p>
- &#8212; The thread is executing one of the <code class="computeroutput"><span class="identifier">io_service</span></code>
- service access functions <code class="computeroutput"><span class="identifier">use_service</span></code>,
- <code class="computeroutput"><span class="identifier">add_service</span></code> or <code class="computeroutput"><span class="identifier">has_service</span></code>, where the first argument is
- the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
- object.
- </p>
-<p>
- &#8212; The thread is executing any member function, constructor or destructor of
- an object of a class defined in this clause, where the object's <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code>
- member function returns the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
- object.
- </p>
-<p>
- &#8212; The thread is executing any function defined in this clause, where any argument
- to the function has an <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code> member function that returns the associated
- <code class="computeroutput"><span class="identifier">io_service</span></code> object.
- </p>
-<div class="sidebar">
-<div class="titlepage"><div><div><p class="title"><b></b></p></div></div></div>
-<p>
- Boost.Asio may use one or more hidden threads to emulate asynchronous functionality.
- The above requirements are intended to prevent these hidden threads from
- making calls to program code. This means that a program can, for example,
- use thread-unsafe reference counting in handler objects, provided the program
- ensures that all calls to an <code class="computeroutput"><span class="identifier">io_service</span></code>
- and related objects occur from the one thread.
- </p>
-</div>
-<p>
- The <code class="computeroutput"><span class="identifier">io_service</span></code> object associated
- with an asynchronous operation will have unfinished work, as if by maintaining
- the existence of one or more objects of class <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span></code>
- constructed using the <code class="computeroutput"><span class="identifier">io_service</span></code>,
- until immediately after the handler for the asynchronous operation has been
- invoked.
- </p>
-<p>
- When an asynchronous operation is complete, the handler for the operation
- will be invoked as if by:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Constructing a bound completion handler <code class="computeroutput"><span class="identifier">bch</span></code>
- for the handler, as described below.
- </li>
-<li class="listitem">
- Calling <code class="computeroutput"><span class="identifier">ios</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">bch</span><span class="special">)</span></code>
- to schedule the handler for deferred invocation, where <code class="computeroutput"><span class="identifier">ios</span></code> is the associated <code class="computeroutput"><span class="identifier">io_service</span></code>.
- </li>
-</ol></div>
-<p>
- This implies that the handler must not be called directly from within the
- initiating function, even if the asynchronous operation completes immediately.
- </p>
-<p>
- A bound completion handler is a handler object that contains a copy of a
- user-supplied handler, where the user-supplied handler accepts one or more
- arguments. The bound completion handler does not accept any arguments, and
- contains values to be passed as arguments to the user-supplied handler. The
- bound completion handler forwards the <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">asio_handler_deallocate</span><span class="special">()</span></code>, and <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">()</span></code> calls to the corresponding functions for
- the user-supplied handler. A bound completion handler meets the requirements
- for a <a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">completion handler</a>.
- </p>
-<p>
- For example, a bound completion handler for a <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
- may be implemented as follows:
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">bound_read_handler</span>
-<span class="special">{</span>
- <span class="identifier">bound_read_handler</span><span class="special">(</span><span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">s</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">handler</span><span class="special">),</span> <span class="identifier">ec_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">),</span> <span class="identifier">s_</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span>
- <span class="special">{</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec_</span><span class="special">,</span> <span class="identifier">s_</span><span class="special">);</span>
- <span class="special">}</span>
-
- <span class="identifier">ReadHandler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="identifier">error_code</span> <span class="identifier">ec_</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="identifier">size_t</span> <span class="identifier">s_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
-<span class="keyword">void</span><span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
- <span class="identifier">bound_read_handler</span><span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;*</span> <span class="identifier">this_handler</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_allocate</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">this_handler</span><span class="special">-&gt;</span><span class="identifier">handler_</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
- <span class="identifier">bound_read_handler</span><span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;*</span> <span class="identifier">this_handler</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_deallocate</span><span class="special">;</span>
- <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">this_handler</span><span class="special">-&gt;</span><span class="identifier">handler_</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">F</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">bound_read_handler</span><span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;*</span> <span class="identifier">this_handler</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_invoke</span><span class="special">;</span>
- <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">this_handler</span><span class="special">-&gt;</span><span class="identifier">handler_</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- If the thread that initiates an asynchronous operation terminates before
- the associated handler is invoked, the behaviour is implementation-defined.
- Specifically, on <span class="emphasis"><em>Windows</em></span> versions prior to Vista, unfinished
- operations are cancelled when the initiating thread exits.
- </p>
-<p>
- The handler argument to an initiating function defines a handler identity.
- That is, the original handler argument and any copies of the handler argument
- will be considered equivalent. If the implementation needs to allocate storage
- for an asynchronous operation, the implementation will perform <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">size</span></code>
- is the required size in bytes, and <code class="computeroutput"><span class="identifier">h</span></code>
- is the handler. The implementation will perform <code class="computeroutput"><span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span>
- <span class="identifier">size</span><span class="special">,</span>
- <span class="special">&amp;</span><span class="identifier">h</span><span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">p</span></code>
- is a pointer to the storage, to deallocate the storage prior to the invocation
- of the handler via <code class="computeroutput"><span class="identifier">asio_handler_invoke</span></code>.
- Multiple storage blocks may be allocated for a single asynchronous operation.
- </p>
-<h5>
-<a name="boost_asio.reference.asynchronous_operations.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"></a></span><a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function">Return
- type of an initiating function</a>
- </h5>
-<p>
- By default, initiating functions return <code class="computeroutput"><span class="keyword">void</span></code>.
- This is always the case when the handler is a function pointer, C++11 lambda,
- or a function object produced by <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span></code>
- or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind</span></code>.
- </p>
-<p>
- For other types, the return type may be customised via a two-step process:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- A specialisation of the <a class="link" href="reference.html#boost_asio.reference.handler_type" title="handler_type"><code class="computeroutput"><span class="identifier">handler_type</span></code></a> template, which
- is used to determine the true handler type based on the asynchronous
- operation's handler's signature.
- </li>
-<li class="listitem">
- A specialisation of the <a class="link" href="reference.html#boost_asio.reference.async_result" title="async_result"><code class="computeroutput"><span class="identifier">async_result</span></code></a> template, which
- is used both to determine the return type and to extract the return value
- from the handler.
- </li>
-</ol></div>
-<p>
- These two templates have been specialised to provide support for <a class="link" href="../boost_asio.html#boost_asio.overview.core.spawn" title="Stackful Coroutines">stackful
- coroutines</a> and the C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
- class.
- </p>
-<p>
- As an example, consider what happens when enabling <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
- support by using the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code>
- special value, as in:
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">length</span> <span class="special">=</span>
- <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span>
-</pre>
-<p>
- When a handler signature has the form:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">result_type</span> <span class="identifier">result</span><span class="special">);</span>
-</pre>
-<p>
- the initiating function returns a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
- templated on <code class="computeroutput"><span class="identifier">result_type</span></code>.
- In the above <code class="computeroutput"><span class="identifier">async_read_some</span></code>
- example, this is <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>. If the asynchronous operation fails,
- the <code class="computeroutput"><span class="identifier">error_code</span></code> is converted
- into a <code class="computeroutput"><span class="identifier">system_error</span></code> exception
- and passed back to the caller through the future.
- </p>
-<p>
- Where a handler signature has the form:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- the initiating function instead returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.AcceptHandler"></a><a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">Accept handler requirements</a>
-</h3></div></div></div>
-<p>
- An accept handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of an accept handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.AcceptHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.AcceptHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.AcceptHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as an accept handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">accept_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- An accept handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">accept_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to an accept handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">accept_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">accept_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.AsyncRandomAccessReadDevice"></a><a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">Buffer-oriented
- asynchronous random-access read device requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- an asynchronous random access read device object, <code class="computeroutput"><span class="identifier">o</span></code>
- denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
- <code class="computeroutput"><span class="identifier">mb</span></code> denotes an object satisfying
- <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable buffer
- sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">read
- handler</a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.AsyncRandomAccessReadDevice.t0"></a><p class="title"><b>Table&#160;7.1.&#160;Buffer-oriented asynchronous random-access read device requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous random-access read device requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object through which the <code class="computeroutput"><span class="identifier">async_read_some_at</span></code>
- handler <code class="computeroutput"><span class="identifier">h</span></code> will
- be invoked.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">h</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- Initiates an asynchronous operation to read one or more bytes of
- data from the device <code class="computeroutput"><span class="identifier">a</span></code>
- at the offset <code class="computeroutput"><span class="identifier">o</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The <code class="computeroutput"><span class="identifier">async_read_some_at</span></code>
- operation shall always fill a buffer in the sequence completely
- before proceeding to the next.<br> <br> The implementation
- shall maintain one or more copies of <code class="computeroutput"><span class="identifier">mb</span></code>
- until such time as the read operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous read operation
- is invoked,<br> <br> whichever comes first.<br> <br> If
- the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.AsyncRandomAccessWriteDevice"></a><a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">Buffer-oriented
- asynchronous random-access write device requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- an asynchronous write stream object, <code class="computeroutput"><span class="identifier">o</span></code>
- denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
- <code class="computeroutput"><span class="identifier">cb</span></code> denotes an object satisfying
- <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant buffer
- sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">write
- handler</a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.AsyncRandomAccessWriteDevice.t0"></a><p class="title"><b>Table&#160;7.2.&#160;Buffer-oriented asynchronous random-access write device requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous random-access write device requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object through which the <code class="computeroutput"><span class="identifier">async_write_some_at</span></code>
- handler <code class="computeroutput"><span class="identifier">h</span></code> will
- be invoked.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">h</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- Initiates an asynchronous operation to write one or more bytes
- of data to the device <code class="computeroutput"><span class="identifier">a</span></code>
- at offset <code class="computeroutput"><span class="identifier">o</span></code>. The
- operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The <code class="computeroutput"><span class="identifier">async_write_some_at</span></code> operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous write operation
- is invoked,<br> <br> whichever comes first.<br> <br> If
- the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- write operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes written.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.AsyncReadStream"></a><a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">Buffer-oriented
- asynchronous read stream requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- an asynchronous read stream object, <code class="computeroutput"><span class="identifier">mb</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">read
- handler</a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.AsyncReadStream.t0"></a><p class="title"><b>Table&#160;7.3.&#160;Buffer-oriented asynchronous read stream requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous read stream requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object through which the <code class="computeroutput"><span class="identifier">async_read_some</span></code>
- handler <code class="computeroutput"><span class="identifier">h</span></code> will
- be invoked.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">h</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- Initiates an asynchronous operation to read one or more bytes of
- data from the stream <code class="computeroutput"><span class="identifier">a</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The <code class="computeroutput"><span class="identifier">async_read_some</span></code>
- operation shall always fill a buffer in the sequence completely
- before proceeding to the next.<br> <br> The implementation
- shall maintain one or more copies of <code class="computeroutput"><span class="identifier">mb</span></code>
- until such time as the read operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous read operation
- is invoked,<br> <br> whichever comes first.<br> <br> If
- the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.AsyncWriteStream"></a><a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">Buffer-oriented
- asynchronous write stream requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- an asynchronous write stream object, <code class="computeroutput"><span class="identifier">cb</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">write
- handler</a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.AsyncWriteStream.t0"></a><p class="title"><b>Table&#160;7.4.&#160;Buffer-oriented asynchronous write stream requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous write stream requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object through which the <code class="computeroutput"><span class="identifier">async_write_some</span></code>
- handler <code class="computeroutput"><span class="identifier">h</span></code> will
- be invoked.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">h</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- Initiates an asynchronous operation to write one or more bytes
- of data to the stream <code class="computeroutput"><span class="identifier">a</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The <code class="computeroutput"><span class="identifier">async_write_some</span></code> operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous write operation
- is invoked,<br> <br> whichever comes first.<br> <br> If
- the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- write operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes written.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.BufferedHandshakeHandler"></a><a class="link" href="reference.html#boost_asio.reference.BufferedHandshakeHandler" title="Buffered handshake handler requirements">Buffered
- handshake handler requirements</a>
-</h3></div></div></div>
-<p>
- A buffered handshake handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a buffered handshake
- handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">s</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- and <code class="computeroutput"><span class="identifier">s</span></code> is an lvalue of type
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">size_t</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.BufferedHandshakeHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.BufferedHandshakeHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.BufferedHandshakeHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a buffered handshake handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handshake_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A buffered handshake handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">handshake_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a buffered handshake handler
- using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_handshake</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.CompletionHandler"></a><a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">Completion handler
- requirements</a>
-</h3></div></div></div>
-<p>
- A completion handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a completion
- handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">()</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.CompletionHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.CompletionHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.CompletionHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a completion handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">completion_handler</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A completion handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">completion_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a completion handler using
- <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">completion_handler</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">completion_handler</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ComposedConnectHandler"></a><a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">Composed
- connect handler requirements</a>
-</h3></div></div></div>
-<p>
- A composed connect handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a composed connect
- handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">i</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- and <code class="computeroutput"><span class="identifier">i</span></code> is an lvalue of the
- type <code class="computeroutput"><span class="identifier">Iterator</span></code> used in the
- corresponding <code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code>
- or async_connect()` function.
- </p>
-<h5>
-<a name="boost_asio.reference.ComposedConnectHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ComposedConnectHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a composed connect handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A composed connect handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">connect_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a composed connect handler
- using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ConnectHandler"></a><a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">Connect handler
- requirements</a>
-</h3></div></div></div>
-<p>
- A connect handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a connect handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.ConnectHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ConnectHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ConnectHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a connect handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A connect handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">connect_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a connect handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ConstBufferSequence"></a><a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">Constant buffer
- sequence requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a class containing objects of type <code class="computeroutput"><span class="identifier">T</span></code>,
- <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span></code> and <code class="computeroutput"><span class="identifier">u</span></code>
- denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.ConstBufferSequence.t0"></a><p class="title"><b>Table&#160;7.5.&#160;ConstBufferSequence requirements</b></p>
-<div class="table-contents"><table class="table" summary="ConstBufferSequence requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">T</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">T</span></code> meets the requirements
- for <a class="link" href="reference.html#boost_asio.reference.ConvertibleToConstBuffer" title="Convertible to const buffer requirements">ConvertibleToConstBuffer</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
- </p>
- </td>
-<td>
- <p>
- iterator type pointing to <code class="computeroutput"><span class="identifier">T</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- meets the requirements for bidirectional iterators (C++ Std, 24.1.4).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- post: <code class="computeroutput"><span class="identifier">equal_const_buffer_seq</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">))</span></code> where the binary predicate <code class="computeroutput"><span class="identifier">equal_const_buffer_seq</span></code> is defined
- as
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_const_buffer_seq</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span>
- <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x2</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
- <span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- and the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
- is defined as
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">const_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
- <span class="identifier">const_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
- <span class="keyword">return</span>
- <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- post:
-</p>
-<pre class="programlisting"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
- <span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">)</span>
-</pre>
-<p>
- where the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
- is defined as
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">const_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
- <span class="identifier">const_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
- <span class="keyword">return</span>
- <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)-&gt;~</span><span class="identifier">X</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- note: the destructor is applied to every element of <code class="computeroutput"><span class="identifier">a</span></code>; all the memory is deallocated.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ConvertibleToConstBuffer"></a><a class="link" href="reference.html#boost_asio.reference.ConvertibleToConstBuffer" title="Convertible to const buffer requirements">Convertible
- to const buffer requirements</a>
-</h3></div></div></div>
-<p>
- A type that meets the requirements for convertibility to a const buffer must
- meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
- types (C++ Std, 23.1).
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a class meeting the requirements for convertibility to a const buffer, <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">b</span></code>
- denote values of type <code class="computeroutput"><span class="identifier">X</span></code>,
- and <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">v</span></code>
- and <code class="computeroutput"><span class="identifier">w</span></code> denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.ConvertibleToConstBuffer.t0"></a><p class="title"><b>Table&#160;7.6.&#160;ConvertibleToConstBuffer requirements</b></p>
-<div class="table-contents"><table class="table" summary="ConvertibleToConstBuffer requirements">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- postcondition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">const_buffer</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">const_buffer</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">const_buffer</span> <span class="identifier">v</span><span class="special">;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">X</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ConvertibleToMutableBuffer"></a><a class="link" href="reference.html#boost_asio.reference.ConvertibleToMutableBuffer" title="Convertible to mutable buffer requirements">Convertible
- to mutable buffer requirements</a>
-</h3></div></div></div>
-<p>
- A type that meets the requirements for convertibility to a mutable buffer
- must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
- types (C++ Std, 23.1).
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a class meeting the requirements for convertibility to a mutable buffer,
- <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">b</span></code>
- denote values of type <code class="computeroutput"><span class="identifier">X</span></code>,
- and <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">v</span></code>
- and <code class="computeroutput"><span class="identifier">w</span></code> denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.ConvertibleToMutableBuffer.t0"></a><p class="title"><b>Table&#160;7.7.&#160;ConvertibleToMutableBuffer requirements</b></p>
-<div class="table-contents"><table class="table" summary="ConvertibleToMutableBuffer requirements">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- postcondition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">v</span><span class="special">;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">X</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.DatagramSocketService"></a><a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">Datagram
- socket service requirements</a>
-</h3></div></div></div>
-<p>
- A datagram socket service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">socket
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a datagram socket service class for protocol <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">mb</span></code>
- denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable
- buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.DatagramSocketService.t0"></a><p class="title"><b>Table&#160;7.8.&#160;DatagramSocketService requirements</b></p>
-<div class="table-contents"><table class="table" summary="DatagramSocketService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
- object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from an unconnected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> The program must ensure
- the object <code class="computeroutput"><span class="identifier">e</span></code> is
- valid until the handler for the asynchronous operation is invoked.<br>
- <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
- of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
- object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to an unconnected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">wh</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
- object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.DescriptorService"></a><a class="link" href="reference.html#boost_asio.reference.DescriptorService" title="Descriptor service requirements">Descriptor service
- requirements</a>
-</h3></div></div></div>
-<p>
- A descriptor service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a> with support for movability, as well as the additional
- requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a descriptor service class, <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">n</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">i</span></code> denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements"><code class="computeroutput"><span class="identifier">IoControlCommand</span></code></a> requirements, and
- <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
- denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.DescriptorService.t0"></a><p class="title"><b>Table&#160;7.9.&#160;DescriptorService requirements</b></p>
-<div class="table-contents"><table class="table" summary="DescriptorService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- The implementation-defined native representation of a descriptor.
- Must satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations, as if
- by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. The underlying native representation is moved from
- <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations associated
- with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
- calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- is true, causes any outstanding asynchronous operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- Causes any outstanding asynchronous operations to complete as soon
- as possible. Handlers for cancelled operations shall be passed
- the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.Endpoint"></a><a class="link" href="reference.html#boost_asio.reference.Endpoint" title="Endpoint requirements">Endpoint requirements</a>
-</h3></div></div></div>
-<p>
- An endpoint must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
- types (C++ Std, 23.1).
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- an endpoint class, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- a value of type <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a size in bytes, and <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.Endpoint.t0"></a><p class="title"><b>Table&#160;7.10.&#160;Endpoint requirements</b></p>
-<div class="table-contents"><table class="table" summary="Endpoint requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">protocol_type</span></code>
- </p>
- </td>
-<td>
- <p>
- type meeting <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">protocol</a>
- requirements
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">;</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">protocol_type</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- a pointer
- </p>
- </td>
-<td>
- <p>
- Returns a pointer suitable for passing as the <span class="emphasis"><em>address</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/accept.html" target="_top"><code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code></a>,
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getpeername.html" target="_top"><code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code></a>,
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockname.html" target="_top"><code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code></a>
- and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/recvfrom.html" target="_top"><code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code></a>.
- The implementation shall perform a <code class="computeroutput"><span class="keyword">reinterpret_cast</span></code>
- on the pointer to convert it to <code class="computeroutput"><span class="identifier">sockaddr</span><span class="special">*</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span>
- <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- a pointer
- </p>
- </td>
-<td>
- <p>
- Returns a pointer suitable for passing as the <span class="emphasis"><em>address</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/connect.html" target="_top"><code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code></a>,
- or as the <span class="emphasis"><em>dest_addr</em></span> argument to <span class="emphasis"><em>POSIX</em></span>
- functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/sendto.html" target="_top"><code class="computeroutput"><span class="identifier">sendto</span><span class="special">()</span></code></a>.
- The implementation shall perform a <code class="computeroutput"><span class="keyword">reinterpret_cast</span></code>
- on the pointer to convert it to <code class="computeroutput"><span class="keyword">const</span>
- <span class="identifier">sockaddr</span><span class="special">*</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>address_len</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/connect.html" target="_top"><code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code></a>,
- or as the <span class="emphasis"><em>dest_len</em></span> argument to <span class="emphasis"><em>POSIX</em></span>
- functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/sendto.html" target="_top"><code class="computeroutput"><span class="identifier">sendto</span><span class="special">()</span></code></a>,
- after appropriate integer conversion has been performed.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resize</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- post: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span>
- <span class="special">==</span> <span class="identifier">s</span></code><br>
- Passed the value contained in the <span class="emphasis"><em>address_len</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/accept.html" target="_top"><code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code></a>,
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getpeername.html" target="_top"><code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code></a>,
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockname.html" target="_top"><code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code></a>
- and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/recvfrom.html" target="_top"><code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code></a>,
- after successful completion of the function. Permitted to throw
- an exception if the protocol associated with the endpoint object
- <code class="computeroutput"><span class="identifier">a</span></code> does not support
- the specified size.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">capacity</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>address_len</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/accept.html" target="_top"><code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code></a>,
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getpeername.html" target="_top"><code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code></a>,
- <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockname.html" target="_top"><code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code></a>
- and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/recvfrom.html" target="_top"><code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code></a>,
- after appropriate integer conversion has been performed.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.GettableSerialPortOption"></a><a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">Gettable
- serial port option requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a serial port option class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">s</span></code>
- denotes a value of implementation-defined type <span class="emphasis"><em><code class="literal">storage</code></em></span>
- (where <span class="emphasis"><em><code class="literal">storage</code></em></span> is the type <code class="computeroutput"><span class="identifier">DCB</span></code> on Windows and <code class="computeroutput"><span class="identifier">termios</span></code>
- on <span class="emphasis"><em>POSIX</em></span> platforms), and <code class="computeroutput"><span class="identifier">u</span></code>
- denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.GettableSerialPortOption.t0"></a><p class="title"><b>Table&#160;7.11.&#160;GettableSerialPortOption requirements</b></p>
-<div class="table-contents"><table class="table" summary="GettableSerialPortOption requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">const</span> </code><span class="emphasis"><em><code class="literal">storage</code></em></span><code class="computeroutput"><span class="special">&amp;</span> <span class="identifier">u</span>
- <span class="special">=</span> <span class="identifier">s</span><span class="special">;</span></code><br> <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">load</span><span class="special">(</span><span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- Retrieves the value of the serial port option from the storage.<br>
- <br> If successful, sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
- is true. If an error occurred, sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
- is true. Returns <code class="computeroutput"><span class="identifier">ec</span></code>.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.GettableSocketOption"></a><a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">Gettable socket
- option requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a socket option class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">p</span></code> denotes a value that meets the <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">protocol</a> requirements, and
- <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.GettableSocketOption.t0"></a><p class="title"><b>Table&#160;7.12.&#160;GettableSocketOption requirements</b></p>
-<div class="table-contents"><table class="table" summary="GettableSocketOption requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">level</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>level</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>option_name</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">data</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- a pointer, convertible to <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a pointer suitable for passing as the <span class="emphasis"><em>option_value</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>option_len</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
- (or equivalent), after appropriate integer conversion has been
- performed.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resize</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span>
- <span class="identifier">s</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- post: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">s</span></code>.<br>
- Passed the value contained in the <span class="emphasis"><em>option_len</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
- (or equivalent) after successful completion of the function. Permitted
- to throw an exception if the socket option object <code class="computeroutput"><span class="identifier">a</span></code> does not support the specified
- size.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.Handler"></a><a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handlers</a>
-</h3></div></div></div>
-<p>
- A handler must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3).
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a handler class, <code class="computeroutput"><span class="identifier">h</span></code> denotes
- a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">p</span></code> denotes a pointer to a block of allocated
- memory of type <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>,
- <code class="computeroutput"><span class="identifier">s</span></code> denotes the size for a
- block of allocated memory, and <code class="computeroutput"><span class="identifier">f</span></code>
- denotes a function object taking no arguments.
- </p>
-<div class="table">
-<a name="boost_asio.reference.Handler.t0"></a><p class="title"><b>Table&#160;7.13.&#160;Handler requirements</b></p>
-<div class="table-contents"><table class="table" summary="Handler requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_allocate</span><span class="special">;</span>
-<span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a pointer to a block of memory of size <code class="computeroutput"><span class="identifier">s</span></code>.
- The pointer must satisfy the same alignment requirements as a pointer
- returned by <code class="computeroutput"><span class="special">::</span><span class="keyword">operator</span>
- <span class="keyword">new</span><span class="special">()</span></code>.
- Throws <code class="computeroutput"><span class="identifier">bad_alloc</span></code>
- on failure.<br> <br> The <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code> function is located using argument-dependent
- lookup. The function <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code> serves as a default if no user-supplied
- function is available.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_deallocate</span><span class="special">;</span>
-<span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Frees a block of memory associated with a pointer <code class="computeroutput"><span class="identifier">p</span></code>, of at least size <code class="computeroutput"><span class="identifier">s</span></code>, that was previously allocated
- using <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code>.<br> <br> The <code class="computeroutput"><span class="identifier">asio_handler_deallocate</span><span class="special">()</span></code>
- function is located using argument-dependent lookup. The function
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_deallocate</span><span class="special">()</span></code>
- serves as a default if no user-supplied function is available.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_invoke</span><span class="special">;</span>
-<span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Causes the function object <code class="computeroutput"><span class="identifier">f</span></code>
- to be executed as if by calling <code class="computeroutput"><span class="identifier">f</span><span class="special">()</span></code>.<br> <br> The <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">()</span></code>
- function is located using argument-dependent lookup. The function
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_invoke</span><span class="special">()</span></code>
- serves as a default if no user-supplied function is available.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.HandleService"></a><a class="link" href="reference.html#boost_asio.reference.HandleService" title="Handle service requirements">Handle service requirements</a>
-</h3></div></div></div>
-<p>
- A handle service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a> with support for movability, as well as the additional
- requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">n</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
- denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.HandleService.t0"></a><p class="title"><b>Table&#160;7.14.&#160;HandleService requirements</b></p>
-<div class="table-contents"><table class="table" summary="HandleService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- The implementation-defined native representation of a handle. Must
- satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations, as if
- by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. The underlying native representation is moved from
- <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations associated
- with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
- calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- is true, causes any outstanding asynchronous operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- Causes any outstanding asynchronous operations to complete as soon
- as possible. Handlers for cancelled operations shall be passed
- the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.HandshakeHandler"></a><a class="link" href="reference.html#boost_asio.reference.HandshakeHandler" title="SSL handshake handler requirements">SSL handshake
- handler requirements</a>
-</h3></div></div></div>
-<p>
- A handshake handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a handshake
- handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.HandshakeHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.HandshakeHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.HandshakeHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a handshake handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handshake_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A handshake handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">handshake_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a handshake handler using
- <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">ssl_stream</span><span class="special">.</span><span class="identifier">async_handshake</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.InternetProtocol"></a><a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">Internet protocol
- requirements</a>
-</h3></div></div></div>
-<p>
- An internet protocol must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">protocol</a>
- as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- an internet protocol class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- and <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of
- type <code class="computeroutput"><span class="identifier">X</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.InternetProtocol.t0"></a><p class="title"><b>Table&#160;7.15.&#160;InternetProtocol requirements</b></p>
-<div class="table-contents"><table class="table" summary="InternetProtocol requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">resolver</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- The type of a resolver for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">v4</span><span class="special">()</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns an object representing the IP version 4 protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">v6</span><span class="special">()</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns an object representing the IP version 6 protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span> <span class="special">==</span>
- <span class="identifier">b</span></code>
- </p>
- </td>
-<td>
- <p>
- convertible to <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns whether two protocol objects are equal.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span> <span class="special">!=</span>
- <span class="identifier">b</span></code>
- </p>
- </td>
-<td>
- <p>
- convertible to <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns <code class="computeroutput"><span class="special">!(</span><span class="identifier">a</span>
- <span class="special">==</span> <span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.IoControlCommand"></a><a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">I/O control command
- requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- an I/O control command class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, and
- <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.IoControlCommand.t0"></a><p class="title"><b>Table&#160;7.16.&#160;IoControlCommand requirements</b></p>
-<div class="table-contents"><table class="table" summary="IoControlCommand requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">name</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>request</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/ioctl.html" target="_top"><code class="computeroutput"><span class="identifier">ioctl</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- a pointer, convertible to <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.IoObjectService"></a><a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O object service
- requirements</a>
-</h3></div></div></div>
-<p>
- An I/O object service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">service</a>,
- as well as the requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- an I/O object service class, <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, and <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.IoObjectService.t0"></a><p class="title"><b>Table&#160;7.17.&#160;IoObjectService requirements</b></p>
-<div class="table-contents"><table class="table" summary="IoObjectService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">u</span><span class="special">;</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- note: <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code> has a public
- default constructor and destructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- note: <code class="computeroutput"><span class="identifier">destroy</span><span class="special">()</span></code>
- will only be called on a value that has previously been initialised
- with <code class="computeroutput"><span class="identifier">construct</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">move_construct</span><span class="special">()</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- note: only required for I/O objects that support movability.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- note: only required for I/O objects that support movability.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.MutableBufferSequence"></a><a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">Mutable buffer
- sequence requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a class containing objects of type <code class="computeroutput"><span class="identifier">T</span></code>,
- <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span></code> and <code class="computeroutput"><span class="identifier">u</span></code>
- denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.MutableBufferSequence.t0"></a><p class="title"><b>Table&#160;7.18.&#160;MutableBufferSequence requirements</b></p>
-<div class="table-contents"><table class="table" summary="MutableBufferSequence requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">T</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">T</span></code> meets the requirements
- for <a class="link" href="reference.html#boost_asio.reference.ConvertibleToMutableBuffer" title="Convertible to mutable buffer requirements">ConvertibleToMutableBuffer</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
- </p>
- </td>
-<td>
- <p>
- iterator type pointing to <code class="computeroutput"><span class="identifier">T</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- meets the requirements for bidirectional iterators (C++ Std, 24.1.4).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- post: <code class="computeroutput"><span class="identifier">equal_mutable_buffer_seq</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">))</span></code> where the binary predicate <code class="computeroutput"><span class="identifier">equal_mutable_buffer_seq</span></code> is defined
- as
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_mutable_buffer_seq</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span>
- <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x2</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
- <span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- and the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
- is defined as
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">mutable_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
- <span class="identifier">mutable_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
- <span class="keyword">return</span>
- <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- post:
-</p>
-<pre class="programlisting"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
- <span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">)</span>
-</pre>
-<p>
- where the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
- is defined as
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">mutable_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
- <span class="identifier">mutable_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
- <span class="keyword">return</span>
- <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)-&gt;~</span><span class="identifier">X</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- note: the destructor is applied to every element of <code class="computeroutput"><span class="identifier">a</span></code>; all the memory is deallocated.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ObjectHandleService"></a><a class="link" href="reference.html#boost_asio.reference.ObjectHandleService" title="Object handle service requirements">Object handle
- service requirements</a>
-</h3></div></div></div>
-<p>
- An object handle service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.HandleService" title="Handle service requirements">handle
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- an object handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- and <code class="computeroutput"><span class="identifier">wh</span></code> denotes a value meeting
- <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements"><code class="computeroutput"><span class="identifier">WaitHandler</span></code></a>
- requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.ObjectHandleService.t0"></a><p class="title"><b>Table&#160;7.19.&#160;ObjectHandleService requirements</b></p>
-<div class="table-contents"><table class="table" summary="ObjectHandleService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Synchronously waits for the object represented by handle
- <code class="computeroutput"><span class="identifier">b</span></code> to become signalled.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to wait for the object
- represented by handle <code class="computeroutput"><span class="identifier">b</span></code>
- to become signalled. The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code> object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.Protocol"></a><a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol requirements</a>
-</h3></div></div></div>
-<p>
- A protocol must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
- types (C++ Std, 23.1).
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a protocol class, and <code class="computeroutput"><span class="identifier">a</span></code> denotes
- a value of <code class="computeroutput"><span class="identifier">X</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.Protocol.t0"></a><p class="title"><b>Table&#160;7.20.&#160;Protocol requirements</b></p>
-<div class="table-contents"><table class="table" summary="Protocol requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- type meeting <a class="link" href="reference.html#boost_asio.reference.Endpoint" title="Endpoint requirements">endpoint</a>
- requirements
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">family</span><span class="special">()</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>domain</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/socket.html" target="_top"><code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">type</span><span class="special">()</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>type</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/socket.html" target="_top"><code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">()</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>protocol</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/socket.html" target="_top"><code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.RandomAccessHandleService"></a><a class="link" href="reference.html#boost_asio.reference.RandomAccessHandleService" title="Random access handle service requirements">Random
- access handle service requirements</a>
-</h3></div></div></div>
-<p>
- A random access handle service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.HandleService" title="Handle service requirements">handle
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a random access handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- <code class="computeroutput"><span class="identifier">o</span></code> denotes an offset of type
- boost::uint64_t, <code class="computeroutput"><span class="identifier">mb</span></code> denotes
- a value satisfying <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable
- buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.RandomAccessHandleService.t0"></a><p class="title"><b>Table&#160;7.21.&#160;RandomAccessHandleService requirements</b></p>
-<div class="table-contents"><table class="table" summary="RandomAccessHandleService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code> at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
- <br> The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code>
- at offset <code class="computeroutput"><span class="identifier">o</span></code>. The
- operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.<br> <br> If the operation
- completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
- object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code> at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
- <br> The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code>
- at offset <code class="computeroutput"><span class="identifier">o</span></code>. The
- operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
- as the argument to the handler that specifies the number of bytes
- read.<br> <br> If the operation completes successfully, the
- <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
- <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
- the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.RawSocketService"></a><a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">Raw socket service
- requirements</a>
-</h3></div></div></div>
-<p>
- A raw socket service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">socket
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a raw socket service class for protocol <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">mb</span></code>
- denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable
- buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.RawSocketService.t0"></a><p class="title"><b>Table&#160;7.22.&#160;RawSocketService requirements</b></p>
-<div class="table-contents"><table class="table" summary="RawSocketService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
- object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from an unconnected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> The program must ensure
- the object <code class="computeroutput"><span class="identifier">e</span></code> is
- valid until the handler for the asynchronous operation is invoked.<br>
- <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
- of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
- object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to an unconnected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">wh</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
- object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ReadHandler"></a><a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">Read handler requirements</a>
-</h3></div></div></div>
-<p>
- A read handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a read handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">s</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- and <code class="computeroutput"><span class="identifier">s</span></code> is an lvalue of type
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">size_t</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.ReadHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ReadHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ReadHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a read handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">read_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A read handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">read_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a read handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">read_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_read</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">read_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ResolveHandler"></a><a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">Resolve handler
- requirements</a>
-</h3></div></div></div>
-<p>
- A resolve handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a resolve handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">i</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- and <code class="computeroutput"><span class="identifier">i</span></code> is an lvalue of type
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span></code>. <code class="computeroutput"><span class="identifier">InternetProtocol</span></code>
- is the template parameter of the <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service" title="ip::resolver_service"><code class="computeroutput"><span class="identifier">resolver_service</span></code></a> which is used to
- initiate the asynchronous operation.
- </p>
-<h5>
-<a name="boost_asio.reference.ResolveHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ResolveHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ResolveHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a resolve handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A resolve handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">resolve_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a resolve handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">resolve_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">resolver</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">resolve_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ResolverService"></a><a class="link" href="reference.html#boost_asio.reference.ResolverService" title="Resolver service requirements">Resolver service
- requirements</a>
-</h3></div></div></div>
-<p>
- A resolver service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a resolver service class for protocol <code class="computeroutput"><span class="identifier">InternetProtocol</span></code>,
- <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>,
- <code class="computeroutput"><span class="identifier">q</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span></code>,
- <code class="computeroutput"><span class="identifier">e</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">h</span></code> denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements"><code class="computeroutput"><span class="identifier">ResolveHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.ResolverService.t0"></a><p class="title"><b>Table&#160;7.23.&#160;ResolverService requirements</b></p>
-<div class="table-contents"><table class="table" summary="ResolverService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous resolve operations,
- as if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- Causes any outstanding asynchronous resolve operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span>
- <span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- On success, returns an iterator <code class="computeroutput"><span class="identifier">i</span></code>
- such that <code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
- <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
- Otherwise returns <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Initiates an asynchronous resolve operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">ResolveHandler</span></code>
- object <code class="computeroutput"><span class="identifier">h</span></code> shall
- be invoked with an iterator object <code class="computeroutput"><span class="identifier">i</span></code>
- such that the condition <code class="computeroutput"><span class="identifier">i</span>
- <span class="special">!=</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code> holds. Otherwise it is invoked
- with <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span>
- <span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- On success, returns an iterator <code class="computeroutput"><span class="identifier">i</span></code>
- such that <code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
- <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
- Otherwise returns <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Initiates an asynchronous resolve operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">ResolveHandler</span></code>
- object <code class="computeroutput"><span class="identifier">h</span></code> shall
- be invoked with an iterator object <code class="computeroutput"><span class="identifier">i</span></code>
- such that the condition <code class="computeroutput"><span class="identifier">i</span>
- <span class="special">!=</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code> holds. Otherwise it is invoked
- with <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SeqPacketSocketService"></a><a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">Sequenced
- packet socket service requirements</a>
-</h3></div></div></div>
-<p>
- A sequenced packet socket service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">socket service</a>, as well
- as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a stream socket service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">g</span></code>
- denotes an lvalue of type <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>,
- <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
- <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable buffer
- sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SeqPacketSocketService.t0"></a><p class="title"><b>Table&#160;7.24.&#160;StreamSocketService requirements</b></p>
-<div class="table-contents"><table class="table" summary="StreamSocketService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">g</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, sets <code class="computeroutput"><span class="identifier">g</span></code>
- to the flags associated with the received data, and returns the
- number of bytes read. Otherwise, sets <code class="computeroutput"><span class="identifier">g</span></code>
- to <code class="computeroutput"><span class="number">0</span></code> and returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">g</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, sets <code class="computeroutput"><span class="identifier">g</span></code>
- to the flags associated with the received data, then invokes the
- <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object
- <code class="computeroutput"><span class="identifier">rh</span></code> with the number
- of bytes transferred. Otherwise, sets <code class="computeroutput"><span class="identifier">g</span></code>
- to <code class="computeroutput"><span class="number">0</span></code> and invokes <code class="computeroutput"><span class="identifier">rh</span></code> with <code class="computeroutput"><span class="number">0</span></code>
- bytes transferred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
- object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
- with the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SerialPortService"></a><a class="link" href="reference.html#boost_asio.reference.SerialPortService" title="Serial port service requirements">Serial port service
- requirements</a>
-</h3></div></div></div>
-<p>
- A serial port service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a> with support for movability, as well as the additional
- requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a serial port service class, <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">d</span></code>
- denotes a serial port device name of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> and <code class="computeroutput"><span class="identifier">c</span></code>
- denote values of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">n</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements"><code class="computeroutput"><span class="identifier">SettableSerialPortOption</span></code></a> requirements,
- <code class="computeroutput"><span class="identifier">g</span></code> denotes a value meeting
- <a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements"><code class="computeroutput"><span class="identifier">GettableSerialPortOption</span></code></a> requirements,
- <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
- <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable buffer
- sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements. and
- <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
- denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SerialPortService.t0"></a><p class="title"><b>Table&#160;7.25.&#160;SerialPortService requirements</b></p>
-<div class="table-contents"><table class="table" summary="SerialPortService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- The implementation-defined native representation of a serial port.
- Must satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations, as if
- by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. The underlying native representation is moved from
- <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations associated
- with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
- calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">d</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- is true, causes any outstanding asynchronous operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- Causes any outstanding asynchronous operations to complete as soon
- as possible. Handlers for cancelled operations shall be passed
- the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send_break</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a serial port <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> If successful, returns the number of bytes read.
- Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.<br> <br> If the operation completes due to graceful
- connection closure by the peer, the operation shall fail with
- <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a serial port <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.<br> <br> If the operation
- completes due to graceful connection closure by the peer, the operation
- shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
- <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
- of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a serial port <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The constant
- buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a serial port <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
- as the argument to the handler that specifies the number of bytes
- read.<br> <br> If the operation completes successfully, the
- <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
- <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
- the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.Service"></a><a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service requirements</a>
-</h3></div></div></div>
-<p>
- A class is a service if it is publicly derived from another service, or if
- it is a class derived from <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span></code>
- and contains a publicly-accessible declaration as follows:
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-<p>
- All services define a one-argument constructor that takes a reference to
- the <code class="computeroutput"><span class="identifier">io_service</span></code> object that
- owns the service. This constructor is <span class="emphasis"><em>explicit</em></span>, preventing
- its participation in automatic conversions. For example:
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_service</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">static</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
- <span class="keyword">explicit</span> <span class="identifier">my_service</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">shutdown_service</span><span class="special">();</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A service's <code class="computeroutput"><span class="identifier">shutdown_service</span></code>
- member function must cause all copies of user-defined handler objects that
- are held by the service to be destroyed.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SettableSerialPortOption"></a><a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">Settable
- serial port option requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a serial port option class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">s</span></code>
- denotes a value of implementation-defined type <span class="emphasis"><em><code class="literal">storage</code></em></span>
- (where <span class="emphasis"><em><code class="literal">storage</code></em></span> is the type <code class="computeroutput"><span class="identifier">DCB</span></code> on Windows and <code class="computeroutput"><span class="identifier">termios</span></code>
- on <span class="emphasis"><em>POSIX</em></span> platforms), and <code class="computeroutput"><span class="identifier">u</span></code>
- denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SettableSerialPortOption.t0"></a><p class="title"><b>Table&#160;7.26.&#160;SettableSerialPortOption requirements</b></p>
-<div class="table-contents"><table class="table" summary="SettableSerialPortOption requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span>
- <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span></code><br> <code class="computeroutput"><span class="identifier">u</span><span class="special">.</span><span class="identifier">store</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- Saves the value of the serial port option to the storage.<br>
- <br> If successful, sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
- is true. If an error occurred, sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
- is true. Returns <code class="computeroutput"><span class="identifier">ec</span></code>.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SettableSocketOption"></a><a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">Settable socket
- option requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a socket option class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">p</span></code> denotes a value that meets the <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">protocol</a> requirements, and
- <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SettableSocketOption.t0"></a><p class="title"><b>Table&#160;7.27.&#160;SettableSocketOption requirements</b></p>
-<div class="table-contents"><table class="table" summary="SettableSocketOption requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">level</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>level</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">int</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>option_name</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span>
- <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">data</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- a pointer, convertible to <code class="computeroutput"><span class="keyword">const</span>
- <span class="keyword">void</span><span class="special">*</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a pointer suitable for passing as the <span class="emphasis"><em>option_value</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
- (or equivalent).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value suitable for passing as the <span class="emphasis"><em>option_len</em></span>
- argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
- (or equivalent), after appropriate integer conversion has been
- performed.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ShutdownHandler"></a><a class="link" href="reference.html#boost_asio.reference.ShutdownHandler" title="SSL shutdown handler requirements">SSL shutdown handler
- requirements</a>
-</h3></div></div></div>
-<p>
- A shutdown handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a shutdown handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.ShutdownHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ShutdownHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ShutdownHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a shutdown handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A shutdown handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">shutdown_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a shutdown handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">shutdown_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">ssl_stream</span><span class="special">.</span><span class="identifier">async_shutdown</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">shutdown_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SignalHandler"></a><a class="link" href="reference.html#boost_asio.reference.SignalHandler" title="Signal handler requirements">Signal handler requirements</a>
-</h3></div></div></div>
-<p>
- A signal handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a signal handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">n</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- and <code class="computeroutput"><span class="identifier">n</span></code> is an lvalue of type
- <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">int</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.SignalHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.SignalHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.SignalHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a signal handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">signal_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A signal handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">signal_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a signal handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">signal_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">my_signal_set</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">signal_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">signal_number</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SignalSetService"></a><a class="link" href="reference.html#boost_asio.reference.SignalSetService" title="Signal set service requirements">Signal set service
- requirements</a>
-</h3></div></div></div>
-<p>
- A signal set service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a signal set service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
- <code class="computeroutput"><span class="keyword">int</span></code>, and <code class="computeroutput"><span class="identifier">sh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.SignalHandler" title="Signal handler requirements"><code class="computeroutput"><span class="identifier">SignalHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SignalSetService.t0"></a><p class="title"><b>Table&#160;7.28.&#160;SignalSetService requirements</b></p>
-<div class="table-contents"><table class="table" summary="SignalSetService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements.<br>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly clears the registered signals as if by
- calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>,
- then implicitly cancels outstanding asynchronous operations as
- if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">remove</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">sh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to wait for the delivery
- of one of the signals registered for the signal set <code class="computeroutput"><span class="identifier">b</span></code>. The operation is performed
- via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> If the operation completes
- successfully, the <code class="computeroutput"><span class="identifier">SignalHandler</span></code>
- object <code class="computeroutput"><span class="identifier">sh</span></code> is invoked
- with the number identifying the delivered signal. Otherwise it
- is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SocketAcceptorService"></a><a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">Socket acceptor
- service requirements</a>
-</h3></div></div></div>
-<p>
- A socket acceptor service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a socket acceptor service class for protocol <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">p</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span></code>,
- <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements"><code class="computeroutput"><span class="identifier">SettableSocketOption</span></code></a> requirements,
- <code class="computeroutput"><span class="identifier">g</span></code> denotes a value meeting
- <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements"><code class="computeroutput"><span class="identifier">GettableSocketOption</span></code></a>
- requirements, <code class="computeroutput"><span class="identifier">i</span></code> denotes a
- value meeting <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements"><code class="computeroutput"><span class="identifier">IoControlCommand</span></code></a> requirements,
- <code class="computeroutput"><span class="identifier">k</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span><span class="special">&gt;</span></code>
- where <code class="computeroutput"><span class="identifier">SocketService</span></code> is a
- type meeting <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">socket service</a>
- requirements, <code class="computeroutput"><span class="identifier">ah</span></code> denotes
- a value meeting <a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements"><code class="computeroutput"><span class="identifier">AcceptHandler</span></code></a> requirements, and
- <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
- denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SocketAcceptorService.t0"></a><p class="title"><b>Table&#160;7.29.&#160;SocketAcceptorService requirements</b></p>
-<div class="table-contents"><table class="table" summary="SocketAcceptorService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- The implementation-defined native representation of a socket acceptor.
- Must satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations, as if
- by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. The underlying native representation is moved from
- <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations associated
- with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
- calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- is true, causes any outstanding asynchronous operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- Causes any outstanding asynchronous operations to complete as soon
- as possible. Handlers for cancelled operations shall be passed
- the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">e</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
- post: <code class="computeroutput"><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
- post: <code class="computeroutput"><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">e</span><span class="special">,</span> <span class="identifier">ah</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
- Initiates an asynchronous accept operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The program must ensure
- the objects <code class="computeroutput"><span class="identifier">k</span></code> and
- <code class="computeroutput"><span class="identifier">e</span></code> are valid until
- the handler for the asynchronous operation is invoked.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ah</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
- <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
- Initiates an asynchronous accept operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The program must ensure
- the object <code class="computeroutput"><span class="identifier">k</span></code> is
- valid until the handler for the asynchronous operation is invoked.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SocketService"></a><a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">Socket service requirements</a>
-</h3></div></div></div>
-<p>
- A socket service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a> with support for movability, as well as the additional
- requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a socket service class for protocol <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
- and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">p</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span></code>,
- <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
- <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements"><code class="computeroutput"><span class="identifier">SettableSocketOption</span></code></a> requirements,
- <code class="computeroutput"><span class="identifier">g</span></code> denotes a value meeting
- <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements"><code class="computeroutput"><span class="identifier">GettableSocketOption</span></code></a>
- requirements, <code class="computeroutput"><span class="identifier">i</span></code> denotes a
- value meeting <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements"><code class="computeroutput"><span class="identifier">IoControlCommand</span></code></a> requirements,
- <code class="computeroutput"><span class="identifier">h</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span></code>, <code class="computeroutput"><span class="identifier">ch</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements"><code class="computeroutput"><span class="identifier">ConnectHandler</span></code></a> requirements, and
- <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
- denote identifiers.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SocketService.t0"></a><p class="title"><b>Table&#160;7.30.&#160;SocketService requirements</b></p>
-<div class="table-contents"><table class="table" summary="SocketService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- The implementation-defined native representation of a socket. Must
- satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations, as if
- by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. The underlying native representation is moved from
- <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous operations associated
- with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
- calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">)</span></code>.
- Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
- is true, causes any outstanding asynchronous operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- Causes any outstanding asynchronous operations to complete as soon
- as possible. Handlers for cancelled operations shall be passed
- the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">at_mark</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">at_mark</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">available</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">available</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">u</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
-<span class="identifier">a</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ch</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- Initiates an asynchronous connect operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.StreamDescriptorService"></a><a class="link" href="reference.html#boost_asio.reference.StreamDescriptorService" title="Stream descriptor service requirements">Stream
- descriptor service requirements</a>
-</h3></div></div></div>
-<p>
- A stream descriptor service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.DescriptorService" title="Descriptor service requirements">descriptor
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a stream descriptor service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
- <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable buffer
- sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.StreamDescriptorService.t0"></a><p class="title"><b>Table&#160;7.31.&#160;StreamDescriptorService requirements</b></p>
-<div class="table-contents"><table class="table" summary="StreamDescriptorService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> If successful, returns the number of bytes read.
- Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.<br> <br> If the operation completes due to graceful
- connection closure by the peer, the operation shall fail with
- <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.<br> <br> If the operation
- completes due to graceful connection closure by the peer, the operation
- shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
- <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
- of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The constant
- buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
- as the argument to the handler that specifies the number of bytes
- read.<br> <br> If the operation completes successfully, the
- <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
- <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
- the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.StreamHandleService"></a><a class="link" href="reference.html#boost_asio.reference.StreamHandleService" title="Stream handle service requirements">Stream handle
- service requirements</a>
-</h3></div></div></div>
-<p>
- A stream handle service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.HandleService" title="Handle service requirements">handle
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a stream handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
- <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable buffer
- sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.StreamHandleService.t0"></a><p class="title"><b>Table&#160;7.32.&#160;StreamHandleService requirements</b></p>
-<div class="table-contents"><table class="table" summary="StreamHandleService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> If successful, returns the number of bytes read.
- Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.<br> <br> If the operation completes due to graceful
- connection closure by the peer, the operation shall fail with
- <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.<br> <br> If the operation
- completes due to graceful connection closure by the peer, the operation
- shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
- <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
- of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The constant
- buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
- as the argument to the handler that specifies the number of bytes
- read.<br> <br> If the operation completes successfully, the
- <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
- <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
- the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.StreamSocketService"></a><a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">Stream socket
- service requirements</a>
-</h3></div></div></div>
-<p>
- A stream socket service must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">socket
- service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a stream socket service class, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">mb</span></code>
- denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable
- buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
- denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.StreamSocketService.t0"></a><p class="title"><b>Table&#160;7.33.&#160;StreamSocketService requirements</b></p>
-<div class="table-contents"><table class="table" summary="StreamSocketService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Reads one or more bytes of data from a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The operation
- shall always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.<br> <br> If the operation completes due to graceful
- connection closure by the peer, the operation shall fail with
- <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">rh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to read one or more
- bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The mutable buffer
- sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
- memory where the data should be placed. The operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> The implementation shall maintain one or more
- copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
- such time as the read operation no longer requires access to the
- memory specified by the buffers in the sequence. The program must
- ensure the memory is valid until:<br> <br> &#8212; the last copy of
- <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
- that specifies the number of bytes read.<br> <br> If the operation
- completes due to graceful connection closure by the peer, the operation
- shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
- <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
- of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Writes one or more bytes of data to a connected socket
- <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
- The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
- If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
- the function shall return <code class="computeroutput"><span class="number">0</span></code>
- immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">wh</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">void</span></code>
- </p>
- </td>
-<td>
- <p>
- pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
- <br> Initiates an asynchronous operation to write one or more
- bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
- The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The constant buffer
- sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
- memory where the data to be written is located. The operation shall
- always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> The implementation shall maintain one
- or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
- until such time as the write operation no longer requires access
- to the memory specified by the buffers in the sequence. The program
- must ensure the memory is valid until:<br> <br> &#8212; the last copy
- of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
- or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
- <br> whichever comes first. If the total size of all buffers
- in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
- operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
- as the argument to the handler that specifies the number of bytes
- read.<br> <br> If the operation completes successfully, the
- <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
- <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
- the number of bytes transferred. Otherwise it is invoked with
- <code class="computeroutput"><span class="number">0</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SyncRandomAccessReadDevice"></a><a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">Buffer-oriented
- synchronous random-access read device requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- a synchronous random-access read device object, <code class="computeroutput"><span class="identifier">o</span></code>
- denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
- <code class="computeroutput"><span class="identifier">mb</span></code> denotes an object satisfying
- <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable buffer
- sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SyncRandomAccessReadDevice.t0"></a><p class="title"><b>Table&#160;7.34.&#160;Buffer-oriented synchronous random-access read device requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous random-access read device requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Equivalent to:
-</p>
-<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span> <span class="identifier">mb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Reads one or more bytes of data from the device <code class="computeroutput"><span class="identifier">a</span></code>
- at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
- <br> The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The <code class="computeroutput"><span class="identifier">read_some_at</span></code> operation shall
- always fill a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes read and sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
- is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
- and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
- that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
- is true.<br> <br> If the total size of all buffers in the sequence
- <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SyncRandomAccessWriteDevice"></a><a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">Buffer-oriented
- synchronous random-access write device requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- a synchronous random-access write device object, <code class="computeroutput"><span class="identifier">o</span></code>
- denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
- <code class="computeroutput"><span class="identifier">cb</span></code> denotes an object satisfying
- <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant buffer
- sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SyncRandomAccessWriteDevice.t0"></a><p class="title"><b>Table&#160;7.35.&#160;Buffer-oriented synchronous random-access write device requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous random-access write device requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Equivalent to:
-</p>
-<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Writes one or more bytes of data to the device <code class="computeroutput"><span class="identifier">a</span></code>
- at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
- <br> The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The
- <code class="computeroutput"><span class="identifier">write_some_at</span></code> operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written and sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
- is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
- and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
- that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
- is true.<br> <br> If the total size of all buffers in the sequence
- <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SyncReadStream"></a><a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">Buffer-oriented
- synchronous read stream requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- a synchronous read stream object, <code class="computeroutput"><span class="identifier">mb</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">mutable
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SyncReadStream.t0"></a><p class="title"><b>Table&#160;7.36.&#160;Buffer-oriented synchronous read stream requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous read stream requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Equivalent to:
-</p>
-<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Reads one or more bytes of data from the stream <code class="computeroutput"><span class="identifier">a</span></code>.<br>
- <br> The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
- specifies memory where the data should be placed. The <code class="computeroutput"><span class="identifier">read_some</span></code> operation shall always
- fill a buffer in the sequence completely before proceeding to the
- next.<br> <br> If successful, returns the number of bytes read
- and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
- that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
- is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
- and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
- that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
- is true.<br> <br> If the total size of all buffers in the sequence
- <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.SyncWriteStream"></a><a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">Buffer-oriented
- synchronous write stream requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
- a synchronous write stream object, <code class="computeroutput"><span class="identifier">cb</span></code>
- denotes an object satisfying <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">constant
- buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
- denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.SyncWriteStream.t0"></a><p class="title"><b>Table&#160;7.37.&#160;Buffer-oriented synchronous write stream requirements</b></p>
-<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous write stream requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- operation
- </p>
- </th>
-<th>
- <p>
- type
- </p>
- </th>
-<th>
- <p>
- semantics, pre/post-conditions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Equivalent to:
-</p>
-<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
-</pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">,</span>
- <span class="identifier">ec</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Writes one or more bytes of data to the stream <code class="computeroutput"><span class="identifier">a</span></code>.<br>
- <br> The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
- specifies memory where the data to be written is located. The
- <code class="computeroutput"><span class="identifier">write_some</span></code> operation
- shall always write a buffer in the sequence completely before proceeding
- to the next.<br> <br> If successful, returns the number of
- bytes written and sets <code class="computeroutput"><span class="identifier">ec</span></code>
- such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
- is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
- and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
- that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
- is true.<br> <br> If the total size of all buffers in the sequence
- <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.TimeTraits"></a><a class="link" href="reference.html#boost_asio.reference.TimeTraits" title="Time traits requirements">Time traits requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a time traits class for time type <code class="computeroutput"><span class="identifier">Time</span></code>,
- <code class="computeroutput"><span class="identifier">t</span></code>, <code class="computeroutput"><span class="identifier">t1</span></code>,
- and <code class="computeroutput"><span class="identifier">t2</span></code> denote values of type
- <code class="computeroutput"><span class="identifier">Time</span></code>, and <code class="computeroutput"><span class="identifier">d</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">duration_type</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.TimeTraits.t0"></a><p class="title"><b>Table&#160;7.38.&#160;TimeTraits requirements</b></p>
-<div class="table-contents"><table class="table" summary="TimeTraits requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">time_type</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Time</span></code>
- </p>
- </td>
-<td>
- <p>
- Represents an absolute time. Must support default construction,
- and meet the requirements for <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
- and <code class="computeroutput"><span class="identifier">Assignable</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">duration_type</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Represents the difference between two absolute times. Must support
- default construction, and meet the requirements for <code class="computeroutput"><span class="identifier">CopyConstructible</span></code> and <code class="computeroutput"><span class="identifier">Assignable</span></code>. A duration can be
- positive, negative, or zero.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">time_type</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the current time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span>
- <span class="identifier">d</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">time_type</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a new absolute time resulting from adding the duration
- <code class="computeroutput"><span class="identifier">d</span></code> to the absolute
- time <code class="computeroutput"><span class="identifier">t</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">subtract</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span>
- <span class="identifier">t2</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">duration_type</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the duration resulting from subtracting <code class="computeroutput"><span class="identifier">t2</span></code>
- from <code class="computeroutput"><span class="identifier">t1</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">less_than</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span>
- <span class="identifier">t2</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="keyword">bool</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns whether <code class="computeroutput"><span class="identifier">t1</span></code>
- is to be treated as less than <code class="computeroutput"><span class="identifier">t2</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">to_posix_duration</span><span class="special">(</span><span class="identifier">d</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_duration_type</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the <code class="computeroutput"><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_duration_type</span></code>
- value that most closely represents the duration <code class="computeroutput"><span class="identifier">d</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.TimerService"></a><a class="link" href="reference.html#boost_asio.reference.TimerService" title="Timer service requirements">Timer service requirements</a>
-</h3></div></div></div>
-<p>
- A timer service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a timer service class for time type <code class="computeroutput"><span class="identifier">Time</span></code>
- and traits type <code class="computeroutput"><span class="identifier">TimeTraits</span></code>,
- <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>,
- <code class="computeroutput"><span class="identifier">t</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">Time</span></code>, <code class="computeroutput"><span class="identifier">d</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span></code>,
- <code class="computeroutput"><span class="identifier">e</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">h</span></code> denotes a value meeting <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements"><code class="computeroutput"><span class="identifier">WaitHandler</span></code></a> requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.TimerService.t0"></a><p class="title"><b>Table&#160;7.39.&#160;TimerService requirements</b></p>
-<div class="table-contents"><table class="table" summary="TimerService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous wait operations,
- as if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Causes any outstanding asynchronous wait operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
- success or failure. Returns the number of operations that were
- cancelled.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Time</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Implicitly cancels asynchronous wait operations, as if by calling
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">)</span></code>.
- Returns the number of operations that were cancelled.<br> post:
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">t</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value equivalent to <code class="computeroutput"><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">subtract</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">())</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Equivalent to <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">(),</span> <span class="identifier">d</span><span class="special">),</span> <span class="identifier">e</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
- success or failure. Returns <code class="computeroutput"><span class="identifier">e</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">e</span>
- <span class="special">||</span> <span class="special">!</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">lt</span><span class="special">(</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">(),</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Initiates an asynchronous wait operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The handler shall be
- posted for execution only if the condition <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="special">!</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">lt</span><span class="special">(</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code> holds, where <code class="computeroutput"><span class="identifier">ec</span></code>
- is the error code to be passed to the handler.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.WaitableTimerService"></a><a class="link" href="reference.html#boost_asio.reference.WaitableTimerService" title="Waitable timer service requirements">Waitable timer
- service requirements</a>
-</h3></div></div></div>
-<p>
- A waitable timer service must meet the requirements for an <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">I/O
- object service</a>, as well as the additional requirements listed below.
- </p>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a waitable timer service class for clock type <code class="computeroutput"><span class="identifier">Clock</span></code>,
- where <code class="computeroutput"><span class="identifier">Clock</span></code> meets the C++11
- clock type requirements, <code class="computeroutput"><span class="identifier">a</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
- <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">t</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">time_point</span></code>,
- <code class="computeroutput"><span class="identifier">d</span></code> denotes a value of type
- <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
- and <code class="computeroutput"><span class="identifier">h</span></code> denotes a value meeting
- <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements"><code class="computeroutput"><span class="identifier">WaitHandler</span></code></a>
- requirements.
- </p>
-<div class="table">
-<a name="boost_asio.reference.WaitableTimerService.t0"></a><p class="title"><b>Table&#160;7.40.&#160;WaitableTimerService requirements</b></p>
-<div class="table-contents"><table class="table" summary="WaitableTimerService requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- From <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a>
- requirements. Implicitly cancels asynchronous wait operations,
- as if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Causes any outstanding asynchronous wait operations to complete
- as soon as possible. Handlers for cancelled operations shall be
- passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
- success or failure. Returns the number of operations that were
- cancelled.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">time_point</span></code>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Implicitly cancels asynchronous wait operations, as if by calling
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">)</span></code>.
- Returns the number of operations that were cancelled.<br> post:
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">t</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns a value equivalent to <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">size_t</span></code>
- </p>
- </td>
-<td>
- <p>
- Equivalent to <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">e</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">error_code</span></code>
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
- success or failure. Returns <code class="computeroutput"><span class="identifier">e</span></code>.<br>
- post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">e</span>
- <span class="special">||</span> <span class="special">!(</span><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span>
- <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
-</pre>
-<p>
- </p>
- </td>
-<td>
- </td>
-<td>
- <p>
- Initiates an asynchronous wait operation that is performed via
- the <code class="computeroutput"><span class="identifier">io_service</span></code>
- object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
- and behaves according to <a class="link" href="reference.html#boost_asio.reference.asynchronous_operations" title="Requirements on asynchronous operations">asynchronous
- operation</a> requirements.<br> <br> The handler shall be
- posted for execution only if the condition <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
- <span class="special">!(</span><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;</span>
- <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code>
- holds, where <code class="computeroutput"><span class="identifier">ec</span></code>
- is the error code to be passed to the handler.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.WaitHandler"></a><a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">Wait handler requirements</a>
-</h3></div></div></div>
-<p>
- A wait handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a wait handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.WaitHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.WaitHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.WaitHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a wait handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A wait handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">wait_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a wait handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">wait_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">wait_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.WaitTraits"></a><a class="link" href="reference.html#boost_asio.reference.WaitTraits" title="Wait traits requirements">Wait traits requirements</a>
-</h3></div></div></div>
-<p>
- In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
- a wait traits class for clock type <code class="computeroutput"><span class="identifier">Clock</span></code>,
- where <code class="computeroutput"><span class="identifier">Clock</span></code> meets the C++11
- type requirements for a clock, and <code class="computeroutput"><span class="identifier">d</span></code>
- denotes a value of type <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>.
- </p>
-<div class="table">
-<a name="boost_asio.reference.WaitTraits.t0"></a><p class="title"><b>Table&#160;7.41.&#160;WaitTraits requirements</b></p>
-<div class="table-contents"><table class="table" summary="WaitTraits requirements">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- expression
- </p>
- </th>
-<th>
- <p>
- return type
- </p>
- </th>
-<th>
- <p>
- assertion/note<br> pre/post-condition
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">to_wait_duration</span><span class="special">(</span><span class="identifier">d</span><span class="special">);</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>
- </p>
- </td>
-<td>
- <p>
- Returns the maximum duration to be used for an individual, implementation-defined
- wait operation.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.WriteHandler"></a><a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">Write handler requirements</a>
-</h3></div></div></div>
-<p>
- A write handler must meet the requirements for a <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">handler</a>.
- A value <code class="computeroutput"><span class="identifier">h</span></code> of a write handler
- class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">s</span><span class="special">)</span></code>,
- where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
- type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
- and <code class="computeroutput"><span class="identifier">s</span></code> is an lvalue of type
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">size_t</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.WriteHandler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.WriteHandler.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.WriteHandler.examples">Examples</a>
- </h5>
-<p>
- A free function as a write handler:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">write_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- A write handler function object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">write_handler</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">...</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- A non-static class member function adapted to a write handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">write_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_write</span><span class="special">(...,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">write_handler</span><span class="special">,</span>
- <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.add_service"></a><a class="link" href="reference.html#boost_asio.reference.add_service" title="add_service">add_service</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp148708944"></a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">add_service</span><span class="special">(</span>
- <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">,</span>
- <span class="identifier">Service</span> <span class="special">*</span> <span class="identifier">svc</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to add a service to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<h5>
-<a name="boost_asio.reference.add_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.add_service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.add_service.parameters">Parameters</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ios</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object that owns the service.
- </p></dd>
-<dt><span class="term">svc</span></dt>
-<dd>
-<p>
- The service object. On success, ownership of the service object is
- transferred to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. When the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object is destroyed, it will destroy the service object by performing:
-</p>
-<pre class="programlisting"><span class="keyword">delete</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">*&gt;(</span><span class="identifier">svc</span><span class="special">)</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.add_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.add_service.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.add_service.exceptions">Exceptions</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::asio::service_already_exists</span></dt>
-<dd><p>
- Thrown if a service of the given type is already present in the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p></dd>
-<dt><span class="term">boost::asio::invalid_service_owner</span></dt>
-<dd><p>
- Thrown if the service's owning <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> is not the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object specified by the ios parameter.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.add_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.add_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.add_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.asio_handler_allocate"></a><a class="link" href="reference.html#boost_asio.reference.asio_handler_allocate" title="asio_handler_allocate">asio_handler_allocate</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp148759744"></a>
-Default allocation function for handlers.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">);</span>
-</pre>
-<p>
- Asynchronous operations may need to allocate temporary objects. Since asynchronous
- operations have a handler function object, these temporary objects can be
- said to be associated with the handler.
- </p>
-<p>
- Implement asio_handler_allocate and asio_handler_deallocate for your own
- handlers to provide custom allocation for these temporary objects.
- </p>
-<p>
- The default implementation of these allocation hooks uses <code class="computeroutput"><span class="keyword">operator</span>
- <span class="keyword">new</span></code> and <code class="computeroutput"><span class="keyword">operator</span>
- <span class="keyword">delete</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.asio_handler_allocate.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_allocate.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_allocate.remarks">Remarks</a>
- </h5>
-<p>
- All temporary objects associated with a handler will be deallocated before
- the upcall to the handler is performed. This allows the same memory to be
- reused for a subsequent asynchronous operation initiated by the handler.
- </p>
-<h5>
-<a name="boost_asio.reference.asio_handler_allocate.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_allocate.example"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_allocate.example">Example</a>
- </h5>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_handler</span><span class="special">;</span>
-
-<span class="keyword">void</span><span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span> <span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
- <span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="identifier">pointer</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.asio_handler_allocate.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_allocate.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_allocate.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_alloc_hook.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.asio_handler_deallocate"></a><a class="link" href="reference.html#boost_asio.reference.asio_handler_deallocate" title="asio_handler_deallocate">asio_handler_deallocate</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp148817200"></a>
-Default deallocation function for handlers.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">pointer</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">);</span>
-</pre>
-<p>
- Implement asio_handler_allocate and asio_handler_deallocate for your own
- handlers to provide custom allocation for the associated temporary objects.
- </p>
-<p>
- The default implementation of these allocation hooks uses <code class="computeroutput"><span class="keyword">operator</span>
- <span class="keyword">new</span></code> and <code class="computeroutput"><span class="keyword">operator</span>
- <span class="keyword">delete</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.asio_handler_deallocate.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_deallocate.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_deallocate.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_alloc_hook.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.asio_handler_invoke"></a><a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke" title="asio_handler_invoke">asio_handler_invoke</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asio_handler_invoke.overload1">asio_handler_invoke
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.asio_handler_invoke.overload2">asio_handler_invoke
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp148839904"></a>
-Default invoke function for handlers.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.overload1" title="asio_handler_invoke (1 of 2 overloads)">asio_handler_invoke</a><span class="special">(</span>
- <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.overload1" title="asio_handler_invoke (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.overload2" title="asio_handler_invoke (2 of 2 overloads)">asio_handler_invoke</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.overload2" title="asio_handler_invoke (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Completion handlers for asynchronous operations are invoked by the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- associated with the corresponding object (e.g. a socket or deadline_timer).
- Certain guarantees are made on when the handler may be invoked, in particular
- that a handler can only be invoked from a thread that is currently calling
- <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- on the corresponding <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object. Handlers may
- subsequently be invoked through other objects (such as <a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> objects) that provide additional
- guarantees.
- </p>
-<p>
- When asynchronous operations are composed from other asynchronous operations,
- all intermediate handlers should be invoked using the same method as the
- final handler. This is required to ensure that user-defined objects are not
- accessed in a way that may violate the guarantees. This hooking function
- ensures that the invoked method used for the final handler is accessible
- at each intermediate step.
- </p>
-<p>
- Implement asio_handler_invoke for your own handlers to specify a custom invocation
- strategy.
- </p>
-<p>
- This default implementation invokes the function object like so:
- </p>
-<pre class="programlisting"><span class="identifier">function</span><span class="special">();</span>
-</pre>
-<p>
- If necessary, the default implementation makes a copy of the function object
- so that the non-const operator() can be used.
- </p>
-<h5>
-<a name="boost_asio.reference.asio_handler_invoke.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_invoke.example"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.example">Example</a>
- </h5>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_handler</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span> <span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">context</span><span class="special">-&gt;</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">function</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.asio_handler_invoke.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_invoke.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_invoke_hook.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.asio_handler_invoke.overload1"></a><a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.overload1" title="asio_handler_invoke (1 of 2 overloads)">asio_handler_invoke
- (1 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Default handler invocation hook used for non-const function objects.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span>
- <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.asio_handler_invoke.overload2"></a><a class="link" href="reference.html#boost_asio.reference.asio_handler_invoke.overload2" title="asio_handler_invoke (2 of 2 overloads)">asio_handler_invoke
- (2 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Default handler invocation hook used for const function objects.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.asio_handler_is_continuation"></a><a class="link" href="reference.html#boost_asio.reference.asio_handler_is_continuation" title="asio_handler_is_continuation">asio_handler_is_continuation</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp148928144"></a>
-Default continuation function for handlers.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">asio_handler_is_continuation</span><span class="special">(</span>
- <span class="special">...</span> <span class="special">);</span>
-</pre>
-<p>
- Asynchronous operations may represent a continuation of the asynchronous
- control flow associated with the current handler. The implementation can
- use this knowledge to optimise scheduling of the handler.
- </p>
-<p>
- Implement asio_handler_is_continuation for your own handlers to indicate
- when a handler represents a continuation.
- </p>
-<p>
- The default implementation of the continuation hook returns <code class="computeroutput"><span class="keyword">false</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.asio_handler_is_continuation.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_is_continuation.example"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_is_continuation.example">Example</a>
- </h5>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_handler</span><span class="special">;</span>
-
-<span class="keyword">bool</span> <span class="identifier">asio_handler_is_continuation</span><span class="special">(</span><span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.asio_handler_is_continuation.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.asio_handler_is_continuation.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.asio_handler_is_continuation.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_continuation_hook.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.async_connect" title="async_connect">async_connect</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_connect.overload1">async_connect
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_connect.overload2">async_connect
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_connect.overload3">async_connect
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_connect.overload4">async_connect
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp148956192"></a>
-Asynchronously establishes a socket connection by trying each
- endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_connect.overload1" title="async_connect (1 of 4 overloads)">async_connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_connect.overload1" title="async_connect (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_connect.overload2" title="async_connect (2 of 4 overloads)">async_connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_connect.overload2" title="async_connect (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_connect.overload3" title="async_connect (3 of 4 overloads)">async_connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_connect.overload3" title="async_connect (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_connect.overload4" title="async_connect (4 of 4 overloads)">async_connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_connect.overload4" title="async_connect (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/connect.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.async_connect.overload1" title="async_connect (1 of 4 overloads)">async_connect
- (1 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Asynchronously establishes a socket connection by trying each endpoint
- in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.async_connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connect operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation. if the sequence is empty, set to</span>
- <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
- <span class="comment">// error from the last connection attempt.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// On success, an iterator denoting the successfully</span>
- <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
- <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
- This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.async_connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// ...</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.async_connect.overload2" title="async_connect (2 of 4 overloads)">async_connect
- (2 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Asynchronously establishes a socket connection by trying each endpoint
- in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.async_connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">end</span></dt>
-<dd><p>
- An iterator pointing to the end of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connect operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation. if the sequence is empty, set to</span>
- <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
- <span class="comment">// error from the last connection attempt.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// On success, an iterator denoting the successfully</span>
- <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
- <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// ...</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_connect.overload3"></a><a class="link" href="reference.html#boost_asio.reference.async_connect.overload3" title="async_connect (3 of 4 overloads)">async_connect
- (3 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Asynchronously establishes a socket connection by trying each endpoint
- in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.async_connect.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">connect_condition</span></dt>
-<dd>
-<p>
- A function object that is called prior to each connection attempt.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
- contains the result from the most recent connect operation. Before
- the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
- is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
- parameter is an iterator pointing to the next endpoint to be tried.
- The function object should return the next iterator, but is permitted
- to return a different iterator so that endpoints may be skipped.
- The implementation guarantees that the function object will never
- be called with the end iterator.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connect operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation. if the sequence is empty, set to</span>
- <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
- <span class="comment">// error from the last connection attempt.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// On success, an iterator denoting the successfully</span>
- <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
- <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_connect.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload3.remarks">Remarks</a>
- </h6>
-<p>
- This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
- This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.async_connect.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload3.example">Example</a>
- </h6>
-<p>
- The following connect condition function object can be used to output information
- about the individual connection attempts:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
-<span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
- function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span>
- <span class="identifier">my_connect_condition</span><span class="special">(),</span>
- <span class="identifier">connect_handler</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred.</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_connect.overload4"></a><a class="link" href="reference.html#boost_asio.reference.async_connect.overload4" title="async_connect (4 of 4 overloads)">async_connect
- (4 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Asynchronously establishes a socket connection by trying each endpoint
- in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ComposedConnectHandler" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.async_connect.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">end</span></dt>
-<dd><p>
- An iterator pointing to the end of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">connect_condition</span></dt>
-<dd>
-<p>
- A function object that is called prior to each connection attempt.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
- contains the result from the most recent connect operation. Before
- the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
- is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
- parameter is an iterator pointing to the next endpoint to be tried.
- The function object should return the next iterator, but is permitted
- to return a different iterator so that endpoints may be skipped.
- The implementation guarantees that the function object will never
- be called with the end iterator.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connect operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation. if the sequence is empty, set to</span>
- <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
- <span class="comment">// error from the last connection attempt.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// On success, an iterator denoting the successfully</span>
- <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
- <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_connect.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_connect.overload4.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_connect.overload4.example">Example</a>
- </h6>
-<p>
- The following connect condition function object can be used to output information
- about the individual connection attempts:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
-<span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
- function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">my_connect_condition</span><span class="special">(),</span>
- <span class="identifier">connect_handler</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred.</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_read"></a><a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read">async_read</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read.overload1">async_read
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read.overload2">async_read
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read.overload3">async_read
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read.overload4">async_read
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp149717968"></a>
-Start an asynchronous operation to read a certain amount of data
- from a stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read.overload1" title="async_read (1 of 4 overloads)">async_read</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read.overload1" title="async_read (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read.overload2" title="async_read (2 of 4 overloads)">async_read</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read.overload2" title="async_read (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read.overload3" title="async_read (3 of 4 overloads)">async_read</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read.overload3" title="async_read (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read.overload4" title="async_read (4 of 4 overloads)">async_read</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read.overload4" title="async_read (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_read.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read.overload1"></a><a class="link" href="reference.html#boost_asio.reference.async_read.overload1" title="async_read (1 of 4 overloads)">async_read
- (1 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data from a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other read operations
- (such as async_read, the stream's async_read_some function, or any other
- composed operations that perform reads) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the stream. Although the buffers object may be copied as necessary,
- ownership of the underlying memory blocks is retained by the caller,
- which must guarantee that they remain valid until the handler is
- called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be the number of</span>
- <span class="comment">// bytes successfully transferred</span>
- <span class="comment">// prior to the error.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read.overload2"></a><a class="link" href="reference.html#boost_asio.reference.async_read.overload2" title="async_read (2 of 4 overloads)">async_read
- (2 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data from a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<h6>
-<a name="boost_asio.reference.async_read.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the stream. Although the buffers object may be copied as necessary,
- ownership of the underlying memory blocks is retained by the caller,
- which must guarantee that they remain valid until the handler is
- called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_read_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the stream's async_read_some function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be the number of</span>
- <span class="comment">// bytes successfully transferred</span>
- <span class="comment">// prior to the error.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload2.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read.overload3"></a><a class="link" href="reference.html#boost_asio.reference.async_read.overload3" title="async_read (3 of 4 overloads)">async_read
- (3 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data from a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffer is full (that is, it has reached maximum size).
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other read operations
- (such as async_read, the stream's async_read_some function, or any other
- composed operations that perform reads) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be the number of</span>
- <span class="comment">// bytes successfully transferred</span>
- <span class="comment">// prior to the error.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload3.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read.overload4"></a><a class="link" href="reference.html#boost_asio.reference.async_read.overload4" title="async_read (4 of 4 overloads)">async_read
- (4 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data from a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffer is full (that is, it has reached maximum size).
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other read operations
- (such as async_read, the stream's async_read_some function, or any other
- composed operations that perform reads) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_read_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the stream's async_read_some function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be the number of</span>
- <span class="comment">// bytes successfully transferred</span>
- <span class="comment">// prior to the error.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_read_at"></a><a class="link" href="reference.html#boost_asio.reference.async_read_at" title="async_read_at">async_read_at</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_at.overload1">async_read_at
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_at.overload2">async_read_at
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_at.overload3">async_read_at
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_at.overload4">async_read_at
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp150140016"></a>
-Start an asynchronous operation to read a certain amount of
- data at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload1" title="async_read_at (1 of 4 overloads)">async_read_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload1" title="async_read_at (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload2" title="async_read_at (2 of 4 overloads)">async_read_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload2" title="async_read_at (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload3" title="async_read_at (3 of 4 overloads)">async_read_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload3" title="async_read_at (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload4" title="async_read_at (4 of 4 overloads)">async_read_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_at.overload4" title="async_read_at (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_read_at.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_at.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload1" title="async_read_at (1 of 4 overloads)">async_read_at
- (1 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a random access device at the specified offset. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the AsyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the device. Although the buffers object may be copied as necessary,
- ownership of the underlying memory blocks is retained by the caller,
- which must guarantee that they remain valid until the handler is
- called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes copied into the buffers. If an error</span>
- <span class="comment">// occurred, this will be the number of bytes successfully</span>
- <span class="comment">// transferred prior to the error.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload2" title="async_read_at (2 of 4 overloads)">async_read_at
- (2 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a random access device at the specified offset. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the AsyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the device. Although the buffers object may be copied as necessary,
- ownership of the underlying memory blocks is retained by the caller,
- which must guarantee that they remain valid until the handler is
- called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_read_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the device's async_read_some_at function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes copied into the buffers. If an error</span>
- <span class="comment">// occurred, this will be the number of bytes successfully</span>
- <span class="comment">// transferred prior to the error.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload2.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_at.overload3"></a><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload3" title="async_read_at (3 of 4 overloads)">async_read_at
- (3 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a random access device at the specified offset. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- An error occurred.
- </li></ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the AsyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes copied into the buffers. If an error</span>
- <span class="comment">// occurred, this will be the number of bytes successfully</span>
- <span class="comment">// transferred prior to the error.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload3.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_at.overload4"></a><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload4" title="async_read_at (4 of 4 overloads)">async_read_at
- (4 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read a certain amount of data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessReadDevice" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read a certain number of bytes
- of data from a random access device at the specified offset. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- The completion_condition function object returns 0.
- </li></ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_at.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_at.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_at.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the AsyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_read_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the device's async_read_some_at function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes copied into the buffers. If an error</span>
- <span class="comment">// occurred, this will be the number of bytes successfully</span>
- <span class="comment">// transferred prior to the error.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_read_until"></a><a class="link" href="reference.html#boost_asio.reference.async_read_until" title="async_read_until">async_read_until</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_until.overload1">async_read_until
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_until.overload2">async_read_until
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_until.overload3">async_read_until
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_read_until.overload4">async_read_until
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp150580304"></a>
-Start an asynchronous operation to read data into a streambuf
- until it contains a delimiter, matches a regular expression, or a function
- object indicates a match.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload1" title="async_read_until (1 of 4 overloads)">async_read_until</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload1" title="async_read_until (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload2" title="async_read_until (2 of 4 overloads)">async_read_until</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload2" title="async_read_until (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload3" title="async_read_until (3 of 4 overloads)">async_read_until</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload3" title="async_read_until (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload4" title="async_read_until (4 of 4 overloads)">async_read_until</a><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_read_until.overload4" title="async_read_until (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_read_until.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_until.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_until.overload1"></a><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload1" title="async_read_until (1 of 4 overloads)">async_read_until
- (1 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read data into a streambuf until it
- contains a specified delimiter.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data into the specified streambuf
- until the streambuf's get area contains the specified delimiter. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The get area of the streambuf contains the specified delimiter.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- If the streambuf's get area already contains the delimiter, this asynchronous
- operation completes immediately. The program must ensure that the stream
- performs no other read operations (such as async_read, async_read_until,
- the stream's async_read_some function, or any other composed operations
- that perform reads) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read. Ownership of
- the streambuf is retained by the caller, which must guarantee that
- it remains valid until the handler is called.
- </p></dd>
-<dt><span class="term">delim</span></dt>
-<dd><p>
- The delimiter character.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// The number of bytes in the streambuf's get</span>
- <span class="comment">// area up to and including the delimiter.</span>
- <span class="comment">// 0 if an error occurred.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload1.remarks">Remarks</a>
- </h6>
-<p>
- After a successful async_read_until operation, the streambuf may contain
- additional data beyond the delimiter. An application will typically leave
- that data in the streambuf for a subsequent async_read_until operation
- to examine.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload1.example">Example</a>
- </h6>
-<p>
- To asynchronously read data into a streambuf until a newline is encountered:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
- <span class="special">...</span>
- <span class="special">}</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- After the <code class="computeroutput"><span class="identifier">async_read_until</span></code>
- operation completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- contains the delimiter:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
- and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
- contains:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
-</pre>
-<p>
- The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- as follows:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- This data may be the start of a new line, to be extracted by a subsequent
- <code class="computeroutput"><span class="identifier">async_read_until</span></code> operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_until.overload2"></a><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload2" title="async_read_until (2 of 4 overloads)">async_read_until
- (2 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read data into a streambuf until it
- contains a specified delimiter.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data into the specified streambuf
- until the streambuf's get area contains the specified delimiter. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The get area of the streambuf contains the specified delimiter.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- If the streambuf's get area already contains the delimiter, this asynchronous
- operation completes immediately. The program must ensure that the stream
- performs no other read operations (such as async_read, async_read_until,
- the stream's async_read_some function, or any other composed operations
- that perform reads) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read. Ownership of
- the streambuf is retained by the caller, which must guarantee that
- it remains valid until the handler is called.
- </p></dd>
-<dt><span class="term">delim</span></dt>
-<dd><p>
- The delimiter string.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// The number of bytes in the streambuf's get</span>
- <span class="comment">// area up to and including the delimiter.</span>
- <span class="comment">// 0 if an error occurred.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload2.remarks">Remarks</a>
- </h6>
-<p>
- After a successful async_read_until operation, the streambuf may contain
- additional data beyond the delimiter. An application will typically leave
- that data in the streambuf for a subsequent async_read_until operation
- to examine.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload2.example">Example</a>
- </h6>
-<p>
- To asynchronously read data into a streambuf until a newline is encountered:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
- <span class="special">...</span>
- <span class="special">}</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="string">"\r\n"</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- After the <code class="computeroutput"><span class="identifier">async_read_until</span></code>
- operation completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- contains the delimiter:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
- and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
- contains:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
-</pre>
-<p>
- The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- as follows:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- This data may be the start of a new line, to be extracted by a subsequent
- <code class="computeroutput"><span class="identifier">async_read_until</span></code> operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_until.overload3"></a><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload3" title="async_read_until (3 of 4 overloads)">async_read_until
- (3 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read data into a streambuf until some
- part of its data matches a regular expression.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data into the specified streambuf
- until the streambuf's get area contains some data that matches a regular
- expression. The function call always returns immediately. The asynchronous
- operation will continue until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A substring of the streambuf's get area matches the regular expression.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- If the streambuf's get area already contains data that matches the regular
- expression, this asynchronous operation completes immediately. The program
- must ensure that the stream performs no other read operations (such as
- async_read, async_read_until, the stream's async_read_some function, or
- any other composed operations that perform reads) until this operation
- completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read. Ownership of
- the streambuf is retained by the caller, which must guarantee that
- it remains valid until the handler is called.
- </p></dd>
-<dt><span class="term">expr</span></dt>
-<dd><p>
- The regular expression.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// The number of bytes in the streambuf's get</span>
- <span class="comment">// area up to and including the substring</span>
- <span class="comment">// that matches the regular. expression.</span>
- <span class="comment">// 0 if an error occurred.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload3.remarks">Remarks</a>
- </h6>
-<p>
- After a successful async_read_until operation, the streambuf may contain
- additional data beyond that which matched the regular expression. An application
- will typically leave that data in the streambuf for a subsequent async_read_until
- operation to examine.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload3.example">Example</a>
- </h6>
-<p>
- To asynchronously read data into a streambuf until a CR-LF sequence is
- encountered:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
- <span class="special">...</span>
- <span class="special">}</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">(</span><span class="string">"\r\n"</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- After the <code class="computeroutput"><span class="identifier">async_read_until</span></code>
- operation completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- contains the data which matched the regular expression:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
- and including the match, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
- contains:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
-</pre>
-<p>
- The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- as follows:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- This data may be the start of a new line, to be extracted by a subsequent
- <code class="computeroutput"><span class="identifier">async_read_until</span></code> operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_read_until.overload4"></a><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload4" title="async_read_until (4 of 4 overloads)">async_read_until
- (4 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to read data into a streambuf until a function
- object indicates a match.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncReadStream" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
- <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data into the specified streambuf
- until a user-defined match condition function object, when applied to the
- data contained in the streambuf, indicates a successful match. The function
- call always returns immediately. The asynchronous operation will continue
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The match condition function object returns a std::pair where the second
- element evaluates to true.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- If the match condition function object already indicates a match, this
- asynchronous operation completes immediately. The program must ensure that
- the stream performs no other read operations (such as async_read, async_read_until,
- the stream's async_read_some function, or any other composed operations
- that perform reads) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the AsyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">match_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether a match exists.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">match_condition</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">);</span>
-</pre>
-<p>
- where <code class="computeroutput"><span class="identifier">iterator</span></code> represents
- the type:
-</p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">&lt;</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span>
-</pre>
-<p>
- The iterator parameters <code class="computeroutput"><span class="identifier">begin</span></code>
- and <code class="computeroutput"><span class="identifier">end</span></code> define the
- range of bytes to be scanned to determine whether there is a match.
- The <code class="computeroutput"><span class="identifier">first</span></code> member
- of the return value is an iterator marking one-past-the-end of the
- bytes that have been consumed by the match function. This iterator
- is used to calculate the <code class="computeroutput"><span class="identifier">begin</span></code>
- parameter for any subsequent invocation of the match condition. The
- <code class="computeroutput"><span class="identifier">second</span></code> member of
- the return value is true if a match has been found, false otherwise.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// The number of bytes in the streambuf's get</span>
- <span class="comment">// area that have been fully consumed by the</span>
- <span class="comment">// match function. O if an error occurred.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload4.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload4.remarks">Remarks</a>
- </h6>
-<p>
- After a successful async_read_until operation, the streambuf may contain
- additional data beyond that which matched the function object. An application
- will typically leave that data in the streambuf for a subsequent async_read_until
- operation to examine.
- </p>
-<p>
- The default implementation of the <code class="computeroutput"><span class="identifier">is_match_condition</span></code>
- type trait evaluates to true for function pointers and function objects
- with a <code class="computeroutput"><span class="identifier">result_type</span></code> typedef.
- It must be specialised for other user-defined function objects.
- </p>
-<h6>
-<a name="boost_asio.reference.async_read_until.overload4.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_read_until.overload4.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.async_read_until.overload4.examples">Examples</a>
- </h6>
-<p>
- To asynchronously read data into a streambuf until whitespace is encountered:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_iterator</span><span class="special">&lt;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span>
-<span class="identifier">match_whitespace</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
- <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++))</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_whitespace</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- To asynchronously read data into a streambuf until a matching character
- is found:
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">match_char</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">explicit</span> <span class="identifier">match_char</span><span class="special">(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">c_</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">{}</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">)</span> <span class="keyword">const</span>
- <span class="special">{</span>
- <span class="identifier">Iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
- <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c_</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">i</span><span class="special">++)</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">char</span> <span class="identifier">c_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">namespace</span> <span class="identifier">asio</span> <span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span><span class="identifier">match_char</span><span class="special">&gt;</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">true_type</span> <span class="special">{};</span>
-<span class="special">}</span> <span class="comment">// namespace asio</span>
-<span class="special">...</span>
-<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_char</span><span class="special">(</span><span class="char">'a'</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_result"></a><a class="link" href="reference.html#boost_asio.reference.async_result" title="async_result">async_result</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_result.async_result">async_result::async_result</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_result.get">async_result::get</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_result.type">async_result::type</a></span></dt>
-</dl></div>
-<p>
- An interface for customising the behaviour of an initiating function.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">async_result</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_result.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_result.types"></a></span><a class="link" href="reference.html#boost_asio.reference.async_result.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.async_result.type" title="async_result::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The return type of the initiating function.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.async_result.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_result.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.async_result.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.async_result.async_result" title="async_result::async_result"><span class="bold"><strong>async_result</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an async result from a given handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.async_result.get" title="async_result::get"><span class="bold"><strong>get</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain the value to be returned from the initiating function.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- This template may be specialised for user-defined handler types.
- </p>
-<h5>
-<a name="boost_asio.reference.async_result.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.async_result.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_result.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/async_result.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_result.async_result"></a><a class="link" href="reference.html#boost_asio.reference.async_result.async_result" title="async_result::async_result">async_result::async_result</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp151422496"></a>
-Construct an async result from a given handler.
- </p>
-<pre class="programlisting"><span class="identifier">async_result</span><span class="special">(</span>
- <span class="identifier">Handler</span> <span class="special">&amp;</span> <span class="special">);</span>
-</pre>
-<p>
- When using a specalised <a class="link" href="reference.html#boost_asio.reference.async_result" title="async_result"><code class="computeroutput"><span class="identifier">async_result</span></code></a>, the constructor
- has an opportunity to initialise some state associated with the handler,
- which is then returned from the initiating function.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_result.get"></a><a class="link" href="reference.html#boost_asio.reference.async_result.get" title="async_result::get">async_result::get</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp151431888"></a>
-Obtain the value to be returned from the initiating function.
- </p>
-<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_result.type"></a><a class="link" href="reference.html#boost_asio.reference.async_result.type" title="async_result::type">async_result::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp151437648"></a>
-The return type of the initiating function.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.async_result.type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_result.type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_result.type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/async_result.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_write"></a><a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write">async_write</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write.overload1">async_write
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write.overload2">async_write
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write.overload3">async_write
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write.overload4">async_write
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp151449856"></a>
-Start an asynchronous operation to write a certain amount of data
- to a stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write.overload1" title="async_write (1 of 4 overloads)">async_write</a><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write.overload1" title="async_write (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write.overload2" title="async_write (2 of 4 overloads)">async_write</a><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write.overload2" title="async_write (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write.overload3" title="async_write (3 of 4 overloads)">async_write</a><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write.overload3" title="async_write (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write.overload4" title="async_write (4 of 4 overloads)">async_write</a><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write.overload4" title="async_write (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_write.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write.overload1"></a><a class="link" href="reference.html#boost_asio.reference.async_write.overload1" title="async_write (1 of 4 overloads)">async_write
- (1 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write all of the supplied data to a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other write operations
- (such as async_write, the stream's async_write_some function, or any other
- composed operations that perform writes) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the AsyncWriteStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be less than the sum</span>
- <span class="comment">// of the buffer sizes.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_write.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write.overload2"></a><a class="link" href="reference.html#boost_asio.reference.async_write.overload2" title="async_write (2 of 4 overloads)">async_write
- (2 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write a certain amount of data to a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other write operations
- (such as async_write, the stream's async_write_some function, or any other
- composed operations that perform writes) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the AsyncWriteStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_write_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the stream's async_write_some function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be less than the sum</span>
- <span class="comment">// of the buffer sizes.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_write.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.overload2.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write.overload3"></a><a class="link" href="reference.html#boost_asio.reference.async_write.overload3" title="async_write (3 of 4 overloads)">async_write
- (3 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write all of the supplied data to a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other write operations
- (such as async_write, the stream's async_write_some function, or any other
- composed operations that perform writes) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the AsyncWriteStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be less than the sum</span>
- <span class="comment">// of the buffer sizes.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write.overload4"></a><a class="link" href="reference.html#boost_asio.reference.async_write.overload4" title="async_write (4 of 4 overloads)">async_write
- (4 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write a certain amount of data to a
- stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncWriteStream" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
- <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a stream. The function call always returns immediately. The
- asynchronous operation will continue until one of the following conditions
- is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the stream performs no other write operations
- (such as async_write, the stream's async_write_some function, or any other
- composed operations that perform writes) until this operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the AsyncWriteStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_write_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the stream's async_write_some function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
- <span class="comment">// buffers. If an error occurred,</span>
- <span class="comment">// this will be less than the sum</span>
- <span class="comment">// of the buffer sizes.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.async_write_at"></a><a class="link" href="reference.html#boost_asio.reference.async_write_at" title="async_write_at">async_write_at</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write_at.overload1">async_write_at
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write_at.overload2">async_write_at
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write_at.overload3">async_write_at
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.async_write_at.overload4">async_write_at
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp151844896"></a>
-Start an asynchronous operation to write a certain amount of
- data at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload1" title="async_write_at (1 of 4 overloads)">async_write_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload1" title="async_write_at (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload2" title="async_write_at (2 of 4 overloads)">async_write_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload2" title="async_write_at (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload3" title="async_write_at (3 of 4 overloads)">async_write_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload3" title="async_write_at (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload4" title="async_write_at (4 of 4 overloads)">async_write_at</a><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.async_write_at.overload4" title="async_write_at (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.async_write_at.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write_at.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload1" title="async_write_at (1 of 4 overloads)">async_write_at
- (1 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write all of the supplied data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a random access device at a specified offset. The function call
- always returns immediately. The asynchronous operation will continue until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
- write operations (such as async_write_at, the device's async_write_some_at
- function, or any other composed operations that perform writes) until this
- operation completes. Operations are overlapping if the regions defined
- by their offsets, and the numbers of bytes to write, intersect.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the AsyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes written from the buffers. If an error</span>
- <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_write_at.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload2" title="async_write_at (2 of 4 overloads)">async_write_at
- (2 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write a certain amount of data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a random access device at a specified offset. The function call
- always returns immediately. The asynchronous operation will continue until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
- write operations (such as async_write_at, the device's async_write_some_at
- function, or any other composed operations that perform writes) until this
- operation completes. Operations are overlapping if the regions defined
- by their offsets, and the numbers of bytes to write, intersect.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the AsyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_write_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the device's async_write_some_at function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes written from the buffers. If an error</span>
- <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.async_write_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload2.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
- <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write_at.overload3"></a><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload3" title="async_write_at (3 of 4 overloads)">async_write_at
- (3 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write all of the supplied data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a random access device at a specified offset. The function call
- always returns immediately. The asynchronous operation will continue until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
- write operations (such as async_write_at, the device's async_write_some_at
- function, or any other composed operations that perform writes) until this
- operation completes. Operations are overlapping if the regions defined
- by their offsets, and the numbers of bytes to write, intersect.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write_at.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the AsyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes written from the buffers. If an error</span>
- <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.async_write_at.overload4"></a><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload4" title="async_write_at (4 of 4 overloads)">async_write_at
- (4 of 4 overloads)</a>
-</h4></div></div></div>
-<p>
- Start an asynchronous operation to write a certain amount of data at the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AsyncRandomAccessWriteDevice" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
- <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write a certain number of bytes
- of data to a random access device at a specified offset. The function call
- always returns immediately. The asynchronous operation will continue until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
- The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
- write operations (such as async_write_at, the device's async_write_some_at
- function, or any other composed operations that perform writes) until this
- operation completes. Operations are overlapping if the regions defined
- by their offsets, and the numbers of bytes to write, intersect.
- </p>
-<h6>
-<a name="boost_asio.reference.async_write_at.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.async_write_at.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.async_write_at.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the AsyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written. Ownership of the streambuf is retained
- by the caller, which must guarantee that it remains valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest async_write_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the device's async_write_some_at function.
- </p>
-</dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="comment">// Result of operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes written from the buffers. If an error</span>
- <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_datagram_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket">basic_datagram_socket</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.assign">basic_datagram_socket::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect">basic_datagram_socket::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive">basic_datagram_socket::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from">basic_datagram_socket::async_receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_send">basic_datagram_socket::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to">basic_datagram_socket::async_send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark">basic_datagram_socket::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.available">basic_datagram_socket::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket">basic_datagram_socket::basic_datagram_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.bind">basic_datagram_socket::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast">basic_datagram_socket::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable">basic_datagram_socket::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.cancel">basic_datagram_socket::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.close">basic_datagram_socket::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.connect">basic_datagram_socket::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.debug">basic_datagram_socket::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route">basic_datagram_socket::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted">basic_datagram_socket::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type">basic_datagram_socket::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation">basic_datagram_socket::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service">basic_datagram_socket::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_option">basic_datagram_socket::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_service">basic_datagram_socket::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.implementation">basic_datagram_socket::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type">basic_datagram_socket::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.io_control">basic_datagram_socket::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.is_open">basic_datagram_socket::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive">basic_datagram_socket::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.linger">basic_datagram_socket::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint">basic_datagram_socket::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer">basic_datagram_socket::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type">basic_datagram_socket::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections">basic_datagram_socket::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route">basic_datagram_socket::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record">basic_datagram_socket::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags">basic_datagram_socket::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band">basic_datagram_socket::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek">basic_datagram_socket::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native">basic_datagram_socket::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle">basic_datagram_socket::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type">basic_datagram_socket::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking">basic_datagram_socket::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_type">basic_datagram_socket::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking">basic_datagram_socket::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io">basic_datagram_socket::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.open">basic_datagram_socket::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_">basic_datagram_socket::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type">basic_datagram_socket::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive">basic_datagram_socket::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size">basic_datagram_socket::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from">basic_datagram_socket::receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark">basic_datagram_socket::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint">basic_datagram_socket::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address">basic_datagram_socket::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send">basic_datagram_socket::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size">basic_datagram_socket::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark">basic_datagram_socket::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send_to">basic_datagram_socket::send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.service">basic_datagram_socket::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.service_type">basic_datagram_socket::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.set_option">basic_datagram_socket::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown">basic_datagram_socket::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type">basic_datagram_socket::shutdown_type</a></span></dt>
-</dl></div>
-<p>
- Provides datagram-oriented socket functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">DatagramSocketService</a> <span class="special">=</span> <span class="identifier">datagram_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_datagram_socket</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">DatagramSocketService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_datagram_socket without opening it.
- </p>
- <p>
- Construct and open a basic_datagram_socket.
- </p>
- <p>
- Construct a basic_datagram_socket, opening it and binding it to
- the given local endpoint.
- </p>
- <p>
- Construct a basic_datagram_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_datagram_socket from another.
- </p>
- <p>
- Move-construct a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.is_open" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_datagram_socket from another.
- </p>
- <p>
- Move-assign a basic_datagram_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive a datagram with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a datagram to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
- provides asynchronous and blocking datagram-oriented socket functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_datagram_socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign" title="basic_datagram_socket::assign">basic_datagram_socket::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload1">basic_datagram_socket::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload2">basic_datagram_socket::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp152548480"></a>
-Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload1" title="basic_datagram_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload1" title="basic_datagram_socket::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload2" title="basic_datagram_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload2" title="basic_datagram_socket::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload1" title="basic_datagram_socket::assign (1 of 2 overloads)">basic_datagram_socket::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign.overload2" title="basic_datagram_socket::assign (2 of 2 overloads)">basic_datagram_socket::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect" title="basic_datagram_socket::async_connect">basic_datagram_socket::async_connect</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp152611552"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously connect a socket to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the connect
- fails, and the socket was automatically opened, the socket is not returned
- to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_connect.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected. Copies
- will be made of the endpoint object as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connection operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_connect.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_connect.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Connect succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive" title="basic_datagram_socket::async_receive">basic_datagram_socket::async_receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1">basic_datagram_socket::async_receive
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2">basic_datagram_socket::async_receive
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp152691184"></a>
-Start an asynchronous receive on a connected
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1" title="basic_datagram_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1" title="basic_datagram_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2" title="basic_datagram_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2" title="basic_datagram_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1" title="basic_datagram_socket::async_receive (1 of 2 overloads)">basic_datagram_socket::async_receive
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the datagram
- socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The async_receive operation can only be used with a connected socket.
- Use the async_receive_from function to receive data on an unconnected
- datagram socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2" title="basic_datagram_socket::async_receive (2 of 2 overloads)">basic_datagram_socket::async_receive
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the datagram
- socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The async_receive operation can only be used with a connected socket.
- Use the async_receive_from function to receive data on an unconnected
- datagram socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_receive_from"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from" title="basic_datagram_socket::async_receive_from">basic_datagram_socket::async_receive_from</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1">basic_datagram_socket::async_receive_from
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload2">basic_datagram_socket::async_receive_from
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp152838528"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">async_receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload2" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">async_receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload2" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">basic_datagram_socket::async_receive_from
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive a datagram. The function
- call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the datagram. Ownership of the sender_endpoint object is retained
- by the caller, which must guarantee that it is valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload2" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">basic_datagram_socket::async_receive_from
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive a datagram. The function
- call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the datagram. Ownership of the sender_endpoint object is retained
- by the caller, which must guarantee that it is valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_send"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send" title="basic_datagram_socket::async_send">basic_datagram_socket::async_send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1">basic_datagram_socket::async_send
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload2">basic_datagram_socket::async_send
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp152993904"></a>
-Start an asynchronous send on a connected
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1" title="basic_datagram_socket::async_send (1 of 2 overloads)">async_send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1" title="basic_datagram_socket::async_send (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload2" title="basic_datagram_socket::async_send (2 of 2 overloads)">async_send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload2" title="basic_datagram_socket::async_send (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1" title="basic_datagram_socket::async_send (1 of 2 overloads)">basic_datagram_socket::async_send
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send data on the datagram socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The async_send operation can only be used with a connected socket. Use
- the async_send_to function to send data on an unconnected datagram socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload2" title="basic_datagram_socket::async_send (2 of 2 overloads)">basic_datagram_socket::async_send
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send data on the datagram socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The async_send operation can only be used with a connected socket. Use
- the async_send_to function to send data on an unconnected datagram socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_send_to"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to" title="basic_datagram_socket::async_send_to">basic_datagram_socket::async_send_to</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1">basic_datagram_socket::async_send_to
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload2">basic_datagram_socket::async_send_to
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp153140400"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">async_send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload2" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">async_send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload2" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">basic_datagram_socket::async_send_to
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send a datagram to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent. Copies will
- be made of the endpoint as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload2" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">basic_datagram_socket::async_send_to
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send a datagram to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent. Copies will
- be made of the endpoint as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark" title="basic_datagram_socket::at_mark">basic_datagram_socket::at_mark</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1">basic_datagram_socket::at_mark
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2">basic_datagram_socket::at_mark
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp153312224"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1" title="basic_datagram_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1" title="basic_datagram_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2" title="basic_datagram_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2" title="basic_datagram_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1" title="basic_datagram_socket::at_mark (1 of 2 overloads)">basic_datagram_socket::at_mark
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2" title="basic_datagram_socket::at_mark (2 of 2 overloads)">basic_datagram_socket::at_mark
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.available"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available" title="basic_datagram_socket::available">basic_datagram_socket::available</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload1">basic_datagram_socket::available
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload2">basic_datagram_socket::available
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp153367008"></a>
-Determine the number of bytes available for
- reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload1" title="basic_datagram_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload1" title="basic_datagram_socket::available (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload2" title="basic_datagram_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload2" title="basic_datagram_socket::available (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.available.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload1" title="basic_datagram_socket::available (1 of 2 overloads)">basic_datagram_socket::available
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.available.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.available.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.available.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload2" title="basic_datagram_socket::available (2 of 2 overloads)">basic_datagram_socket::available
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.available.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.available.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket" title="basic_datagram_socket::basic_datagram_socket">basic_datagram_socket::basic_datagram_socket</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1">basic_datagram_socket::basic_datagram_socket
- (1 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2">basic_datagram_socket::basic_datagram_socket
- (2 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3">basic_datagram_socket::basic_datagram_socket
- (3 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4">basic_datagram_socket::basic_datagram_socket
- (4 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5">basic_datagram_socket::basic_datagram_socket
- (5 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6">basic_datagram_socket::basic_datagram_socket
- (6 of 6 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp153426432"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>, opening
- it and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> on an existing
- native socket.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
- <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
- <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
- (1 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a datagram socket without opening it. The <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code>
- function must be called before data can be sent or received on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the datagram socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
- (2 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a datagram socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the datagram socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
- (3 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>, opening
- it and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a datagram socket and automatically opens it
- bound to the specified endpoint on the local machine. The protocol used
- is the protocol associated with the given endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the datagram socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the datagram socket will
- be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
- (4 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> on an
- existing native socket.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a datagram socket object to hold an existing
- native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the datagram socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-<dt><span class="term">native_socket</span></dt>
-<dd><p>
- The new underlying socket implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
- (5 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
- <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a datagram socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
- (6 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a
- socket of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">basic_datagram_socket</span><span class="special">(</span>
- <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a datagram socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind" title="basic_datagram_socket::bind">basic_datagram_socket::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1">basic_datagram_socket::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload2">basic_datagram_socket::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp153694528"></a>
-Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1" title="basic_datagram_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1" title="basic_datagram_socket::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload2" title="basic_datagram_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload2" title="basic_datagram_socket::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1" title="basic_datagram_socket::bind (1 of 2 overloads)">basic_datagram_socket::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload2" title="basic_datagram_socket::bind (2 of 2 overloads)">basic_datagram_socket::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast" title="basic_datagram_socket::broadcast">basic_datagram_socket::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp153837536"></a>
-Socket option to permit sending of broadcast
- messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable" title="basic_datagram_socket::bytes_readable">basic_datagram_socket::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp153894240"></a>
-IO control command to get the amount
- of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel" title="basic_datagram_socket::cancel">basic_datagram_socket::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload1">basic_datagram_socket::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload2">basic_datagram_socket::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp153933376"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload1" title="basic_datagram_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload1" title="basic_datagram_socket::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload2" title="basic_datagram_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload2" title="basic_datagram_socket::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload1" title="basic_datagram_socket::cancel (1 of 2 overloads)">basic_datagram_socket::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload2" title="basic_datagram_socket::cancel (2 of 2 overloads)">basic_datagram_socket::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close" title="basic_datagram_socket::close">basic_datagram_socket::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload1">basic_datagram_socket::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2">basic_datagram_socket::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154023904"></a>
-Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload1" title="basic_datagram_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload1" title="basic_datagram_socket::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2" title="basic_datagram_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2" title="basic_datagram_socket::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload1" title="basic_datagram_socket::close (1 of 2 overloads)">basic_datagram_socket::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.close.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload1.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2" title="basic_datagram_socket::close (2 of 2 overloads)">basic_datagram_socket::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.close.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close.overload2.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect" title="basic_datagram_socket::connect">basic_datagram_socket::connect</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1">basic_datagram_socket::connect
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload2">basic_datagram_socket::connect
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154113840"></a>
-Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1" title="basic_datagram_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1" title="basic_datagram_socket::connect (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload2" title="basic_datagram_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload2" title="basic_datagram_socket::connect (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1" title="basic_datagram_socket::connect (1 of 2 overloads)">basic_datagram_socket::connect
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload2" title="basic_datagram_socket::connect (2 of 2 overloads)">basic_datagram_socket::connect
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug" title="basic_datagram_socket::debug">basic_datagram_socket::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154249552"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route" title="basic_datagram_socket::do_not_route">basic_datagram_socket::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154306128"></a>
-Socket option to prevent routing, use
- local interfaces only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted" title="basic_datagram_socket::enable_connection_aborted">basic_datagram_socket::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154362928"></a>
-Socket option to report aborted
- connections on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type" title="basic_datagram_socket::endpoint_type">basic_datagram_socket::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp154423728"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation" title="basic_datagram_socket::get_implementation">basic_datagram_socket::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload1">basic_datagram_socket::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload2">basic_datagram_socket::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154436992"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload1" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload1" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload2" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload2" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload1" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">basic_datagram_socket::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation.overload2" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">basic_datagram_socket::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service" title="basic_datagram_socket::get_io_service">basic_datagram_socket::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154466800"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option" title="basic_datagram_socket::get_option">basic_datagram_socket::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1">basic_datagram_socket::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload2">basic_datagram_socket::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154484624"></a>
-Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1" title="basic_datagram_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1" title="basic_datagram_socket::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload2" title="basic_datagram_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload2" title="basic_datagram_socket::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1" title="basic_datagram_socket::get_option (1 of 2 overloads)">basic_datagram_socket::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload2" title="basic_datagram_socket::get_option (2 of 2 overloads)">basic_datagram_socket::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service" title="basic_datagram_socket::get_service">basic_datagram_socket::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload1">basic_datagram_socket::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload2">basic_datagram_socket::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154624320"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload1" title="basic_datagram_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload1" title="basic_datagram_socket::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload2" title="basic_datagram_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload2" title="basic_datagram_socket::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload1" title="basic_datagram_socket::get_service (1 of 2 overloads)">basic_datagram_socket::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service.overload2" title="basic_datagram_socket::get_service (2 of 2 overloads)">basic_datagram_socket::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation" title="basic_datagram_socket::implementation">basic_datagram_socket::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154653888"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type" title="basic_datagram_socket::implementation_type">basic_datagram_socket::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154662320"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control" title="basic_datagram_socket::io_control">basic_datagram_socket::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1">basic_datagram_socket::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload2">basic_datagram_socket::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154675904"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1" title="basic_datagram_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1" title="basic_datagram_socket::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload2" title="basic_datagram_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload2" title="basic_datagram_socket::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1" title="basic_datagram_socket::io_control (1 of 2 overloads)">basic_datagram_socket::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload2" title="basic_datagram_socket::io_control (2 of 2 overloads)">basic_datagram_socket::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.is_open" title="basic_datagram_socket::is_open">basic_datagram_socket::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154813216"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive" title="basic_datagram_socket::keep_alive">basic_datagram_socket::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154821056"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger" title="basic_datagram_socket::linger">basic_datagram_socket::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp154877920"></a>
-Socket option to specify whether the socket
- lingers on close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint" title="basic_datagram_socket::local_endpoint">basic_datagram_socket::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1">basic_datagram_socket::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2">basic_datagram_socket::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp154939792"></a>
-Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">basic_datagram_socket::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">basic_datagram_socket::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket. Returns a
- default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer" title="basic_datagram_socket::lowest_layer">basic_datagram_socket::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload1">basic_datagram_socket::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload2">basic_datagram_socket::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp155044016"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload1" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload1" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload2" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload2" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload1" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">basic_datagram_socket::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload2" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">basic_datagram_socket::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type" title="basic_datagram_socket::lowest_layer_type">basic_datagram_socket::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155086192"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">DatagramSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections" title="basic_datagram_socket::max_connections">basic_datagram_socket::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155342112"></a>
-The maximum length of the queue of
- pending incoming connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route" title="basic_datagram_socket::message_do_not_route">basic_datagram_socket::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155351440"></a>
-Specify that the data should not
- be subject to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record" title="basic_datagram_socket::message_end_of_record">basic_datagram_socket::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155360928"></a>
-Specifies that the data marks
- the end of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags" title="basic_datagram_socket::message_flags">basic_datagram_socket::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155370384"></a>
-Bitmask type for flags that can be passed
- to send and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band" title="basic_datagram_socket::message_out_of_band">basic_datagram_socket::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155383440"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek" title="basic_datagram_socket::message_peek">basic_datagram_socket::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155392864"></a>
-Peek at incoming data without removing
- it from the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native" title="basic_datagram_socket::native">basic_datagram_socket::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155402272"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle" title="basic_datagram_socket::native_handle">basic_datagram_socket::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp155411232"></a>
-Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type" title="basic_datagram_socket::native_handle_type">basic_datagram_socket::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp155417808"></a>
-The native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DatagramSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking" title="basic_datagram_socket::native_non_blocking">basic_datagram_socket::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1">basic_datagram_socket::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2">basic_datagram_socket::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3">basic_datagram_socket::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp155431392"></a>
-Gets the non-blocking mode of the
- native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">basic_datagram_socket::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native socket. This mode has no effect on the behaviour of the socket
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the socket object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">basic_datagram_socket::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">basic_datagram_socket::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type" title="basic_datagram_socket::native_type">basic_datagram_socket::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp156036640"></a>
-(Deprecated: Use native_handle_type.) The
- native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DatagramSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking" title="basic_datagram_socket::non_blocking">basic_datagram_socket::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1">basic_datagram_socket::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2">basic_datagram_socket::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3">basic_datagram_socket::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp156050048"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">basic_datagram_socket::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">basic_datagram_socket::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">basic_datagram_socket::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io" title="basic_datagram_socket::non_blocking_io">basic_datagram_socket::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp156172352"></a>
-(Deprecated: Use non_blocking().) IO
- control command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open" title="basic_datagram_socket::open">basic_datagram_socket::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1">basic_datagram_socket::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload2">basic_datagram_socket::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp156206128"></a>
-Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1" title="basic_datagram_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1" title="basic_datagram_socket::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload2" title="basic_datagram_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload2" title="basic_datagram_socket::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1" title="basic_datagram_socket::open (1 of 2 overloads)">basic_datagram_socket::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload2" title="basic_datagram_socket::open (2 of 2 overloads)">basic_datagram_socket::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_" title="basic_datagram_socket::operator=">basic_datagram_socket::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1">basic_datagram_socket::operator=
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2">basic_datagram_socket::operator=
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp156322416"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1" title="basic_datagram_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1" title="basic_datagram_socket::operator= (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_datagram_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2" title="basic_datagram_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2" title="basic_datagram_socket::operator= (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1" title="basic_datagram_socket::operator= (1 of 2 overloads)">basic_datagram_socket::operator=
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_datagram_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a datagram socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2" title="basic_datagram_socket::operator= (2 of 2 overloads)">basic_datagram_socket::operator=
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a
- socket of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.DatagramSocketService" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_datagram_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a datagram socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type" title="basic_datagram_socket::protocol_type">basic_datagram_socket::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp156424864"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive" title="basic_datagram_socket::receive">basic_datagram_socket::receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1">basic_datagram_socket::receive
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2">basic_datagram_socket::receive
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3">basic_datagram_socket::receive
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp156437040"></a>
-Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1" title="basic_datagram_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1" title="basic_datagram_socket::receive (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2" title="basic_datagram_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2" title="basic_datagram_socket::receive (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3" title="basic_datagram_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3" title="basic_datagram_socket::receive (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1" title="basic_datagram_socket::receive (1 of 3 overloads)">basic_datagram_socket::receive
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the datagram socket. The function
- call will block until data has been received successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation can only be used with a connected socket. Use the
- receive_from function to receive data on an unconnected datagram socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2" title="basic_datagram_socket::receive (2 of 3 overloads)">basic_datagram_socket::receive
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the datagram socket. The function
- call will block until data has been received successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation can only be used with a connected socket. Use the
- receive_from function to receive data on an unconnected datagram socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3" title="basic_datagram_socket::receive (3 of 3 overloads)">basic_datagram_socket::receive
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the datagram socket. The function
- call will block until data has been received successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation can only be used with a connected socket. Use the
- receive_from function to receive data on an unconnected datagram socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size" title="basic_datagram_socket::receive_buffer_size">basic_datagram_socket::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp156603488"></a>
-Socket option for the receive buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive_from"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from">basic_datagram_socket::receive_from</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1">basic_datagram_socket::receive_from
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2">basic_datagram_socket::receive_from
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3">basic_datagram_socket::receive_from
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp156659424"></a>
-Receive a datagram with the endpoint of
- the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1" title="basic_datagram_socket::receive_from (1 of 3 overloads)">receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1" title="basic_datagram_socket::receive_from (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2" title="basic_datagram_socket::receive_from (2 of 3 overloads)">receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2" title="basic_datagram_socket::receive_from (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3" title="basic_datagram_socket::receive_from (3 of 3 overloads)">receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3" title="basic_datagram_socket::receive_from (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1" title="basic_datagram_socket::receive_from (1 of 3 overloads)">basic_datagram_socket::receive_from
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive a datagram with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive a datagram. The function call will block
- until data has been received successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the datagram.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2" title="basic_datagram_socket::receive_from (2 of 3 overloads)">basic_datagram_socket::receive_from
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive a datagram with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive a datagram. The function call will block
- until data has been received successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the datagram.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3" title="basic_datagram_socket::receive_from (3 of 3 overloads)">basic_datagram_socket::receive_from
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive a datagram with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive a datagram. The function call will block
- until data has been received successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the datagram.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark" title="basic_datagram_socket::receive_low_watermark">basic_datagram_socket::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp156844240"></a>
-Socket option for the receive
- low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint" title="basic_datagram_socket::remote_endpoint">basic_datagram_socket::remote_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1">basic_datagram_socket::remote_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2">basic_datagram_socket::remote_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp156900416"></a>
-Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">basic_datagram_socket::remote_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">basic_datagram_socket::remote_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket. Returns
- a default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address" title="basic_datagram_socket::reuse_address">basic_datagram_socket::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp157005872"></a>
-Socket option to allow the socket to
- be bound to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send" title="basic_datagram_socket::send">basic_datagram_socket::send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1">basic_datagram_socket::send
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2">basic_datagram_socket::send
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3">basic_datagram_socket::send
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp157062000"></a>
-Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1" title="basic_datagram_socket::send (1 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1" title="basic_datagram_socket::send (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2" title="basic_datagram_socket::send (2 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2" title="basic_datagram_socket::send (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3" title="basic_datagram_socket::send (3 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3" title="basic_datagram_socket::send (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1" title="basic_datagram_socket::send (1 of 3 overloads)">basic_datagram_socket::send
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the datagram socket. The function
- call will block until the data has been sent successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One ore more data buffers to be sent on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The send operation can only be used with a connected socket. Use the
- send_to function to send data on an unconnected datagram socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2" title="basic_datagram_socket::send (2 of 3 overloads)">basic_datagram_socket::send
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the datagram socket. The function
- call will block until the data has been sent successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One ore more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The send operation can only be used with a connected socket. Use the
- send_to function to send data on an unconnected datagram socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3" title="basic_datagram_socket::send (3 of 3 overloads)">basic_datagram_socket::send
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the datagram socket. The function
- call will block until the data has been sent successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The send operation can only be used with a connected socket. Use the
- send_to function to send data on an unconnected datagram socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size" title="basic_datagram_socket::send_buffer_size">basic_datagram_socket::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp157228368"></a>
-Socket option for the send buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark" title="basic_datagram_socket::send_low_watermark">basic_datagram_socket::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp157285408"></a>
-Socket option for the send low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send_to"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to" title="basic_datagram_socket::send_to">basic_datagram_socket::send_to</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1">basic_datagram_socket::send_to
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2">basic_datagram_socket::send_to
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload3">basic_datagram_socket::send_to
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp157341488"></a>
-Send a datagram to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1" title="basic_datagram_socket::send_to (1 of 3 overloads)">send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1" title="basic_datagram_socket::send_to (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2" title="basic_datagram_socket::send_to (2 of 3 overloads)">send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2" title="basic_datagram_socket::send_to (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload3" title="basic_datagram_socket::send_to (3 of 3 overloads)">send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload3" title="basic_datagram_socket::send_to (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1" title="basic_datagram_socket::send_to (1 of 3 overloads)">basic_datagram_socket::send_to
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send a datagram to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send a datagram to the specified remote endpoint.
- The function call will block until the data has been sent successfully
- or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2" title="basic_datagram_socket::send_to (2 of 3 overloads)">basic_datagram_socket::send_to
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send a datagram to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send a datagram to the specified remote endpoint.
- The function call will block until the data has been sent successfully
- or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload3" title="basic_datagram_socket::send_to (3 of 3 overloads)">basic_datagram_socket::send_to
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send a datagram to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send a datagram to the specified remote endpoint.
- The function call will block until the data has been sent successfully
- or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service" title="basic_datagram_socket::service">basic_datagram_socket::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp157537392"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type" title="basic_datagram_socket::service_type">basic_datagram_socket::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp157549920"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DatagramSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option" title="basic_datagram_socket::set_option">basic_datagram_socket::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1">basic_datagram_socket::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload2">basic_datagram_socket::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp157562160"></a>
-Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1" title="basic_datagram_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1" title="basic_datagram_socket::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload2" title="basic_datagram_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload2" title="basic_datagram_socket::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1" title="basic_datagram_socket::set_option (1 of 2 overloads)">basic_datagram_socket::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload2" title="basic_datagram_socket::set_option (2 of 2 overloads)">basic_datagram_socket::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown" title="basic_datagram_socket::shutdown">basic_datagram_socket::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1">basic_datagram_socket::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2">basic_datagram_socket::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp157691152"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1" title="basic_datagram_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1" title="basic_datagram_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2" title="basic_datagram_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2" title="basic_datagram_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1" title="basic_datagram_socket::shutdown (1 of 2 overloads)">basic_datagram_socket::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2" title="basic_datagram_socket::shutdown (2 of 2 overloads)">basic_datagram_socket::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_datagram_socket.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type" title="basic_datagram_socket::shutdown_type">basic_datagram_socket::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp157804992"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp157808384"></a>
- <a class="indexterm" name="idp157809488"></a>
- <a class="indexterm" name="idp157810592"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_datagram_socket.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_deadline_timer"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer" title="basic_deadline_timer">basic_deadline_timer</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait">basic_deadline_timer::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer">basic_deadline_timer::basic_deadline_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.cancel">basic_deadline_timer::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one">basic_deadline_timer::cancel_one</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.duration_type">basic_deadline_timer::duration_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at">basic_deadline_timer::expires_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now">basic_deadline_timer::expires_from_now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation">basic_deadline_timer::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_io_service">basic_deadline_timer::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_service">basic_deadline_timer::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.implementation">basic_deadline_timer::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.implementation_type">basic_deadline_timer::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.service">basic_deadline_timer::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.service_type">basic_deadline_timer::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.time_type">basic_deadline_timer::time_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.traits_type">basic_deadline_timer::traits_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.wait">basic_deadline_timer::wait</a></span></dt>
-</dl></div>
-<p>
- Provides waitable timer functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Time</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimeTraits" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">&gt;,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimerService" title="Timer service requirements">TimerService</a> <span class="special">=</span> <span class="identifier">deadline_timer_service</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_deadline_timer</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.duration_type" title="basic_deadline_timer::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation_type" title="basic_deadline_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service_type" title="basic_deadline_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.time_type" title="basic_deadline_timer::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.traits_type" title="basic_deadline_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer" title="basic_deadline_timer::basic_deadline_timer"><span class="bold"><strong>basic_deadline_timer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
- <p>
- Constructor to set a particular expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel" title="basic_deadline_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one" title="basic_deadline_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at" title="basic_deadline_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time as an absolute time.
- </p>
- <p>
- Set the timer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now" title="basic_deadline_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the timer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_io_service" title="basic_deadline_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait" title="basic_deadline_timer::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the timer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation" title="basic_deadline_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service" title="basic_deadline_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation" title="basic_deadline_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service" title="basic_deadline_timer::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer" title="basic_deadline_timer"><code class="computeroutput"><span class="identifier">basic_deadline_timer</span></code></a> class template
- provides the ability to perform a blocking or asynchronous wait for a timer
- to expire.
- </p>
-<p>
- A deadline timer is always in one of two states: "expired" or "not
- expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
- the wait operation will complete immediately.
- </p>
-<p>
- Most applications will use the <a class="link" href="reference.html#boost_asio.reference.deadline_timer" title="deadline_timer"><code class="computeroutput"><span class="identifier">deadline_timer</span></code></a> typedef.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.examples">Examples</a>
- </h5>
-<p>
- Performing a blocking wait:
- </p>
-<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// Set an expiry time relative to now.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-
-<span class="comment">// Wait for the timer to expire.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Performing an asynchronous wait:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer expired.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a timer with an absolute expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_from_string</span><span class="special">(</span><span class="string">"2005-12-07 23:59:59.000"</span><span class="special">));</span>
-
-<span class="comment">// Start an asynchronous wait.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.changing_an_active_deadline_timer_s_expiry_time"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.changing_an_active_deadline_timer_s_expiry_time">Changing
- an active deadline_timer's expiry time</a>
- </h5>
-<p>
- Changing the expiry time of a timer while there are pending asynchronous
- waits causes those wait operations to be cancelled. To ensure that the action
- associated with the timer is performed only once, use something like this:
- used:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
- <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="comment">// Too late, timer has already expired!</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer was not cancelled, take necessary action.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_deadline_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- function cancels any pending asynchronous waits, and returns the number
- of asynchronous waits that were cancelled. If it returns 0 then you were
- too late and the wait handler has already been executed, or will soon
- be executed. If it returns 1 then the wait handler was successfully cancelled.
- </li>
-<li class="listitem">
- If a wait handler is cancelled, the boost::system::error_code passed
- to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.reference.basic_deadline_timer.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait">basic_deadline_timer::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158054800"></a>
-Start an asynchronous wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to initiate an asynchronous wait against the
- timer. It always returns immediately.
- </p>
-<p>
- For each call to <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>, the supplied handler will be called
- exactly once. The handler will be called when:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The timer has expired.
- </li>
-<li class="listitem">
- The timer was cancelled, in which case the handler is passed the error
- code <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.async_wait.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.async_wait.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the timer expires. Copies will be made
- of the handler as required. The function signature of the handler
- must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer" title="basic_deadline_timer::basic_deadline_timer">basic_deadline_timer::basic_deadline_timer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1">basic_deadline_timer::basic_deadline_timer
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2">basic_deadline_timer::basic_deadline_timer
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3">basic_deadline_timer::basic_deadline_timer
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158094720"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">basic_deadline_timer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">basic_deadline_timer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Constructor to set a particular expiry time relative to now.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">basic_deadline_timer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">basic_deadline_timer::basic_deadline_timer
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_deadline_timer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a timer without setting an expiry time. The
- <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- functions must be called to set an expiry time before the timer can be
- waited on.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the timer will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">basic_deadline_timer::basic_deadline_timer
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">basic_deadline_timer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a timer and sets the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the timer will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer, expressed as an absolute
- time.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">basic_deadline_timer::basic_deadline_timer
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor to set a particular expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">basic_deadline_timer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a timer and sets the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the timer will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer, relative to now.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel" title="basic_deadline_timer::cancel">basic_deadline_timer::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1">basic_deadline_timer::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2">basic_deadline_timer::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158193824"></a>
-Cancel any asynchronous operations that are waiting
- on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1" title="basic_deadline_timer::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1" title="basic_deadline_timer::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2" title="basic_deadline_timer::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2" title="basic_deadline_timer::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1" title="basic_deadline_timer::cancel (1 of 2 overloads)">basic_deadline_timer::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous wait
- operations against the timer. The handler for each cancelled operation
- will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2" title="basic_deadline_timer::cancel (2 of 2 overloads)">basic_deadline_timer::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous wait
- operations against the timer. The handler for each cancelled operation
- will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one" title="basic_deadline_timer::cancel_one">basic_deadline_timer::cancel_one</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1">basic_deadline_timer::cancel_one
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2">basic_deadline_timer::cancel_one
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158271760"></a>
-Cancels one asynchronous operation that is
- waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">cancel_one</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">cancel_one</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">basic_deadline_timer::cancel_one
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">();</span>
-</pre>
-<p>
- This function forces the completion of one pending asynchronous wait
- operation against the timer. Handlers are cancelled in FIFO order. The
- handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled. That is, either
- 0 or 1.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">basic_deadline_timer::cancel_one
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function forces the completion of one pending asynchronous wait
- operation against the timer. Handlers are cancelled in FIFO order. The
- handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled. That is, either
- 0 or 1.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.duration_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.duration_type" title="basic_deadline_timer::duration_type">basic_deadline_timer::duration_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158350128"></a>
-The duration type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.duration_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.duration_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.duration_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_at"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at" title="basic_deadline_timer::expires_at">basic_deadline_timer::expires_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload1">basic_deadline_timer::expires_at
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2">basic_deadline_timer::expires_at
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3">basic_deadline_timer::expires_at
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158363344"></a>
-Get the timer's expiry time as an absolute
- time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload1" title="basic_deadline_timer::expires_at (1 of 3 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload1" title="basic_deadline_timer::expires_at (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2" title="basic_deadline_timer::expires_at (2 of 3 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2" title="basic_deadline_timer::expires_at (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3" title="basic_deadline_timer::expires_at (3 of 3 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3" title="basic_deadline_timer::expires_at (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload1" title="basic_deadline_timer::expires_at (1 of 3 overloads)">basic_deadline_timer::expires_at
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function may be used to obtain the timer's current expiry time.
- Whether the timer has expired or not does not affect this value.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2" title="basic_deadline_timer::expires_at (2 of 3 overloads)">basic_deadline_timer::expires_at
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3" title="basic_deadline_timer::expires_at (3 of 3 overloads)">basic_deadline_timer::expires_at
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now" title="basic_deadline_timer::expires_from_now">basic_deadline_timer::expires_from_now</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload1">basic_deadline_timer::expires_from_now
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2">basic_deadline_timer::expires_from_now
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3">basic_deadline_timer::expires_from_now
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158473008"></a>
-Get the timer's expiry time relative
- to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload1" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload1" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload1" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">basic_deadline_timer::expires_from_now
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function may be used to obtain the timer's current expiry time.
- Whether the timer has expired or not does not affect this value.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">basic_deadline_timer::expires_from_now
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">basic_deadline_timer::expires_from_now
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation" title="basic_deadline_timer::get_implementation">basic_deadline_timer::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload1">basic_deadline_timer::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload2">basic_deadline_timer::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158582576"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload1" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload1" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload2" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload2" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload1" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">basic_deadline_timer::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation.overload2" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">basic_deadline_timer::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_io_service" title="basic_deadline_timer::get_io_service">basic_deadline_timer::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp158612384"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service" title="basic_deadline_timer::get_service">basic_deadline_timer::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload1">basic_deadline_timer::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload2">basic_deadline_timer::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158630128"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload1" title="basic_deadline_timer::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload1" title="basic_deadline_timer::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload2" title="basic_deadline_timer::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload2" title="basic_deadline_timer::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload1" title="basic_deadline_timer::get_service (1 of 2 overloads)">basic_deadline_timer::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service.overload2" title="basic_deadline_timer::get_service (2 of 2 overloads)">basic_deadline_timer::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation" title="basic_deadline_timer::implementation">basic_deadline_timer::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp158659712"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation_type" title="basic_deadline_timer::implementation_type">basic_deadline_timer::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp158668144"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service" title="basic_deadline_timer::service">basic_deadline_timer::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp158682496"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service_type" title="basic_deadline_timer::service_type">basic_deadline_timer::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp158694736"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimerService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.time_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.time_type" title="basic_deadline_timer::time_type">basic_deadline_timer::time_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158706976"></a>
-The time type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.time_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.time_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.time_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.traits_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.traits_type" title="basic_deadline_timer::traits_type">basic_deadline_timer::traits_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158720272"></a>
-The time traits type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.traits_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.traits_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.traits_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.wait"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait" title="basic_deadline_timer::wait">basic_deadline_timer::wait</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload1">basic_deadline_timer::wait
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload2">basic_deadline_timer::wait
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158732512"></a>
-Perform a blocking wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload1" title="basic_deadline_timer::wait (1 of 2 overloads)">wait</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload1" title="basic_deadline_timer::wait (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload2" title="basic_deadline_timer::wait (2 of 2 overloads)">wait</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload2" title="basic_deadline_timer::wait (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.wait.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload1" title="basic_deadline_timer::wait (1 of 2 overloads)">basic_deadline_timer::wait
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform a blocking wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to wait for the timer to expire. This function
- blocks and does not return until the timer has expired.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.wait.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.wait.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_deadline_timer.wait.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload2" title="basic_deadline_timer::wait (2 of 2 overloads)">basic_deadline_timer::wait
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform a blocking wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to wait for the timer to expire. This function
- blocks and does not return until the timer has expired.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_deadline_timer.wait.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.wait.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_io_object"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object">basic_io_object</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.basic_io_object">basic_io_object::basic_io_object</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_implementation">basic_io_object::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_io_service">basic_io_object::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_service">basic_io_object::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.implementation">basic_io_object::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.implementation_type">basic_io_object::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.operator_eq_">basic_io_object::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.service">basic_io_object::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.service_type">basic_io_object::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object._basic_io_object">basic_io_object::~basic_io_object</a></span></dt>
-</dl></div>
-<p>
- Base class for all I/O objects.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoObjectService" title="I/O object service requirements">IoObjectService</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_io_object</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_io_object.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.implementation_type" title="basic_io_object::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.service_type" title="basic_io_object::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_io_object.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_io_service" title="basic_io_object::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_io_object.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object" title="basic_io_object::basic_io_object"><span class="bold"><strong>basic_io_object</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_io_object.
- </p>
- <p>
- Move-construct a basic_io_object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation" title="basic_io_object::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service" title="basic_io_object::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.operator_eq_" title="basic_io_object::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_io_object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object._basic_io_object" title="basic_io_object::~basic_io_object"><span class="bold"><strong>~basic_io_object</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_io_object.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.implementation" title="basic_io_object::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_io_object.service" title="basic_io_object::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_io_object.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.remarks">Remarks</a>
- </h5>
-<p>
- All I/O objects are non-copyable. However, when using C++0x, certain I/O
- objects do support move construction and move assignment.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_io_object.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_io_object.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.basic_io_object"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object" title="basic_io_object::basic_io_object">basic_io_object::basic_io_object</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload1">basic_io_object::basic_io_object
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload2">basic_io_object::basic_io_object
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158852800"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload1" title="basic_io_object::basic_io_object (1 of 2 overloads)">basic_io_object</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload1" title="basic_io_object::basic_io_object (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload2" title="basic_io_object::basic_io_object (2 of 2 overloads)">basic_io_object</a><span class="special">(</span>
- <span class="identifier">basic_io_object</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload2" title="basic_io_object::basic_io_object (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_io_object.basic_io_object.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload1" title="basic_io_object::basic_io_object (1 of 2 overloads)">basic_io_object::basic_io_object
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_io_object</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- Performs:
- </p>
-<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">get_implementation</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_io_object.basic_io_object.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload2" title="basic_io_object::basic_io_object (2 of 2 overloads)">basic_io_object::basic_io_object
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_io_object</span><span class="special">(</span>
- <span class="identifier">basic_io_object</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- Performs:
- </p>
-<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">get_implementation</span><span class="special">(),</span> <span class="identifier">other</span><span class="special">.</span><span class="identifier">get_implementation</span><span class="special">());</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_io_object.basic_io_object.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.basic_io_object.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.basic_io_object.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that support movability,
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation" title="basic_io_object::get_implementation">basic_io_object::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload1">basic_io_object::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload2">basic_io_object::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158908176"></a>
-Get the underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload1" title="basic_io_object::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload1" title="basic_io_object::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload2" title="basic_io_object::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload2" title="basic_io_object::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_io_object.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload1" title="basic_io_object::get_implementation (1 of 2 overloads)">basic_io_object::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_io_object.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_implementation.overload2" title="basic_io_object::get_implementation (2 of 2 overloads)">basic_io_object::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_io_service" title="basic_io_object::get_io_service">basic_io_object::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158935328"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_io_object.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service" title="basic_io_object::get_service">basic_io_object::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_service.overload1">basic_io_object::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_io_object.get_service.overload2">basic_io_object::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp158953072"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service.overload1" title="basic_io_object::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service.overload1" title="basic_io_object::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service.overload2" title="basic_io_object::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service.overload2" title="basic_io_object::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_io_object.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service.overload1" title="basic_io_object::get_service (1 of 2 overloads)">basic_io_object::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_io_object.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.get_service.overload2" title="basic_io_object::get_service (2 of 2 overloads)">basic_io_object::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.implementation" title="basic_io_object::implementation">basic_io_object::implementation</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158980176"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.implementation_type" title="basic_io_object::implementation_type">basic_io_object::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp158987792"></a>
-The underlying implementation type of
- I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_io_object.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_io_object.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.operator_eq_" title="basic_io_object::operator=">basic_io_object::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp159001088"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_io_object" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_io_object</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_io_object</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- Performs:
- </p>
-<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">get_implementation</span><span class="special">(),</span>
- <span class="identifier">other</span><span class="special">.</span><span class="identifier">get_service</span><span class="special">(),</span> <span class="identifier">other</span><span class="special">.</span><span class="identifier">get_implementation</span><span class="special">());</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_io_object.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that support movability,
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.service" title="basic_io_object::service">basic_io_object::service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp159023968"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_io_object.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object.service_type" title="basic_io_object::service_type">basic_io_object::service_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp159035472"></a>
-The type of the service that will be used to
- provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">IoObjectService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_io_object.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_io_object.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_io_object.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_io_object.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_io_object._basic_io_object"></a><a class="link" href="reference.html#boost_asio.reference.basic_io_object._basic_io_object" title="basic_io_object::~basic_io_object">basic_io_object::~basic_io_object</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp159047824"></a>
-Protected destructor to prevent deletion
- through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_io_object</span><span class="special">();</span>
-</pre>
-<p>
- Performs:
- </p>
-<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">get_implementation</span><span class="special">());</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_raw_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket">basic_raw_socket</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.assign">basic_raw_socket::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_connect">basic_raw_socket::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_receive">basic_raw_socket::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from">basic_raw_socket::async_receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_send">basic_raw_socket::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to">basic_raw_socket::async_send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.at_mark">basic_raw_socket::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.available">basic_raw_socket::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket">basic_raw_socket::basic_raw_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.bind">basic_raw_socket::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.broadcast">basic_raw_socket::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable">basic_raw_socket::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.cancel">basic_raw_socket::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.close">basic_raw_socket::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.connect">basic_raw_socket::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.debug">basic_raw_socket::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route">basic_raw_socket::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted">basic_raw_socket::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type">basic_raw_socket::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation">basic_raw_socket::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service">basic_raw_socket::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_option">basic_raw_socket::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_service">basic_raw_socket::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.implementation">basic_raw_socket::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type">basic_raw_socket::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.io_control">basic_raw_socket::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.is_open">basic_raw_socket::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive">basic_raw_socket::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.linger">basic_raw_socket::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint">basic_raw_socket::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer">basic_raw_socket::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type">basic_raw_socket::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.max_connections">basic_raw_socket::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.message_do_not_route">basic_raw_socket::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.message_end_of_record">basic_raw_socket::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.message_flags">basic_raw_socket::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.message_out_of_band">basic_raw_socket::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.message_peek">basic_raw_socket::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native">basic_raw_socket::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_handle">basic_raw_socket::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type">basic_raw_socket::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking">basic_raw_socket::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_type">basic_raw_socket::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking">basic_raw_socket::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io">basic_raw_socket::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.open">basic_raw_socket::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_">basic_raw_socket::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type">basic_raw_socket::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive">basic_raw_socket::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size">basic_raw_socket::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive_from">basic_raw_socket::receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark">basic_raw_socket::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint">basic_raw_socket::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address">basic_raw_socket::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send">basic_raw_socket::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size">basic_raw_socket::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark">basic_raw_socket::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send_to">basic_raw_socket::send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.service">basic_raw_socket::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.service_type">basic_raw_socket::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.set_option">basic_raw_socket::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.shutdown">basic_raw_socket::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type">basic_raw_socket::shutdown_type</a></span></dt>
-</dl></div>
-<p>
- Provides raw-oriented socket functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">RawSocketService</a> <span class="special">=</span> <span class="identifier">raw_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_raw_socket</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">RawSocketService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast" title="basic_raw_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable" title="basic_raw_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.debug" title="basic_raw_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route" title="basic_raw_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted" title="basic_raw_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type" title="basic_raw_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type" title="basic_raw_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive" title="basic_raw_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.linger" title="basic_raw_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type" title="basic_raw_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_flags" title="basic_raw_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type" title="basic_raw_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_type" title="basic_raw_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io" title="basic_raw_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type" title="basic_raw_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size" title="basic_raw_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark" title="basic_raw_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address" title="basic_raw_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size" title="basic_raw_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark" title="basic_raw_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service_type" title="basic_raw_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type" title="basic_raw_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign" title="basic_raw_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect" title="basic_raw_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive" title="basic_raw_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from" title="basic_raw_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send" title="basic_raw_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to" title="basic_raw_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark" title="basic_raw_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available" title="basic_raw_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket" title="basic_raw_socket::basic_raw_socket"><span class="bold"><strong>basic_raw_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_raw_socket without opening it.
- </p>
- <p>
- Construct and open a basic_raw_socket.
- </p>
- <p>
- Construct a basic_raw_socket, opening it and binding it to the
- given local endpoint.
- </p>
- <p>
- Construct a basic_raw_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_raw_socket from another.
- </p>
- <p>
- Move-construct a basic_raw_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind" title="basic_raw_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel" title="basic_raw_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close" title="basic_raw_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect" title="basic_raw_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service" title="basic_raw_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option" title="basic_raw_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control" title="basic_raw_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.is_open" title="basic_raw_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint" title="basic_raw_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer" title="basic_raw_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native" title="basic_raw_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle" title="basic_raw_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking" title="basic_raw_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking" title="basic_raw_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open" title="basic_raw_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_" title="basic_raw_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_raw_socket from another.
- </p>
- <p>
- Move-assign a basic_raw_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive" title="basic_raw_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from" title="basic_raw_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive raw data with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint" title="basic_raw_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send" title="basic_raw_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to" title="basic_raw_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send raw data to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option" title="basic_raw_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown" title="basic_raw_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation" title="basic_raw_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service" title="basic_raw_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.max_connections" title="basic_raw_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_do_not_route" title="basic_raw_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_end_of_record" title="basic_raw_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_out_of_band" title="basic_raw_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_peek" title="basic_raw_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation" title="basic_raw_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service" title="basic_raw_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>
- class template provides asynchronous and blocking raw-oriented socket functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_raw_socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign" title="basic_raw_socket::assign">basic_raw_socket::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload1">basic_raw_socket::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload2">basic_raw_socket::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp159343776"></a>
-Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload1" title="basic_raw_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload1" title="basic_raw_socket::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload2" title="basic_raw_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload2" title="basic_raw_socket::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload1" title="basic_raw_socket::assign (1 of 2 overloads)">basic_raw_socket::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign.overload2" title="basic_raw_socket::assign (2 of 2 overloads)">basic_raw_socket::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect" title="basic_raw_socket::async_connect">basic_raw_socket::async_connect</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp159406480"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously connect a socket to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the connect
- fails, and the socket was automatically opened, the socket is not returned
- to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_connect.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected. Copies
- will be made of the endpoint object as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connection operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_connect.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_connect.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Connect succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive" title="basic_raw_socket::async_receive">basic_raw_socket::async_receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1">basic_raw_socket::async_receive
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload2">basic_raw_socket::async_receive
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp159486096"></a>
-Start an asynchronous receive on a connected
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1" title="basic_raw_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1" title="basic_raw_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload2" title="basic_raw_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload2" title="basic_raw_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1" title="basic_raw_socket::async_receive (1 of 2 overloads)">basic_raw_socket::async_receive
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the raw socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The async_receive operation can only be used with a connected socket.
- Use the async_receive_from function to receive data on an unconnected
- raw socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload2" title="basic_raw_socket::async_receive (2 of 2 overloads)">basic_raw_socket::async_receive
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the raw socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The async_receive operation can only be used with a connected socket.
- Use the async_receive_from function to receive data on an unconnected
- raw socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_receive_from"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from" title="basic_raw_socket::async_receive_from">basic_raw_socket::async_receive_from</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1">basic_raw_socket::async_receive_from
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload2">basic_raw_socket::async_receive_from
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp159632928"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">async_receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload2" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">async_receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload2" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">basic_raw_socket::async_receive_from
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive raw data. The function
- call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the data. Ownership of the sender_endpoint object is retained
- by the caller, which must guarantee that it is valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">sender_endpoint</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload2" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">basic_raw_socket::async_receive_from
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive raw data. The function
- call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the data. Ownership of the sender_endpoint object is retained
- by the caller, which must guarantee that it is valid until the
- handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_send"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send" title="basic_raw_socket::async_send">basic_raw_socket::async_send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1">basic_raw_socket::async_send
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload2">basic_raw_socket::async_send
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp159789568"></a>
-Start an asynchronous send on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1" title="basic_raw_socket::async_send (1 of 2 overloads)">async_send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1" title="basic_raw_socket::async_send (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload2" title="basic_raw_socket::async_send (2 of 2 overloads)">async_send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload2" title="basic_raw_socket::async_send (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1" title="basic_raw_socket::async_send (1 of 2 overloads)">basic_raw_socket::async_send
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the raw socket. The function call
- will block until the data has been sent successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The async_send operation can only be used with a connected socket. Use
- the async_send_to function to send data on an unconnected raw socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload2" title="basic_raw_socket::async_send (2 of 2 overloads)">basic_raw_socket::async_send
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the raw socket. The function call
- will block until the data has been sent successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The async_send operation can only be used with a connected socket. Use
- the async_send_to function to send data on an unconnected raw socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_send_to"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to" title="basic_raw_socket::async_send_to">basic_raw_socket::async_send_to</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1">basic_raw_socket::async_send_to
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload2">basic_raw_socket::async_send_to
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp159936048"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1" title="basic_raw_socket::async_send_to (1 of 2 overloads)">async_send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1" title="basic_raw_socket::async_send_to (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload2" title="basic_raw_socket::async_send_to (2 of 2 overloads)">async_send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload2" title="basic_raw_socket::async_send_to (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1" title="basic_raw_socket::async_send_to (1 of 2 overloads)">basic_raw_socket::async_send_to
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send raw data to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent. Copies will
- be made of the endpoint as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload2" title="basic_raw_socket::async_send_to (2 of 2 overloads)">basic_raw_socket::async_send_to
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send raw data to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send_to.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent. Copies will
- be made of the endpoint as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark" title="basic_raw_socket::at_mark">basic_raw_socket::at_mark</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload1">basic_raw_socket::at_mark
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload2">basic_raw_socket::at_mark
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160107552"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload1" title="basic_raw_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload1" title="basic_raw_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload2" title="basic_raw_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload2" title="basic_raw_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.at_mark.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload1" title="basic_raw_socket::at_mark (1 of 2 overloads)">basic_raw_socket::at_mark
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.at_mark.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload2" title="basic_raw_socket::at_mark (2 of 2 overloads)">basic_raw_socket::at_mark
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.available"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available" title="basic_raw_socket::available">basic_raw_socket::available</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.available.overload1">basic_raw_socket::available
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.available.overload2">basic_raw_socket::available
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160162176"></a>
-Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload1" title="basic_raw_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload1" title="basic_raw_socket::available (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload2" title="basic_raw_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload2" title="basic_raw_socket::available (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.available.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload1" title="basic_raw_socket::available (1 of 2 overloads)">basic_raw_socket::available
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.available.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.available.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.available.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload2" title="basic_raw_socket::available (2 of 2 overloads)">basic_raw_socket::available
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.available.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.available.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket" title="basic_raw_socket::basic_raw_socket">basic_raw_socket::basic_raw_socket</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1">basic_raw_socket::basic_raw_socket
- (1 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2">basic_raw_socket::basic_raw_socket
- (2 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3">basic_raw_socket::basic_raw_socket
- (3 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4">basic_raw_socket::basic_raw_socket
- (4 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5">basic_raw_socket::basic_raw_socket
- (5 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6">basic_raw_socket::basic_raw_socket
- (6 of 6 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160221328"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>, opening it and
- binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> on an existing
- native socket.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
- <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
- <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">basic_raw_socket::basic_raw_socket
- (1 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a raw socket without opening it. The <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code>
- function must be called before data can be sent or received on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the raw socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">basic_raw_socket::basic_raw_socket
- (2 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a raw socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the raw socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">basic_raw_socket::basic_raw_socket
- (3 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>, opening it
- and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a raw socket and automatically opens it bound
- to the specified endpoint on the local machine. The protocol used is
- the protocol associated with the given endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the raw socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the raw socket will be
- bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">basic_raw_socket::basic_raw_socket
- (4 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> on an existing
- native socket.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a raw socket object to hold an existing native
- socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the raw socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-<dt><span class="term">native_socket</span></dt>
-<dd><p>
- The new underlying socket implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">basic_raw_socket::basic_raw_socket
- (5 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
- <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a raw socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">basic_raw_socket::basic_raw_socket
- (6 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">basic_raw_socket</span><span class="special">(</span>
- <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a raw socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind" title="basic_raw_socket::bind">basic_raw_socket::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1">basic_raw_socket::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload2">basic_raw_socket::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160487568"></a>
-Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1" title="basic_raw_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1" title="basic_raw_socket::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload2" title="basic_raw_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload2" title="basic_raw_socket::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1" title="basic_raw_socket::bind (1 of 2 overloads)">basic_raw_socket::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload2" title="basic_raw_socket::bind (2 of 2 overloads)">basic_raw_socket::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast" title="basic_raw_socket::broadcast">basic_raw_socket::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp160630400"></a>
-Socket option to permit sending of broadcast messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable" title="basic_raw_socket::bytes_readable">basic_raw_socket::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp160687168"></a>
-IO control command to get the amount of data
- that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel" title="basic_raw_socket::cancel">basic_raw_socket::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload1">basic_raw_socket::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload2">basic_raw_socket::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160726240"></a>
-Cancel all asynchronous operations associated with
- the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload1" title="basic_raw_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload1" title="basic_raw_socket::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload2" title="basic_raw_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload2" title="basic_raw_socket::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload1" title="basic_raw_socket::cancel (1 of 2 overloads)">basic_raw_socket::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload2" title="basic_raw_socket::cancel (2 of 2 overloads)">basic_raw_socket::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close" title="basic_raw_socket::close">basic_raw_socket::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.close.overload1">basic_raw_socket::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2">basic_raw_socket::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160816464"></a>
-Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload1" title="basic_raw_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload1" title="basic_raw_socket::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2" title="basic_raw_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2" title="basic_raw_socket::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload1" title="basic_raw_socket::close (1 of 2 overloads)">basic_raw_socket::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.close.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload1.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2" title="basic_raw_socket::close (2 of 2 overloads)">basic_raw_socket::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.close.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close.overload2.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect" title="basic_raw_socket::connect">basic_raw_socket::connect</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1">basic_raw_socket::connect
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload2">basic_raw_socket::connect
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp160905984"></a>
-Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1" title="basic_raw_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1" title="basic_raw_socket::connect (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload2" title="basic_raw_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload2" title="basic_raw_socket::connect (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1" title="basic_raw_socket::connect (1 of 2 overloads)">basic_raw_socket::connect
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload2" title="basic_raw_socket::connect (2 of 2 overloads)">basic_raw_socket::connect
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.debug" title="basic_raw_socket::debug">basic_raw_socket::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161041120"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route" title="basic_raw_socket::do_not_route">basic_raw_socket::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161097728"></a>
-Socket option to prevent routing, use local
- interfaces only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted" title="basic_raw_socket::enable_connection_aborted">basic_raw_socket::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161154512"></a>
-Socket option to report aborted
- connections on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type" title="basic_raw_socket::endpoint_type">basic_raw_socket::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp161215312"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation" title="basic_raw_socket::get_implementation">basic_raw_socket::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload1">basic_raw_socket::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload2">basic_raw_socket::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp161228608"></a>
-Get the underlying implementation of
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload1" title="basic_raw_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload1" title="basic_raw_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload2" title="basic_raw_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload2" title="basic_raw_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload1" title="basic_raw_socket::get_implementation (1 of 2 overloads)">basic_raw_socket::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation.overload2" title="basic_raw_socket::get_implementation (2 of 2 overloads)">basic_raw_socket::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service" title="basic_raw_socket::get_io_service">basic_raw_socket::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161258176"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option" title="basic_raw_socket::get_option">basic_raw_socket::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1">basic_raw_socket::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload2">basic_raw_socket::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp161275920"></a>
-Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1" title="basic_raw_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1" title="basic_raw_socket::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload2" title="basic_raw_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload2" title="basic_raw_socket::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1" title="basic_raw_socket::get_option (1 of 2 overloads)">basic_raw_socket::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload2" title="basic_raw_socket::get_option (2 of 2 overloads)">basic_raw_socket::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service" title="basic_raw_socket::get_service">basic_raw_socket::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload1">basic_raw_socket::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload2">basic_raw_socket::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp161415536"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload1" title="basic_raw_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload1" title="basic_raw_socket::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload2" title="basic_raw_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload2" title="basic_raw_socket::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload1" title="basic_raw_socket::get_service (1 of 2 overloads)">basic_raw_socket::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service.overload2" title="basic_raw_socket::get_service (2 of 2 overloads)">basic_raw_socket::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation" title="basic_raw_socket::implementation">basic_raw_socket::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161445104"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type" title="basic_raw_socket::implementation_type">basic_raw_socket::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161453536"></a>
-The underlying implementation type of
- I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control" title="basic_raw_socket::io_control">basic_raw_socket::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1">basic_raw_socket::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload2">basic_raw_socket::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp161466768"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1" title="basic_raw_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1" title="basic_raw_socket::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload2" title="basic_raw_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload2" title="basic_raw_socket::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1" title="basic_raw_socket::io_control (1 of 2 overloads)">basic_raw_socket::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload2" title="basic_raw_socket::io_control (2 of 2 overloads)">basic_raw_socket::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.is_open" title="basic_raw_socket::is_open">basic_raw_socket::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161604288"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive" title="basic_raw_socket::keep_alive">basic_raw_socket::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161612192"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.linger" title="basic_raw_socket::linger">basic_raw_socket::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161669008"></a>
-Socket option to specify whether the socket lingers
- on close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint" title="basic_raw_socket::local_endpoint">basic_raw_socket::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1">basic_raw_socket::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2">basic_raw_socket::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp161731072"></a>
-Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">basic_raw_socket::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">basic_raw_socket::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket. Returns a
- default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer" title="basic_raw_socket::lowest_layer">basic_raw_socket::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload1">basic_raw_socket::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload2">basic_raw_socket::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp161836048"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload1" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload1" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload2" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload2" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload1" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">basic_raw_socket::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload2" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">basic_raw_socket::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type" title="basic_raw_socket::lowest_layer_type">basic_raw_socket::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp161878288"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">RawSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.max_connections" title="basic_raw_socket::max_connections">basic_raw_socket::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162127680"></a>
-The maximum length of the queue of pending
- incoming connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_do_not_route" title="basic_raw_socket::message_do_not_route">basic_raw_socket::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162137008"></a>
-Specify that the data should not be
- subject to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_end_of_record" title="basic_raw_socket::message_end_of_record">basic_raw_socket::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162146480"></a>
-Specifies that the data marks the
- end of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_flags" title="basic_raw_socket::message_flags">basic_raw_socket::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162155856"></a>
-Bitmask type for flags that can be passed
- to send and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_out_of_band" title="basic_raw_socket::message_out_of_band">basic_raw_socket::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162168992"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_peek" title="basic_raw_socket::message_peek">basic_raw_socket::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162178416"></a>
-Peek at incoming data without removing it from
- the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native" title="basic_raw_socket::native">basic_raw_socket::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162187824"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle" title="basic_raw_socket::native_handle">basic_raw_socket::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162196784"></a>
-Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type" title="basic_raw_socket::native_handle_type">basic_raw_socket::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp162203280"></a>
-The native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RawSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking" title="basic_raw_socket::native_non_blocking">basic_raw_socket::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1">basic_raw_socket::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2">basic_raw_socket::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3">basic_raw_socket::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp162216624"></a>
-Gets the non-blocking mode of the native
- socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">basic_raw_socket::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native socket. This mode has no effect on the behaviour of the socket
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the socket object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">basic_raw_socket::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">basic_raw_socket::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_type" title="basic_raw_socket::native_type">basic_raw_socket::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp162821744"></a>
-(Deprecated: Use native_handle_type.) The native
- representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RawSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking" title="basic_raw_socket::non_blocking">basic_raw_socket::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1">basic_raw_socket::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2">basic_raw_socket::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3">basic_raw_socket::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp162835136"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1" title="basic_raw_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1" title="basic_raw_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2" title="basic_raw_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2" title="basic_raw_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3" title="basic_raw_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3" title="basic_raw_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1" title="basic_raw_socket::non_blocking (1 of 3 overloads)">basic_raw_socket::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2" title="basic_raw_socket::non_blocking (2 of 3 overloads)">basic_raw_socket::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3" title="basic_raw_socket::non_blocking (3 of 3 overloads)">basic_raw_socket::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io" title="basic_raw_socket::non_blocking_io">basic_raw_socket::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp162956784"></a>
-(Deprecated: Use non_blocking().) IO control
- command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open" title="basic_raw_socket::open">basic_raw_socket::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1">basic_raw_socket::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.open.overload2">basic_raw_socket::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp162990512"></a>
-Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1" title="basic_raw_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1" title="basic_raw_socket::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload2" title="basic_raw_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload2" title="basic_raw_socket::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1" title="basic_raw_socket::open (1 of 2 overloads)">basic_raw_socket::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload2" title="basic_raw_socket::open (2 of 2 overloads)">basic_raw_socket::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_" title="basic_raw_socket::operator=">basic_raw_socket::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1">basic_raw_socket::operator=
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2">basic_raw_socket::operator=
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp163106624"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1" title="basic_raw_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1" title="basic_raw_socket::operator= (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_raw_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2" title="basic_raw_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2" title="basic_raw_socket::operator= (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1" title="basic_raw_socket::operator= (1 of 2 overloads)">basic_raw_socket::operator=
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_raw_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a raw socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2" title="basic_raw_socket::operator= (2 of 2 overloads)">basic_raw_socket::operator=
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.RawSocketService" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_raw_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a raw socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type" title="basic_raw_socket::protocol_type">basic_raw_socket::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp163208512"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive" title="basic_raw_socket::receive">basic_raw_socket::receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1">basic_raw_socket::receive
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2">basic_raw_socket::receive
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3">basic_raw_socket::receive
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp163220736"></a>
-Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1" title="basic_raw_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1" title="basic_raw_socket::receive (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2" title="basic_raw_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2" title="basic_raw_socket::receive (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3" title="basic_raw_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3" title="basic_raw_socket::receive (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1" title="basic_raw_socket::receive (1 of 3 overloads)">basic_raw_socket::receive
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the raw socket. The function
- call will block until data has been received successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation can only be used with a connected socket. Use the
- receive_from function to receive data on an unconnected raw socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2" title="basic_raw_socket::receive (2 of 3 overloads)">basic_raw_socket::receive
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the raw socket. The function
- call will block until data has been received successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation can only be used with a connected socket. Use the
- receive_from function to receive data on an unconnected raw socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3" title="basic_raw_socket::receive (3 of 3 overloads)">basic_raw_socket::receive
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the raw socket. The function
- call will block until data has been received successfully or an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation can only be used with a connected socket. Use the
- receive_from function to receive data on an unconnected raw socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size" title="basic_raw_socket::receive_buffer_size">basic_raw_socket::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp163386928"></a>
-Socket option for the receive buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive_from"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from" title="basic_raw_socket::receive_from">basic_raw_socket::receive_from</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1">basic_raw_socket::receive_from
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2">basic_raw_socket::receive_from
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload3">basic_raw_socket::receive_from
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp163442912"></a>
-Receive raw data with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1" title="basic_raw_socket::receive_from (1 of 3 overloads)">receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1" title="basic_raw_socket::receive_from (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2" title="basic_raw_socket::receive_from (2 of 3 overloads)">receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2" title="basic_raw_socket::receive_from (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload3" title="basic_raw_socket::receive_from (3 of 3 overloads)">receive_from</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload3" title="basic_raw_socket::receive_from (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1" title="basic_raw_socket::receive_from (1 of 3 overloads)">basic_raw_socket::receive_from
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive raw data with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive raw data. The function call will block
- until data has been received successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the data.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2" title="basic_raw_socket::receive_from (2 of 3 overloads)">basic_raw_socket::receive_from
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive raw data with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive raw data. The function call will block
- until data has been received successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the data.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload3" title="basic_raw_socket::receive_from (3 of 3 overloads)">basic_raw_socket::receive_from
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive raw data with the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive raw data. The function call will block
- until data has been received successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">sender_endpoint</span></dt>
-<dd><p>
- An endpoint object that receives the endpoint of the remote sender
- of the data.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark" title="basic_raw_socket::receive_low_watermark">basic_raw_socket::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp163627552"></a>
-Socket option for the receive low
- watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint" title="basic_raw_socket::remote_endpoint">basic_raw_socket::remote_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1">basic_raw_socket::remote_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2">basic_raw_socket::remote_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp163683648"></a>
-Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">basic_raw_socket::remote_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">basic_raw_socket::remote_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket. Returns
- a default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address" title="basic_raw_socket::reuse_address">basic_raw_socket::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp163789184"></a>
-Socket option to allow the socket to be bound
- to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send" title="basic_raw_socket::send">basic_raw_socket::send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1">basic_raw_socket::send
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2">basic_raw_socket::send
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3">basic_raw_socket::send
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp163845008"></a>
-Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1" title="basic_raw_socket::send (1 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1" title="basic_raw_socket::send (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2" title="basic_raw_socket::send (2 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2" title="basic_raw_socket::send (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3" title="basic_raw_socket::send (3 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3" title="basic_raw_socket::send (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1" title="basic_raw_socket::send (1 of 3 overloads)">basic_raw_socket::send
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the raw socket. The function call
- will block until the data has been sent successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One ore more data buffers to be sent on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The send operation can only be used with a connected socket. Use the
- send_to function to send data on an unconnected raw socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2" title="basic_raw_socket::send (2 of 3 overloads)">basic_raw_socket::send
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the raw socket. The function call
- will block until the data has been sent successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One ore more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The send operation can only be used with a connected socket. Use the
- send_to function to send data on an unconnected raw socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3" title="basic_raw_socket::send (3 of 3 overloads)">basic_raw_socket::send
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the raw socket. The function call
- will block until the data has been sent successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The send operation can only be used with a connected socket. Use the
- send_to function to send data on an unconnected raw socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size" title="basic_raw_socket::send_buffer_size">basic_raw_socket::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp164010496"></a>
-Socket option for the send buffer size
- of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark" title="basic_raw_socket::send_low_watermark">basic_raw_socket::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp164067296"></a>
-Socket option for the send low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send_to"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to" title="basic_raw_socket::send_to">basic_raw_socket::send_to</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1">basic_raw_socket::send_to
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2">basic_raw_socket::send_to
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload3">basic_raw_socket::send_to
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp164123312"></a>
-Send raw data to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1" title="basic_raw_socket::send_to (1 of 3 overloads)">send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1" title="basic_raw_socket::send_to (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2" title="basic_raw_socket::send_to (2 of 3 overloads)">send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2" title="basic_raw_socket::send_to (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload3" title="basic_raw_socket::send_to (3 of 3 overloads)">send_to</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload3" title="basic_raw_socket::send_to (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1" title="basic_raw_socket::send_to (1 of 3 overloads)">basic_raw_socket::send_to
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send raw data to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send raw data to the specified remote endpoint.
- The function call will block until the data has been sent successfully
- or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2" title="basic_raw_socket::send_to (2 of 3 overloads)">basic_raw_socket::send_to
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send raw data to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send raw data to the specified remote endpoint.
- The function call will block until the data has been sent successfully
- or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload3" title="basic_raw_socket::send_to (3 of 3 overloads)">basic_raw_socket::send_to
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send raw data to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send raw data to the specified remote endpoint.
- The function call will block until the data has been sent successfully
- or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent to the remote endpoint.
- </p></dd>
-<dt><span class="term">destination</span></dt>
-<dd><p>
- The remote endpoint to which the data will be sent.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.send_to.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service" title="basic_raw_socket::service">basic_raw_socket::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp164319008"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service_type" title="basic_raw_socket::service_type">basic_raw_socket::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp164331312"></a>
-The type of the service that will be used to
- provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RawSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option" title="basic_raw_socket::set_option">basic_raw_socket::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1">basic_raw_socket::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload2">basic_raw_socket::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp164343552"></a>
-Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1" title="basic_raw_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1" title="basic_raw_socket::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload2" title="basic_raw_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload2" title="basic_raw_socket::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1" title="basic_raw_socket::set_option (1 of 2 overloads)">basic_raw_socket::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload2" title="basic_raw_socket::set_option (2 of 2 overloads)">basic_raw_socket::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown" title="basic_raw_socket::shutdown">basic_raw_socket::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1">basic_raw_socket::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload2">basic_raw_socket::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp164472176"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1" title="basic_raw_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1" title="basic_raw_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload2" title="basic_raw_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload2" title="basic_raw_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1" title="basic_raw_socket::shutdown (1 of 2 overloads)">basic_raw_socket::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload1.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload2" title="basic_raw_socket::shutdown (2 of 2 overloads)">basic_raw_socket::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown.overload2.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_raw_socket.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type" title="basic_raw_socket::shutdown_type">basic_raw_socket::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp164585728"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp164589120"></a>
- <a class="indexterm" name="idp164590224"></a>
- <a class="indexterm" name="idp164591328"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_raw_socket.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket">basic_seq_packet_socket</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign">basic_seq_packet_socket::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect">basic_seq_packet_socket::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive">basic_seq_packet_socket::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send">basic_seq_packet_socket::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark">basic_seq_packet_socket::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.available">basic_seq_packet_socket::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket">basic_seq_packet_socket::basic_seq_packet_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind">basic_seq_packet_socket::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast">basic_seq_packet_socket::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable">basic_seq_packet_socket::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel">basic_seq_packet_socket::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.close">basic_seq_packet_socket::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect">basic_seq_packet_socket::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug">basic_seq_packet_socket::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route">basic_seq_packet_socket::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted">basic_seq_packet_socket::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type">basic_seq_packet_socket::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation">basic_seq_packet_socket::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_io_service">basic_seq_packet_socket::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option">basic_seq_packet_socket::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service">basic_seq_packet_socket::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation">basic_seq_packet_socket::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation_type">basic_seq_packet_socket::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control">basic_seq_packet_socket::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.is_open">basic_seq_packet_socket::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive">basic_seq_packet_socket::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger">basic_seq_packet_socket::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint">basic_seq_packet_socket::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer">basic_seq_packet_socket::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type">basic_seq_packet_socket::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.max_connections">basic_seq_packet_socket::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_do_not_route">basic_seq_packet_socket::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_end_of_record">basic_seq_packet_socket::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_flags">basic_seq_packet_socket::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_out_of_band">basic_seq_packet_socket::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_peek">basic_seq_packet_socket::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native">basic_seq_packet_socket::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle">basic_seq_packet_socket::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type">basic_seq_packet_socket::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking">basic_seq_packet_socket::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_type">basic_seq_packet_socket::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking">basic_seq_packet_socket::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io">basic_seq_packet_socket::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.open">basic_seq_packet_socket::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_">basic_seq_packet_socket::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.protocol_type">basic_seq_packet_socket::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive">basic_seq_packet_socket::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size">basic_seq_packet_socket::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark">basic_seq_packet_socket::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint">basic_seq_packet_socket::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address">basic_seq_packet_socket::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.send">basic_seq_packet_socket::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size">basic_seq_packet_socket::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark">basic_seq_packet_socket::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.service">basic_seq_packet_socket::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.service_type">basic_seq_packet_socket::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option">basic_seq_packet_socket::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown">basic_seq_packet_socket::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type">basic_seq_packet_socket::shutdown_type</a></span></dt>
-</dl></div>
-<p>
- Provides sequenced packet socket functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">SeqPacketSocketService</a> <span class="special">=</span> <span class="identifier">seq_packet_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_seq_packet_socket</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast" title="basic_seq_packet_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable" title="basic_seq_packet_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug" title="basic_seq_packet_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route" title="basic_seq_packet_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted" title="basic_seq_packet_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type" title="basic_seq_packet_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation_type" title="basic_seq_packet_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive" title="basic_seq_packet_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger" title="basic_seq_packet_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type" title="basic_seq_packet_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_flags" title="basic_seq_packet_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type" title="basic_seq_packet_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_type" title="basic_seq_packet_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io" title="basic_seq_packet_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protocol_type" title="basic_seq_packet_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size" title="basic_seq_packet_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark" title="basic_seq_packet_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address" title="basic_seq_packet_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size" title="basic_seq_packet_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark" title="basic_seq_packet_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service_type" title="basic_seq_packet_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type" title="basic_seq_packet_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign" title="basic_seq_packet_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect" title="basic_seq_packet_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive" title="basic_seq_packet_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send" title="basic_seq_packet_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark" title="basic_seq_packet_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available" title="basic_seq_packet_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket" title="basic_seq_packet_socket::basic_seq_packet_socket"><span class="bold"><strong>basic_seq_packet_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_seq_packet_socket without opening it.
- </p>
- <p>
- Construct and open a basic_seq_packet_socket.
- </p>
- <p>
- Construct a basic_seq_packet_socket, opening it and binding it
- to the given local endpoint.
- </p>
- <p>
- Construct a basic_seq_packet_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_seq_packet_socket from another.
- </p>
- <p>
- Move-construct a basic_seq_packet_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind" title="basic_seq_packet_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel" title="basic_seq_packet_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close" title="basic_seq_packet_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect" title="basic_seq_packet_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_io_service" title="basic_seq_packet_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option" title="basic_seq_packet_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control" title="basic_seq_packet_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.is_open" title="basic_seq_packet_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint" title="basic_seq_packet_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer" title="basic_seq_packet_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native" title="basic_seq_packet_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle" title="basic_seq_packet_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking" title="basic_seq_packet_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking" title="basic_seq_packet_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open" title="basic_seq_packet_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_" title="basic_seq_packet_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_seq_packet_socket from another.
- </p>
- <p>
- Move-assign a basic_seq_packet_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive" title="basic_seq_packet_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on the socket.
- </p>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint" title="basic_seq_packet_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send" title="basic_seq_packet_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option" title="basic_seq_packet_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown" title="basic_seq_packet_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation" title="basic_seq_packet_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service" title="basic_seq_packet_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.max_connections" title="basic_seq_packet_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_do_not_route" title="basic_seq_packet_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_end_of_record" title="basic_seq_packet_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_out_of_band" title="basic_seq_packet_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_peek" title="basic_seq_packet_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation" title="basic_seq_packet_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service" title="basic_seq_packet_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> class template
- provides asynchronous and blocking sequenced packet socket functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_seq_packet_socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign" title="basic_seq_packet_socket::assign">basic_seq_packet_socket::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload1">basic_seq_packet_socket::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload2">basic_seq_packet_socket::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp164878368"></a>
-Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload1" title="basic_seq_packet_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload1" title="basic_seq_packet_socket::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload2" title="basic_seq_packet_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload2" title="basic_seq_packet_socket::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload1" title="basic_seq_packet_socket::assign (1 of 2 overloads)">basic_seq_packet_socket::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign.overload2" title="basic_seq_packet_socket::assign (2 of 2 overloads)">basic_seq_packet_socket::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect" title="basic_seq_packet_socket::async_connect">basic_seq_packet_socket::async_connect</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp164941504"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously connect a socket to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the connect
- fails, and the socket was automatically opened, the socket is not returned
- to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_connect.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected. Copies
- will be made of the endpoint object as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connection operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_connect.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_connect.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Connect succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive" title="basic_seq_packet_socket::async_receive">basic_seq_packet_socket::async_receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1">basic_seq_packet_socket::async_receive
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2">basic_seq_packet_socket::async_receive
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165021184"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">basic_seq_packet_socket::async_receive
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the sequenced
- packet socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">out_flags</span></dt>
-<dd><p>
- Once the asynchronous operation completes, contains flags associated
- with the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
- bit is set then the received data marks the end of a record. The
- caller must guarantee that the referenced variable remains valid
- until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">out_flags</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">basic_seq_packet_socket::async_receive
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the sequenced
- data socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">in_flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">out_flags</span></dt>
-<dd><p>
- Once the asynchronous operation completes, contains flags associated
- with the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
- bit is set then the received data marks the end of a record. The
- caller must guarantee that the referenced variable remains valid
- until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="number">0</span><span class="special">,</span> <span class="identifier">out_flags</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.async_send"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send" title="basic_seq_packet_socket::async_send">basic_seq_packet_socket::async_send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp165204912"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send data on the sequenced packet
- socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_send.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_send.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the buffers
- object may be copied as necessary, ownership of the underlying memory
- blocks is retained by the caller, which must guarantee that they
- remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.async_send.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_send.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark" title="basic_seq_packet_socket::at_mark">basic_seq_packet_socket::at_mark</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1">basic_seq_packet_socket::at_mark
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2">basic_seq_packet_socket::at_mark
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165269568"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">basic_seq_packet_socket::at_mark
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">basic_seq_packet_socket::at_mark
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.available"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available" title="basic_seq_packet_socket::available">basic_seq_packet_socket::available</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload1">basic_seq_packet_socket::available
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload2">basic_seq_packet_socket::available
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165324960"></a>
-Determine the number of bytes available
- for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload1" title="basic_seq_packet_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload1" title="basic_seq_packet_socket::available (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload2" title="basic_seq_packet_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload2" title="basic_seq_packet_socket::available (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.available.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload1" title="basic_seq_packet_socket::available (1 of 2 overloads)">basic_seq_packet_socket::available
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.available.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload2" title="basic_seq_packet_socket::available (2 of 2 overloads)">basic_seq_packet_socket::available
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket" title="basic_seq_packet_socket::basic_seq_packet_socket">basic_seq_packet_socket::basic_seq_packet_socket</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1">basic_seq_packet_socket::basic_seq_packet_socket
- (1 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2">basic_seq_packet_socket::basic_seq_packet_socket
- (2 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3">basic_seq_packet_socket::basic_seq_packet_socket
- (3 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4">basic_seq_packet_socket::basic_seq_packet_socket
- (4 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5">basic_seq_packet_socket::basic_seq_packet_socket
- (5 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6">basic_seq_packet_socket::basic_seq_packet_socket
- (6 of 6 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165384432"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>, opening
- it and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> on an
- existing native socket.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
- <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from a
- socket of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
- <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
- (1 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a sequenced packet socket without opening it.
- The socket needs to be opened and then connected or accepted before data
- can be sent or received on it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the sequenced packet socket will use to dispatch handlers for any
- asynchronous operations performed on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
- (2 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a sequenced_packet socket. The socket
- needs to be connected or accepted before data can be sent or received
- on it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the sequenced packet socket will use to dispatch handlers for any
- asynchronous operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
- (3 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>, opening
- it and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a sequenced packet socket and automatically
- opens it bound to the specified endpoint on the local machine. The protocol
- used is the protocol associated with the given endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the sequenced packet socket will use to dispatch handlers for any
- asynchronous operations performed on the socket.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the sequenced packet
- socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
- (4 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> on an
- existing native socket.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a sequenced packet socket object to hold an
- existing native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the sequenced packet socket will use to dispatch handlers for any
- asynchronous operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-<dt><span class="term">native_socket</span></dt>
-<dd><p>
- The new underlying socket implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
- (5 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
- another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
- <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a sequenced packet socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
- (6 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
- a socket of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
- <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a sequenced packet socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind" title="basic_seq_packet_socket::bind">basic_seq_packet_socket::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1">basic_seq_packet_socket::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2">basic_seq_packet_socket::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165651952"></a>
-Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1" title="basic_seq_packet_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1" title="basic_seq_packet_socket::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2" title="basic_seq_packet_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2" title="basic_seq_packet_socket::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1" title="basic_seq_packet_socket::bind (1 of 2 overloads)">basic_seq_packet_socket::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2" title="basic_seq_packet_socket::bind (2 of 2 overloads)">basic_seq_packet_socket::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast" title="basic_seq_packet_socket::broadcast">basic_seq_packet_socket::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp165795536"></a>
-Socket option to permit sending of broadcast
- messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable" title="basic_seq_packet_socket::bytes_readable">basic_seq_packet_socket::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp165852512"></a>
-IO control command to get the amount
- of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel" title="basic_seq_packet_socket::cancel">basic_seq_packet_socket::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1">basic_seq_packet_socket::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2">basic_seq_packet_socket::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165891872"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">basic_seq_packet_socket::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">basic_seq_packet_socket::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close" title="basic_seq_packet_socket::close">basic_seq_packet_socket::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload1">basic_seq_packet_socket::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2">basic_seq_packet_socket::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp165982400"></a>
-Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload1" title="basic_seq_packet_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload1" title="basic_seq_packet_socket::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2" title="basic_seq_packet_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2" title="basic_seq_packet_socket::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload1" title="basic_seq_packet_socket::close (1 of 2 overloads)">basic_seq_packet_socket::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload1.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2" title="basic_seq_packet_socket::close (2 of 2 overloads)">basic_seq_packet_socket::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close.overload2.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect" title="basic_seq_packet_socket::connect">basic_seq_packet_socket::connect</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1">basic_seq_packet_socket::connect
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2">basic_seq_packet_socket::connect
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp166072384"></a>
-Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1" title="basic_seq_packet_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1" title="basic_seq_packet_socket::connect (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2" title="basic_seq_packet_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2" title="basic_seq_packet_socket::connect (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1" title="basic_seq_packet_socket::connect (1 of 2 overloads)">basic_seq_packet_socket::connect
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2" title="basic_seq_packet_socket::connect (2 of 2 overloads)">basic_seq_packet_socket::connect
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug" title="basic_seq_packet_socket::debug">basic_seq_packet_socket::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166208112"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route" title="basic_seq_packet_socket::do_not_route">basic_seq_packet_socket::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166264992"></a>
-Socket option to prevent routing, use
- local interfaces only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted" title="basic_seq_packet_socket::enable_connection_aborted">basic_seq_packet_socket::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166321856"></a>
-Socket option to report
- aborted connections on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type" title="basic_seq_packet_socket::endpoint_type">basic_seq_packet_socket::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp166382672"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation" title="basic_seq_packet_socket::get_implementation">basic_seq_packet_socket::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload1">basic_seq_packet_socket::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload2">basic_seq_packet_socket::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp166396080"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload1" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload1" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload2" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload2" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload1" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">basic_seq_packet_socket::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation.overload2" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">basic_seq_packet_socket::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_io_service" title="basic_seq_packet_socket::get_io_service">basic_seq_packet_socket::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166425968"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option" title="basic_seq_packet_socket::get_option">basic_seq_packet_socket::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1">basic_seq_packet_socket::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2">basic_seq_packet_socket::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp166443760"></a>
-Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">basic_seq_packet_socket::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">basic_seq_packet_socket::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service" title="basic_seq_packet_socket::get_service">basic_seq_packet_socket::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload1">basic_seq_packet_socket::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload2">basic_seq_packet_socket::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp166583568"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload1" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload1" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload2" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload2" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload1" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">basic_seq_packet_socket::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service.overload2" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">basic_seq_packet_socket::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation" title="basic_seq_packet_socket::implementation">basic_seq_packet_socket::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166613344"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation_type" title="basic_seq_packet_socket::implementation_type">basic_seq_packet_socket::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166621776"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control" title="basic_seq_packet_socket::io_control">basic_seq_packet_socket::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1">basic_seq_packet_socket::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2">basic_seq_packet_socket::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp166635296"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">basic_seq_packet_socket::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">basic_seq_packet_socket::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.is_open" title="basic_seq_packet_socket::is_open">basic_seq_packet_socket::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166773136"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive" title="basic_seq_packet_socket::keep_alive">basic_seq_packet_socket::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166781040"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger" title="basic_seq_packet_socket::linger">basic_seq_packet_socket::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp166837840"></a>
-Socket option to specify whether the socket
- lingers on close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint" title="basic_seq_packet_socket::local_endpoint">basic_seq_packet_socket::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1">basic_seq_packet_socket::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2">basic_seq_packet_socket::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp166900048"></a>
-Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">basic_seq_packet_socket::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">basic_seq_packet_socket::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket. Returns a
- default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer" title="basic_seq_packet_socket::lowest_layer">basic_seq_packet_socket::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1">basic_seq_packet_socket::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2">basic_seq_packet_socket::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp167004992"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">basic_seq_packet_socket::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">basic_seq_packet_socket::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type" title="basic_seq_packet_socket::lowest_layer_type">basic_seq_packet_socket::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167047408"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.max_connections" title="basic_seq_packet_socket::max_connections">basic_seq_packet_socket::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167297184"></a>
-The maximum length of the queue of
- pending incoming connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_do_not_route" title="basic_seq_packet_socket::message_do_not_route">basic_seq_packet_socket::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167306576"></a>
-Specify that the data should
- not be subject to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_end_of_record" title="basic_seq_packet_socket::message_end_of_record">basic_seq_packet_socket::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167316000"></a>
-Specifies that the data marks
- the end of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_flags" title="basic_seq_packet_socket::message_flags">basic_seq_packet_socket::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167325456"></a>
-Bitmask type for flags that can be
- passed to send and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_out_of_band" title="basic_seq_packet_socket::message_out_of_band">basic_seq_packet_socket::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167338560"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_peek" title="basic_seq_packet_socket::message_peek">basic_seq_packet_socket::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167347984"></a>
-Peek at incoming data without removing
- it from the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native" title="basic_seq_packet_socket::native">basic_seq_packet_socket::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167357456"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle" title="basic_seq_packet_socket::native_handle">basic_seq_packet_socket::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp167366416"></a>
-Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type" title="basic_seq_packet_socket::native_handle_type">basic_seq_packet_socket::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp167372992"></a>
-The native representation of a
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SeqPacketSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking" title="basic_seq_packet_socket::native_non_blocking">basic_seq_packet_socket::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1">basic_seq_packet_socket::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2">basic_seq_packet_socket::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3">basic_seq_packet_socket::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp167386592"></a>
-Gets the non-blocking mode of
- the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">basic_seq_packet_socket::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native socket. This mode has no effect on the behaviour of the socket
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the socket object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">basic_seq_packet_socket::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">basic_seq_packet_socket::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_type" title="basic_seq_packet_socket::native_type">basic_seq_packet_socket::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp167992384"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SeqPacketSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking" title="basic_seq_packet_socket::non_blocking">basic_seq_packet_socket::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1">basic_seq_packet_socket::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2">basic_seq_packet_socket::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3">basic_seq_packet_socket::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp168005840"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">basic_seq_packet_socket::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">basic_seq_packet_socket::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">basic_seq_packet_socket::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io" title="basic_seq_packet_socket::non_blocking_io">basic_seq_packet_socket::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp168127984"></a>
-(Deprecated: Use non_blocking().)
- IO control command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open" title="basic_seq_packet_socket::open">basic_seq_packet_socket::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1">basic_seq_packet_socket::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload2">basic_seq_packet_socket::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp168161904"></a>
-Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1" title="basic_seq_packet_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1" title="basic_seq_packet_socket::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload2" title="basic_seq_packet_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload2" title="basic_seq_packet_socket::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1" title="basic_seq_packet_socket::open (1 of 2 overloads)">basic_seq_packet_socket::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload2" title="basic_seq_packet_socket::open (2 of 2 overloads)">basic_seq_packet_socket::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_" title="basic_seq_packet_socket::operator=">basic_seq_packet_socket::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1">basic_seq_packet_socket::operator=
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2">basic_seq_packet_socket::operator=
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp168278592"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from a
- socket of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_seq_packet_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">basic_seq_packet_socket::operator=
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
- another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a sequenced packet socket from one object
- to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">basic_seq_packet_socket::operator=
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
- a socket of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SeqPacketSocketService" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_seq_packet_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a sequenced packet socket from one object
- to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protocol_type" title="basic_seq_packet_socket::protocol_type">basic_seq_packet_socket::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp168381344"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive" title="basic_seq_packet_socket::receive">basic_seq_packet_socket::receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1">basic_seq_packet_socket::receive
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2">basic_seq_packet_socket::receive
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3">basic_seq_packet_socket::receive
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp168393648"></a>
-Receive some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1" title="basic_seq_packet_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1" title="basic_seq_packet_socket::receive (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2" title="basic_seq_packet_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2" title="basic_seq_packet_socket::receive (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3" title="basic_seq_packet_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3" title="basic_seq_packet_socket::receive (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1" title="basic_seq_packet_socket::receive (1 of 3 overloads)">basic_seq_packet_socket::receive
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the sequenced packet socket.
- The function call will block until data has been received successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">out_flags</span></dt>
-<dd><p>
- After the receive call completes, contains flags associated with
- the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
- bit is set then the received data marks the end of a record.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">out_flags</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2" title="basic_seq_packet_socket::receive (2 of 3 overloads)">basic_seq_packet_socket::receive
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the sequenced packet socket.
- The function call will block until data has been received successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">in_flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">out_flags</span></dt>
-<dd><p>
- After the receive call completes, contains flags associated with
- the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
- bit is set then the received data marks the end of a record.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">out_flags</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3" title="basic_seq_packet_socket::receive (3 of 3 overloads)">basic_seq_packet_socket::receive
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the sequenced packet socket.
- The function call will block until data has been received successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">in_flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">out_flags</span></dt>
-<dd><p>
- After the receive call completes, contains flags associated with
- the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
- bit is set then the received data marks the end of a record.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size" title="basic_seq_packet_socket::receive_buffer_size">basic_seq_packet_socket::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp168623920"></a>
-Socket option for the receive
- buffer size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark" title="basic_seq_packet_socket::receive_low_watermark">basic_seq_packet_socket::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp168681008"></a>
-Socket option for the receive
- low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint" title="basic_seq_packet_socket::remote_endpoint">basic_seq_packet_socket::remote_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1">basic_seq_packet_socket::remote_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2">basic_seq_packet_socket::remote_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp168737184"></a>
-Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">basic_seq_packet_socket::remote_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">basic_seq_packet_socket::remote_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket. Returns
- a default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address" title="basic_seq_packet_socket::reuse_address">basic_seq_packet_socket::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp168843008"></a>
-Socket option to allow the socket to
- be bound to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.send"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send" title="basic_seq_packet_socket::send">basic_seq_packet_socket::send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1">basic_seq_packet_socket::send
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2">basic_seq_packet_socket::send
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp168899104"></a>
-Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1" title="basic_seq_packet_socket::send (1 of 2 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1" title="basic_seq_packet_socket::send (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2" title="basic_seq_packet_socket::send (2 of 2 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2" title="basic_seq_packet_socket::send (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1" title="basic_seq_packet_socket::send (1 of 2 overloads)">basic_seq_packet_socket::send
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the sequenced packet socket. The
- function call will block until the data has been sent successfully, or
- an until error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2" title="basic_seq_packet_socket::send (2 of 2 overloads)">basic_seq_packet_socket::send
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the sequenced packet socket. The
- function call will block the data has been sent successfully, or an until
- error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The send operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
- function if you need to ensure that all data is written before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size" title="basic_seq_packet_socket::send_buffer_size">basic_seq_packet_socket::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp169023648"></a>
-Socket option for the send buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark" title="basic_seq_packet_socket::send_low_watermark">basic_seq_packet_socket::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp169080576"></a>
-Socket option for the send low
- watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service" title="basic_seq_packet_socket::service">basic_seq_packet_socket::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp169137456"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service_type" title="basic_seq_packet_socket::service_type">basic_seq_packet_socket::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp169149680"></a>
-The type of the service that will be
- used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SeqPacketSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option" title="basic_seq_packet_socket::set_option">basic_seq_packet_socket::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1">basic_seq_packet_socket::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2">basic_seq_packet_socket::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp169161920"></a>
-Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">basic_seq_packet_socket::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">basic_seq_packet_socket::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown" title="basic_seq_packet_socket::shutdown">basic_seq_packet_socket::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1">basic_seq_packet_socket::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2">basic_seq_packet_socket::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp169291024"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">basic_seq_packet_socket::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">basic_seq_packet_socket::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type" title="basic_seq_packet_socket::shutdown_type">basic_seq_packet_socket::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp169405040"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp169408496"></a>
- <a class="indexterm" name="idp169409600"></a>
- <a class="indexterm" name="idp169410704"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_seq_packet_socket.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_serial_port"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port">basic_serial_port</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.assign">basic_serial_port::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.async_read_some">basic_serial_port::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.async_write_some">basic_serial_port::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port">basic_serial_port::basic_serial_port</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.cancel">basic_serial_port::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.close">basic_serial_port::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_implementation">basic_serial_port::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_io_service">basic_serial_port::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_option">basic_serial_port::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_service">basic_serial_port::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.implementation">basic_serial_port::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.implementation_type">basic_serial_port::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.is_open">basic_serial_port::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer">basic_serial_port::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type">basic_serial_port::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.native">basic_serial_port::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.native_handle">basic_serial_port::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type">basic_serial_port::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.native_type">basic_serial_port::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.open">basic_serial_port::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_">basic_serial_port::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.read_some">basic_serial_port::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.send_break">basic_serial_port::send_break</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.service">basic_serial_port::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.service_type">basic_serial_port::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.set_option">basic_serial_port::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.write_some">basic_serial_port::write_some</a></span></dt>
-</dl></div>
-<p>
- Provides serial port functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SerialPortService" title="Serial port service requirements">SerialPortService</a> <span class="special">=</span> <span class="identifier">serial_port_service</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_serial_port</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SerialPortService</span> <span class="special">&gt;,</span>
- <span class="keyword">public</span> <span class="identifier">serial_port_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_serial_port.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation_type" title="basic_serial_port::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type" title="basic_serial_port::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_serial_port is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type" title="basic_serial_port::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_type" title="basic_serial_port::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service_type" title="basic_serial_port::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_serial_port.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign" title="basic_serial_port::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native serial port to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some" title="basic_serial_port::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some" title="basic_serial_port::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port" title="basic_serial_port::basic_serial_port"><span class="bold"><strong>basic_serial_port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_serial_port without opening it.
- </p>
- <p>
- Construct and open a basic_serial_port.
- </p>
- <p>
- Construct a basic_serial_port on an existing native serial port.
- </p>
- <p>
- Move-construct a basic_serial_port from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel" title="basic_serial_port::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close" title="basic_serial_port::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_io_service" title="basic_serial_port::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option" title="basic_serial_port::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.is_open" title="basic_serial_port::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the serial port is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer" title="basic_serial_port::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native" title="basic_serial_port::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native serial port representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle" title="basic_serial_port::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native serial port representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open" title="basic_serial_port::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the serial port using the specified device name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_" title="basic_serial_port::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_serial_port from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some" title="basic_serial_port::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break" title="basic_serial_port::send_break"><span class="bold"><strong>send_break</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a break sequence to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option" title="basic_serial_port::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some" title="basic_serial_port::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the serial port.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_serial_port.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation" title="basic_serial_port::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service" title="basic_serial_port::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_serial_port.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation" title="basic_serial_port::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service" title="basic_serial_port::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
- provides functionality that is common to all serial ports.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_serial_port.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.thread_safety">Thread Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_serial_port.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign" title="basic_serial_port::assign">basic_serial_port::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.assign.overload1">basic_serial_port::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.assign.overload2">basic_serial_port::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp169572608"></a>
-Assign an existing native serial port to the serial
- port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign.overload1" title="basic_serial_port::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign.overload1" title="basic_serial_port::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign.overload2" title="basic_serial_port::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign.overload2" title="basic_serial_port::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign.overload1" title="basic_serial_port::assign (1 of 2 overloads)">basic_serial_port::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native serial port to the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign.overload2" title="basic_serial_port::assign (2 of 2 overloads)">basic_serial_port::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native serial port to the serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some" title="basic_serial_port::async_read_some">basic_serial_port::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp169619760"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data from the serial port.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.async_read_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_read_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.async_read_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_read_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some.remarks">Remarks</a>
- </h6>
-<p>
- The read operation may not read all of the requested number of bytes. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is read before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.async_read_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_read_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some" title="basic_serial_port::async_write_some">basic_serial_port::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp169684064"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write data to the serial port.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.async_write_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_write_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the serial port. Although
- the buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.async_write_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_write_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some.remarks">Remarks</a>
- </h6>
-<p>
- The write operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
- to ensure that all data is written before the asynchronous operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.async_write_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_write_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port" title="basic_serial_port::basic_serial_port">basic_serial_port::basic_serial_port</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload1">basic_serial_port::basic_serial_port
- (1 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload2">basic_serial_port::basic_serial_port
- (2 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload3">basic_serial_port::basic_serial_port
- (3 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4">basic_serial_port::basic_serial_port
- (4 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5">basic_serial_port::basic_serial_port
- (5 of 5 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp169748160"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload1" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload1" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload2" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">device</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload2" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">more...</a></em></span>
-
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload3" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload3" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> on an existing
- native serial port.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
- <span class="identifier">basic_serial_port</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload1" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">basic_serial_port::basic_serial_port
- (1 of 5 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a serial port without opening it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the serial port will use to dispatch handlers for any asynchronous
- operations performed on the port.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload2" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">basic_serial_port::basic_serial_port
- (2 of 5 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">device</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a serial port for the specified device
- name.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the serial port will use to dispatch handlers for any asynchronous
- operations performed on the port.
- </p></dd>
-<dt><span class="term">device</span></dt>
-<dd><p>
- The platform-specific device name for this serial port.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload3" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">basic_serial_port::basic_serial_port
- (3 of 5 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a serial port for the specified device
- name.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the serial port will use to dispatch handlers for any asynchronous
- operations performed on the port.
- </p></dd>
-<dt><span class="term">device</span></dt>
-<dd><p>
- The platform-specific device name for this serial port.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">basic_serial_port::basic_serial_port
- (4 of 5 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> on an existing
- native serial port.
- </p>
-<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a serial port object to hold an existing native
- serial port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the serial port will use to dispatch handlers for any asynchronous
- operations performed on the port.
- </p></dd>
-<dt><span class="term">native_serial_port</span></dt>
-<dd><p>
- A native serial port.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">basic_serial_port::basic_serial_port
- (5 of 5 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
- <span class="identifier">basic_serial_port</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a serial port from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_serial_port</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel" title="basic_serial_port::cancel">basic_serial_port::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload1">basic_serial_port::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload2">basic_serial_port::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp169926896"></a>
-Cancel all asynchronous operations associated with
- the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload1" title="basic_serial_port::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload1" title="basic_serial_port::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload2" title="basic_serial_port::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload2" title="basic_serial_port::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload1" title="basic_serial_port::cancel (1 of 2 overloads)">basic_serial_port::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload2" title="basic_serial_port::cancel (2 of 2 overloads)">basic_serial_port::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close" title="basic_serial_port::close">basic_serial_port::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.close.overload1">basic_serial_port::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.close.overload2">basic_serial_port::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp169981344"></a>
-Close the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload1" title="basic_serial_port::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload1" title="basic_serial_port::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload2" title="basic_serial_port::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload2" title="basic_serial_port::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload1" title="basic_serial_port::close (1 of 2 overloads)">basic_serial_port::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the serial port. Any asynchronous read
- or write operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload2" title="basic_serial_port::close (2 of 2 overloads)">basic_serial_port::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the serial port. Any asynchronous read
- or write operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation" title="basic_serial_port::get_implementation">basic_serial_port::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload1">basic_serial_port::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload2">basic_serial_port::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170035680"></a>
-Get the underlying implementation of
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload1" title="basic_serial_port::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload1" title="basic_serial_port::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload2" title="basic_serial_port::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload2" title="basic_serial_port::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload1" title="basic_serial_port::get_implementation (1 of 2 overloads)">basic_serial_port::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation.overload2" title="basic_serial_port::get_implementation (2 of 2 overloads)">basic_serial_port::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_io_service" title="basic_serial_port::get_io_service">basic_serial_port::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp170065408"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option" title="basic_serial_port::get_option">basic_serial_port::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload1">basic_serial_port::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload2">basic_serial_port::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170083136"></a>
-Get an option from the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload1" title="basic_serial_port::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload1" title="basic_serial_port::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload2" title="basic_serial_port::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload2" title="basic_serial_port::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload1" title="basic_serial_port::get_option (1 of 2 overloads)">basic_serial_port::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get an option from the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the serial
- port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the serial port.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload2" title="basic_serial_port::get_option (2 of 2 overloads)">basic_serial_port::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get an option from the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the serial
- port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the serial port.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service" title="basic_serial_port::get_service">basic_serial_port::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload1">basic_serial_port::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload2">basic_serial_port::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170159824"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload1" title="basic_serial_port::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload1" title="basic_serial_port::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload2" title="basic_serial_port::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload2" title="basic_serial_port::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload1" title="basic_serial_port::get_service (1 of 2 overloads)">basic_serial_port::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service.overload2" title="basic_serial_port::get_service (2 of 2 overloads)">basic_serial_port::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation" title="basic_serial_port::implementation">basic_serial_port::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp170189440"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation_type" title="basic_serial_port::implementation_type">basic_serial_port::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp170197872"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.is_open" title="basic_serial_port::is_open">basic_serial_port::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170211184"></a>
-Determine whether the serial port is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer" title="basic_serial_port::lowest_layer">basic_serial_port::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload1">basic_serial_port::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload2">basic_serial_port::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170218208"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload1" title="basic_serial_port::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload1" title="basic_serial_port::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload2" title="basic_serial_port::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload2" title="basic_serial_port::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload1" title="basic_serial_port::lowest_layer (1 of 2 overloads)">basic_serial_port::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload2" title="basic_serial_port::lowest_layer (2 of 2 overloads)">basic_serial_port::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type" title="basic_serial_port::lowest_layer_type">basic_serial_port::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170258064"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> is always the
- lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_serial_port</span><span class="special">&lt;</span> <span class="identifier">SerialPortService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation_type" title="basic_serial_port::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type" title="basic_serial_port::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_serial_port is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type" title="basic_serial_port::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_type" title="basic_serial_port::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service_type" title="basic_serial_port::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign" title="basic_serial_port::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native serial port to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some" title="basic_serial_port::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some" title="basic_serial_port::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port" title="basic_serial_port::basic_serial_port"><span class="bold"><strong>basic_serial_port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_serial_port without opening it.
- </p>
- <p>
- Construct and open a basic_serial_port.
- </p>
- <p>
- Construct a basic_serial_port on an existing native serial port.
- </p>
- <p>
- Move-construct a basic_serial_port from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel" title="basic_serial_port::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the serial
- port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close" title="basic_serial_port::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_io_service" title="basic_serial_port::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option" title="basic_serial_port::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.is_open" title="basic_serial_port::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the serial port is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer" title="basic_serial_port::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native" title="basic_serial_port::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native serial port
- representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle" title="basic_serial_port::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native serial port representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open" title="basic_serial_port::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the serial port using the specified device name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_" title="basic_serial_port::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_serial_port from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some" title="basic_serial_port::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break" title="basic_serial_port::send_break"><span class="bold"><strong>send_break</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a break sequence to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option" title="basic_serial_port::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some" title="basic_serial_port::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the serial port.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation" title="basic_serial_port::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service" title="basic_serial_port::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation" title="basic_serial_port::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service" title="basic_serial_port::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
- provides functionality that is common to all serial ports.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native" title="basic_serial_port::native">basic_serial_port::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170400768"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native serial port representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- serial port. This is intended to allow access to native serial port functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle" title="basic_serial_port::native_handle">basic_serial_port::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170408912"></a>
-Get the native serial port representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- serial port. This is intended to allow access to native serial port functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type" title="basic_serial_port::native_handle_type">basic_serial_port::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170415408"></a>
-The native representation of a serial
- port.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SerialPortService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_type" title="basic_serial_port::native_type">basic_serial_port::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170428768"></a>
-(Deprecated: Use native_handle_type.) The native
- representation of a serial port.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SerialPortService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open" title="basic_serial_port::open">basic_serial_port::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.open.overload1">basic_serial_port::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.open.overload2">basic_serial_port::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170442112"></a>
-Open the serial port using the specified device name.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload1" title="basic_serial_port::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload1" title="basic_serial_port::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload2" title="basic_serial_port::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload2" title="basic_serial_port::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload1" title="basic_serial_port::open (1 of 2 overloads)">basic_serial_port::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Open the serial port using the specified device name.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the serial port for the specified device name.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">device</span></dt>
-<dd><p>
- The platform-specific device name.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload2" title="basic_serial_port::open (2 of 2 overloads)">basic_serial_port::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Open the serial port using the specified device name.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the serial port using the given platform-specific
- device name.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">device</span></dt>
-<dd><p>
- The platform-specific device name.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set the indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_" title="basic_serial_port::operator=">basic_serial_port::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp170511952"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_serial_port</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_serial_port</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a serial port from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_serial_port</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.read_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some" title="basic_serial_port::read_some">basic_serial_port::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1">basic_serial_port::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2">basic_serial_port::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170537040"></a>
-Read some data from the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1" title="basic_serial_port::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1" title="basic_serial_port::read_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2" title="basic_serial_port::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2" title="basic_serial_port::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1" title="basic_serial_port::read_some (1 of 2 overloads)">basic_serial_port::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the serial port. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2" title="basic_serial_port::read_some (2 of 2 overloads)">basic_serial_port::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the serial port. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.read_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.send_break"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break" title="basic_serial_port::send_break">basic_serial_port::send_break</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload1">basic_serial_port::send_break
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload2">basic_serial_port::send_break
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170653984"></a>
-Send a break sequence to the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload1" title="basic_serial_port::send_break (1 of 2 overloads)">send_break</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload1" title="basic_serial_port::send_break (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload2" title="basic_serial_port::send_break (2 of 2 overloads)">send_break</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload2" title="basic_serial_port::send_break (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.send_break.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload1" title="basic_serial_port::send_break (1 of 2 overloads)">basic_serial_port::send_break
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Send a break sequence to the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">send_break</span><span class="special">();</span>
-</pre>
-<p>
- This function causes a break sequence of platform-specific duration to
- be sent out the serial port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.send_break.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.send_break.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.send_break.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload2" title="basic_serial_port::send_break (2 of 2 overloads)">basic_serial_port::send_break
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Send a break sequence to the serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">send_break</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes a break sequence of platform-specific duration to
- be sent out the serial port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.send_break.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.send_break.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service" title="basic_serial_port::service">basic_serial_port::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp170700528"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service_type" title="basic_serial_port::service_type">basic_serial_port::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp170712768"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SerialPortService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option" title="basic_serial_port::set_option">basic_serial_port::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload1">basic_serial_port::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload2">basic_serial_port::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170724944"></a>
-Set an option on the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload1" title="basic_serial_port::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload1" title="basic_serial_port::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload2" title="basic_serial_port::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload2" title="basic_serial_port::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload1" title="basic_serial_port::set_option (1 of 2 overloads)">basic_serial_port::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set an option on the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the serial port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be set on the serial port.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload2" title="basic_serial_port::set_option (2 of 2 overloads)">basic_serial_port::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set an option on the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the serial port.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be set on the serial port.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_serial_port.write_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some" title="basic_serial_port::write_some">basic_serial_port::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1">basic_serial_port::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2">basic_serial_port::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp170804272"></a>
-Write some data to the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1" title="basic_serial_port::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1" title="basic_serial_port::write_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2" title="basic_serial_port::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2" title="basic_serial_port::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1" title="basic_serial_port::write_some (1 of 2 overloads)">basic_serial_port::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the serial port. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the serial port.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_serial_port.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2" title="basic_serial_port::write_some (2 of 2 overloads)">basic_serial_port::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the serial port.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the serial port. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the serial port.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_serial_port.write_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_signal_set"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set" title="basic_signal_set">basic_signal_set</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.add">basic_signal_set::add</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.async_wait">basic_signal_set::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set">basic_signal_set::basic_signal_set</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.cancel">basic_signal_set::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.clear">basic_signal_set::clear</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_implementation">basic_signal_set::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_io_service">basic_signal_set::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_service">basic_signal_set::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.implementation">basic_signal_set::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.implementation_type">basic_signal_set::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.remove">basic_signal_set::remove</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.service">basic_signal_set::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.service_type">basic_signal_set::service_type</a></span></dt>
-</dl></div>
-<p>
- Provides signal functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SignalSetService" title="Signal set service requirements">SignalSetService</a> <span class="special">=</span> <span class="identifier">signal_set_service</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_signal_set</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SignalSetService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation_type" title="basic_signal_set::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service_type" title="basic_signal_set::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add" title="basic_signal_set::add"><span class="bold"><strong>add</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add a signal to a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.async_wait" title="basic_signal_set::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous operation to wait for a signal to be delivered.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set" title="basic_signal_set::basic_signal_set"><span class="bold"><strong>basic_signal_set</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a signal set without adding any signals.
- </p>
- <p>
- Construct a signal set and add one signal.
- </p>
- <p>
- Construct a signal set and add two signals.
- </p>
- <p>
- Construct a signal set and add three signals.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel" title="basic_signal_set::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all operations associated with the signal set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear" title="basic_signal_set::clear"><span class="bold"><strong>clear</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove all signals from a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_io_service" title="basic_signal_set::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove" title="basic_signal_set::remove"><span class="bold"><strong>remove</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove a signal from a signal_set.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation" title="basic_signal_set::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service" title="basic_signal_set::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation" title="basic_signal_set::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service" title="basic_signal_set::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_signal_set" title="basic_signal_set"><code class="computeroutput"><span class="identifier">basic_signal_set</span></code></a>
- class template provides the ability to perform an asynchronous wait for one
- or more signals to occur.
- </p>
-<p>
- Most applications will use the <a class="link" href="reference.html#boost_asio.reference.signal_set" title="signal_set"><code class="computeroutput"><span class="identifier">signal_set</span></code></a> typedef.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.example">Example</a>
- </h5>
-<p>
- Performing an asynchronous wait:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// A signal occurred.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a signal set registered for process termination.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">SIGINT</span><span class="special">,</span> <span class="identifier">SIGTERM</span><span class="special">);</span>
-
-<span class="comment">// Start an asynchronous wait for one of the signals to occur.</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.queueing_of_signal_notifications"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.queueing_of_signal_notifications">Queueing
- of signal notifications</a>
- </h5>
-<p>
- If a signal is registered with a signal_set, and the signal occurs when there
- are no waiting handlers, then the signal notification is queued. The next
- async_wait operation on that signal_set will dequeue the notification. If
- multiple notifications are queued, subsequent async_wait operations dequeue
- them one at a time. Signal notifications are dequeued in order of ascending
- signal number.
- </p>
-<p>
- If a signal number is removed from a signal_set (using the <code class="computeroutput"><span class="identifier">remove</span></code> or <code class="computeroutput"><span class="identifier">erase</span></code>
- member functions) then any queued notifications for that signal are discarded.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.multiple_registration_of_signals"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.multiple_registration_of_signals">Multiple
- registration of signals</a>
- </h5>
-<p>
- The same signal number may be registered with different signal_set objects.
- When the signal occurs, one handler is called for each signal_set object.
- </p>
-<p>
- Note that multiple registration only works for signals that are registered
- using Asio. The application must not also register a signal handler using
- functions such as <code class="computeroutput"><span class="identifier">signal</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">sigaction</span><span class="special">()</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.signal_masking_on_posix_platforms"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.signal_masking_on_posix_platforms">Signal
- masking on POSIX platforms</a>
- </h5>
-<p>
- POSIX allows signals to be blocked using functions such as <code class="computeroutput"><span class="identifier">sigprocmask</span><span class="special">()</span></code>
- and <code class="computeroutput"><span class="identifier">pthread_sigmask</span><span class="special">()</span></code>.
- For signals to be delivered, programs must ensure that any signals registered
- using signal_set objects are unblocked in at least one thread.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_signal_set.h9"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_signal_set.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.add"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add" title="basic_signal_set::add">basic_signal_set::add</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.add.overload1">basic_signal_set::add
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.add.overload2">basic_signal_set::add
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171075776"></a>
-Add a signal to a signal_set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload1" title="basic_signal_set::add (1 of 2 overloads)">add</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload1" title="basic_signal_set::add (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload2" title="basic_signal_set::add (2 of 2 overloads)">add</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload2" title="basic_signal_set::add (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.add.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload1" title="basic_signal_set::add (1 of 2 overloads)">basic_signal_set::add
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Add a signal to a signal_set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
-</pre>
-<p>
- This function adds the specified signal to the set. It has no effect
- if the signal is already in the set.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.add.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.add.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">signal_number</span></dt>
-<dd><p>
- The signal to be added to the set.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.add.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.add.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.add.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload2" title="basic_signal_set::add (2 of 2 overloads)">basic_signal_set::add
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Add a signal to a signal_set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function adds the specified signal to the set. It has no effect
- if the signal is already in the set.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.add.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.add.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">signal_number</span></dt>
-<dd><p>
- The signal to be added to the set.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.async_wait" title="basic_signal_set::async_wait">basic_signal_set::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp171135584"></a>
-Start an asynchronous operation to wait for a
- signal to be delivered.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SignalHandler" title="Signal handler requirements">SignalHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">SignalHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to initiate an asynchronous wait against the
- signal set. It always returns immediately.
- </p>
-<p>
- For each call to <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>, the supplied handler will be called
- exactly once. The handler will be called when:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- One of the registered signals in the signal set occurs; or
- </li>
-<li class="listitem">
- The signal set was cancelled, in which case the handler is passed the
- error code <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.async_wait.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.async_wait.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.async_wait.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the signal occurs. Copies will be made
- of the handler as required. The function signature of the handler
- must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span> <span class="comment">// Indicates which signal occurred.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set" title="basic_signal_set::basic_signal_set">basic_signal_set::basic_signal_set</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload1">basic_signal_set::basic_signal_set
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2">basic_signal_set::basic_signal_set
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3">basic_signal_set::basic_signal_set
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4">basic_signal_set::basic_signal_set
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171178112"></a>
-Construct a signal set without adding any
- signals.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload1" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload1" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a signal set and add one signal.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a signal set and add two signals.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a signal set and add three signals.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_3</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload1" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">basic_signal_set::basic_signal_set
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a signal set without adding any signals.
- </p>
-<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a signal set without registering for any signals.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the signal set will use to dispatch handlers for any asynchronous
- operations performed on the set.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">basic_signal_set::basic_signal_set
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a signal set and add one signal.
- </p>
-<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a signal set and registers for one signal.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the signal set will use to dispatch handlers for any asynchronous
- operations performed on the set.
- </p></dd>
-<dt><span class="term">signal_number_1</span></dt>
-<dd><p>
- The signal number to be added.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2.remarks">Remarks</a>
- </h6>
-<p>
- This constructor is equivalent to performing:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_1</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">basic_signal_set::basic_signal_set
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a signal set and add two signals.
- </p>
-<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a signal set and registers for two signals.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the signal set will use to dispatch handlers for any asynchronous
- operations performed on the set.
- </p></dd>
-<dt><span class="term">signal_number_1</span></dt>
-<dd><p>
- The first signal number to be added.
- </p></dd>
-<dt><span class="term">signal_number_2</span></dt>
-<dd><p>
- The second signal number to be added.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3.remarks">Remarks</a>
- </h6>
-<p>
- This constructor is equivalent to performing:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_1</span><span class="special">);</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_2</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">basic_signal_set::basic_signal_set
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a signal set and add three signals.
- </p>
-<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number_3</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a signal set and registers for three signals.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the signal set will use to dispatch handlers for any asynchronous
- operations performed on the set.
- </p></dd>
-<dt><span class="term">signal_number_1</span></dt>
-<dd><p>
- The first signal number to be added.
- </p></dd>
-<dt><span class="term">signal_number_2</span></dt>
-<dd><p>
- The second signal number to be added.
- </p></dd>
-<dt><span class="term">signal_number_3</span></dt>
-<dd><p>
- The third signal number to be added.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4.remarks">Remarks</a>
- </h6>
-<p>
- This constructor is equivalent to performing:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_1</span><span class="special">);</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_2</span><span class="special">);</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_3</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel" title="basic_signal_set::cancel">basic_signal_set::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload1">basic_signal_set::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload2">basic_signal_set::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171362016"></a>
-Cancel all operations associated with the signal
- set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload1" title="basic_signal_set::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload1" title="basic_signal_set::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload2" title="basic_signal_set::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload2" title="basic_signal_set::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload1" title="basic_signal_set::cancel (1 of 2 overloads)">basic_signal_set::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all operations associated with the signal set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous wait
- operations against the signal set. The handler for each cancelled operation
- will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-<p>
- Cancellation does not alter the set of registered signals.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- If a registered signal occurred before <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload2" title="basic_signal_set::cancel (2 of 2 overloads)">basic_signal_set::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all operations associated with the signal set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous wait
- operations against the signal set. The handler for each cancelled operation
- will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-<p>
- Cancellation does not alter the set of registered signals.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If a registered signal occurred before <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.clear"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear" title="basic_signal_set::clear">basic_signal_set::clear</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.clear.overload1">basic_signal_set::clear
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.clear.overload2">basic_signal_set::clear
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171433056"></a>
-Remove all signals from a signal_set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload1" title="basic_signal_set::clear (1 of 2 overloads)">clear</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload1" title="basic_signal_set::clear (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload2" title="basic_signal_set::clear (2 of 2 overloads)">clear</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload2" title="basic_signal_set::clear (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.clear.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload1" title="basic_signal_set::clear (1 of 2 overloads)">basic_signal_set::clear
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Remove all signals from a signal_set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
-</pre>
-<p>
- This function removes all signals from the set. It has no effect if the
- set is already empty.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.clear.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.clear.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Removes all queued notifications.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.clear.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload2" title="basic_signal_set::clear (2 of 2 overloads)">basic_signal_set::clear
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Remove all signals from a signal_set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">clear</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function removes all signals from the set. It has no effect if the
- set is already empty.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.clear.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.clear.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Removes all queued notifications.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation" title="basic_signal_set::get_implementation">basic_signal_set::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload1">basic_signal_set::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload2">basic_signal_set::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171485664"></a>
-Get the underlying implementation of
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload1" title="basic_signal_set::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload1" title="basic_signal_set::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload2" title="basic_signal_set::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload2" title="basic_signal_set::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload1" title="basic_signal_set::get_implementation (1 of 2 overloads)">basic_signal_set::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation.overload2" title="basic_signal_set::get_implementation (2 of 2 overloads)">basic_signal_set::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_io_service" title="basic_signal_set::get_io_service">basic_signal_set::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp171515200"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service" title="basic_signal_set::get_service">basic_signal_set::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload1">basic_signal_set::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload2">basic_signal_set::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171533008"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload1" title="basic_signal_set::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload1" title="basic_signal_set::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload2" title="basic_signal_set::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload2" title="basic_signal_set::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload1" title="basic_signal_set::get_service (1 of 2 overloads)">basic_signal_set::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service.overload2" title="basic_signal_set::get_service (2 of 2 overloads)">basic_signal_set::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation" title="basic_signal_set::implementation">basic_signal_set::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp171562512"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation_type" title="basic_signal_set::implementation_type">basic_signal_set::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp171570944"></a>
-The underlying implementation type of
- I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_signal_set.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.remove"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove" title="basic_signal_set::remove">basic_signal_set::remove</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1">basic_signal_set::remove
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_signal_set.remove.overload2">basic_signal_set::remove
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171584240"></a>
-Remove a signal from a signal_set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1" title="basic_signal_set::remove (1 of 2 overloads)">remove</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1" title="basic_signal_set::remove (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload2" title="basic_signal_set::remove (2 of 2 overloads)">remove</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload2" title="basic_signal_set::remove (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.remove.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1" title="basic_signal_set::remove (1 of 2 overloads)">basic_signal_set::remove
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Remove a signal from a signal_set.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">remove</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
-</pre>
-<p>
- This function removes the specified signal from the set. It has no effect
- if the signal is not in the set.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.remove.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">signal_number</span></dt>
-<dd><p>
- The signal to be removed from the set.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.remove.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.remove.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Removes any notifications that have been queued for the specified signal
- number.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_signal_set.remove.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload2" title="basic_signal_set::remove (2 of 2 overloads)">basic_signal_set::remove
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Remove a signal from a signal_set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">remove</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function removes the specified signal from the set. It has no effect
- if the signal is not in the set.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.remove.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">signal_number</span></dt>
-<dd><p>
- The signal to be removed from the set.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.remove.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Removes any notifications that have been queued for the specified signal
- number.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service" title="basic_signal_set::service">basic_signal_set::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp171651872"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_signal_set.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service_type" title="basic_signal_set::service_type">basic_signal_set::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp171664176"></a>
-The type of the service that will be used to
- provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SignalSetService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_signal_set.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_signal_set.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_signal_set.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket">basic_socket</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.assign">basic_socket::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.async_connect">basic_socket::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.at_mark">basic_socket::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.available">basic_socket::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket">basic_socket::basic_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.bind">basic_socket::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.broadcast">basic_socket::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.bytes_readable">basic_socket::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.cancel">basic_socket::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.close">basic_socket::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.connect">basic_socket::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.debug">basic_socket::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.do_not_route">basic_socket::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted">basic_socket::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.endpoint_type">basic_socket::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_implementation">basic_socket::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_io_service">basic_socket::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_option">basic_socket::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_service">basic_socket::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.implementation">basic_socket::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.implementation_type">basic_socket::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.io_control">basic_socket::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.is_open">basic_socket::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.keep_alive">basic_socket::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.linger">basic_socket::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.local_endpoint">basic_socket::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.lowest_layer">basic_socket::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type">basic_socket::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.max_connections">basic_socket::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.message_do_not_route">basic_socket::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.message_end_of_record">basic_socket::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.message_flags">basic_socket::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.message_out_of_band">basic_socket::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.message_peek">basic_socket::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native">basic_socket::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_handle">basic_socket::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_handle_type">basic_socket::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_non_blocking">basic_socket::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_type">basic_socket::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.non_blocking">basic_socket::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.non_blocking_io">basic_socket::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.open">basic_socket::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.operator_eq_">basic_socket::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.protocol_type">basic_socket::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size">basic_socket::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark">basic_socket::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.remote_endpoint">basic_socket::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.reuse_address">basic_socket::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.send_buffer_size">basic_socket::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.send_low_watermark">basic_socket::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.service">basic_socket::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.service_type">basic_socket::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.set_option">basic_socket::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.shutdown">basic_socket::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.shutdown_type">basic_socket::shutdown_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket._basic_socket">basic_socket::~basic_socket</a></span></dt>
-</dl></div>
-<p>
- Provides socket functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_socket</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SocketService</span> <span class="special">&gt;,</span>
- <span class="keyword">public</span> <span class="identifier">socket_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign">basic_socket::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.assign.overload1">basic_socket::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.assign.overload2">basic_socket::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp171927360"></a>
-Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign.overload1" title="basic_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign.overload1" title="basic_socket::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign.overload2" title="basic_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign.overload2" title="basic_socket::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.assign.overload1" title="basic_socket::assign (1 of 2 overloads)">basic_socket::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.assign.overload2" title="basic_socket::assign (2 of 2 overloads)">basic_socket::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect">basic_socket::async_connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp171987744"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously connect a socket to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the connect
- fails, and the socket was automatically opened, the socket is not returned
- to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.async_connect.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected. Copies
- will be made of the endpoint object as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connection operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.async_connect.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.async_connect.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Connect succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark">basic_socket::at_mark</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.at_mark.overload1">basic_socket::at_mark
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.at_mark.overload2">basic_socket::at_mark
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172067280"></a>
-Determine whether the socket is at the out-of-band data
- mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload1" title="basic_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload1" title="basic_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload2" title="basic_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload2" title="basic_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.at_mark.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload1" title="basic_socket::at_mark (1 of 2 overloads)">basic_socket::at_mark
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.at_mark.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.at_mark.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.at_mark.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload2" title="basic_socket::at_mark (2 of 2 overloads)">basic_socket::at_mark
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.at_mark.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.at_mark.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.available"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available">basic_socket::available</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.available.overload1">basic_socket::available
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.available.overload2">basic_socket::available
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172120208"></a>
-Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload1" title="basic_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload1" title="basic_socket::available (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload2" title="basic_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload2" title="basic_socket::available (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.available.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload1" title="basic_socket::available (1 of 2 overloads)">basic_socket::available
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.available.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.available.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.available.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload2" title="basic_socket::available (2 of 2 overloads)">basic_socket::available
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.available.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.available.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.available.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket">basic_socket::basic_socket</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload1">basic_socket::basic_socket
- (1 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload2">basic_socket::basic_socket
- (2 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload3">basic_socket::basic_socket
- (3 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload4">basic_socket::basic_socket
- (4 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload5">basic_socket::basic_socket
- (5 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload6">basic_socket::basic_socket
- (6 of 6 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172177584"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> without opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload1" title="basic_socket::basic_socket (1 of 6 overloads)">basic_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload1" title="basic_socket::basic_socket (1 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload2" title="basic_socket::basic_socket (2 of 6 overloads)">basic_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload2" title="basic_socket::basic_socket (2 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>, opening it and binding
- it to the given local endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload3" title="basic_socket::basic_socket (3 of 6 overloads)">basic_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload3" title="basic_socket::basic_socket (3 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> on an existing native
- socket.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload4" title="basic_socket::basic_socket (4 of 6 overloads)">basic_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload4" title="basic_socket::basic_socket (4 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload5" title="basic_socket::basic_socket (5 of 6 overloads)">basic_socket</a><span class="special">(</span>
- <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload5" title="basic_socket::basic_socket (5 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
- another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload6" title="basic_socket::basic_socket (6 of 6 overloads)">basic_socket</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload6" title="basic_socket::basic_socket (6 of 6 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload1" title="basic_socket::basic_socket (1 of 6 overloads)">basic_socket::basic_socket
- (1 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a socket without opening it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the socket will use to dispatch handlers for any asynchronous operations
- performed on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload2" title="basic_socket::basic_socket (2 of 6 overloads)">basic_socket::basic_socket
- (2 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the socket will use to dispatch handlers for any asynchronous operations
- performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload3" title="basic_socket::basic_socket (3 of 6 overloads)">basic_socket::basic_socket
- (3 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>, opening it and
- binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a socket and automatically opens it bound to
- the specified endpoint on the local machine. The protocol used is the
- protocol associated with the given endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the socket will use to dispatch handlers for any asynchronous operations
- performed on the socket.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload4" title="basic_socket::basic_socket (4 of 6 overloads)">basic_socket::basic_socket
- (4 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> on an existing
- native socket.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a socket object to hold an existing native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the socket will use to dispatch handlers for any asynchronous operations
- performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-<dt><span class="term">native_socket</span></dt>
-<dd><p>
- A native socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload5" title="basic_socket::basic_socket (5 of 6 overloads)">basic_socket::basic_socket
- (5 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
- <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
- which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.basic_socket.overload6"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload6" title="basic_socket::basic_socket (6 of 6 overloads)">basic_socket::basic_socket
- (6 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
- another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
-<span class="identifier">basic_socket</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
- which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.basic_socket.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket.overload6.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind">basic_socket::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.bind.overload1">basic_socket::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.bind.overload2">basic_socket::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172441584"></a>
-Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload1" title="basic_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload1" title="basic_socket::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload2" title="basic_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload2" title="basic_socket::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload1" title="basic_socket::bind (1 of 2 overloads)">basic_socket::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload2" title="basic_socket::bind (2 of 2 overloads)">basic_socket::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast">basic_socket::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp172583104"></a>
-Socket option to permit sending of broadcast messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable">basic_socket::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp172639856"></a>
-IO control command to get the amount of data
- that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel">basic_socket::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.cancel.overload1">basic_socket::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.cancel.overload2">basic_socket::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172678912"></a>
-Cancel all asynchronous operations associated with the
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload1" title="basic_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload1" title="basic_socket::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload2" title="basic_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload2" title="basic_socket::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload1" title="basic_socket::cancel (1 of 2 overloads)">basic_socket::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload2" title="basic_socket::cancel (2 of 2 overloads)">basic_socket::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close">basic_socket::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.close.overload1">basic_socket::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.close.overload2">basic_socket::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172767488"></a>
-Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload1" title="basic_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload1" title="basic_socket::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload2" title="basic_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload2" title="basic_socket::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload1" title="basic_socket::close (1 of 2 overloads)">basic_socket::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.close.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload1.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload2" title="basic_socket::close (2 of 2 overloads)">basic_socket::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.close.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.close.overload2.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect">basic_socket::connect</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.connect.overload1">basic_socket::connect
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.connect.overload2">basic_socket::connect
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp172855280"></a>
-Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload1" title="basic_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload1" title="basic_socket::connect (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload2" title="basic_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload2" title="basic_socket::connect (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload1" title="basic_socket::connect (1 of 2 overloads)">basic_socket::connect
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload2" title="basic_socket::connect (2 of 2 overloads)">basic_socket::connect
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug">basic_socket::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp172988992"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route">basic_socket::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173045584"></a>
-Socket option to prevent routing, use local interfaces
- only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted">basic_socket::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173102320"></a>
-Socket option to report aborted connections
- on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type">basic_socket::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp173163152"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation">basic_socket::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload1">basic_socket::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload2">basic_socket::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp173176448"></a>
-Get the underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload1" title="basic_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload1" title="basic_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload2" title="basic_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload2" title="basic_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload1" title="basic_socket::get_implementation (1 of 2 overloads)">basic_socket::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation.overload2" title="basic_socket::get_implementation (2 of 2 overloads)">basic_socket::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service">basic_socket::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173206016"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option">basic_socket::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_option.overload1">basic_socket::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_option.overload2">basic_socket::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp173223824"></a>
-Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload1" title="basic_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload1" title="basic_socket::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload2" title="basic_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload2" title="basic_socket::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload1" title="basic_socket::get_option (1 of 2 overloads)">basic_socket::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload2" title="basic_socket::get_option (2 of 2 overloads)">basic_socket::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service">basic_socket::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_service.overload1">basic_socket::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.get_service.overload2">basic_socket::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp173368128"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service.overload1" title="basic_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service.overload1" title="basic_socket::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service.overload2" title="basic_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service.overload2" title="basic_socket::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service.overload1" title="basic_socket::get_service (1 of 2 overloads)">basic_socket::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service.overload2" title="basic_socket::get_service (2 of 2 overloads)">basic_socket::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation">basic_socket::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173397488"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type">basic_socket::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173405840"></a>
-The underlying implementation type of I/O
- object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control">basic_socket::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.io_control.overload1">basic_socket::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.io_control.overload2">basic_socket::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp173419104"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload1" title="basic_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload1" title="basic_socket::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload2" title="basic_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload2" title="basic_socket::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload1" title="basic_socket::io_control (1 of 2 overloads)">basic_socket::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload2" title="basic_socket::io_control (2 of 2 overloads)">basic_socket::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open">basic_socket::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp173560480"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive">basic_socket::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173568384"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger">basic_socket::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp173624976"></a>
-Socket option to specify whether the socket lingers on
- close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint">basic_socket::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1">basic_socket::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2">basic_socket::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp173687088"></a>
-Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1" title="basic_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1" title="basic_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2" title="basic_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2" title="basic_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1" title="basic_socket::local_endpoint (1 of 2 overloads)">basic_socket::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2" title="basic_socket::local_endpoint (2 of 2 overloads)">basic_socket::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket. Returns a
- default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer">basic_socket::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload1">basic_socket::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload2">basic_socket::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp173790048"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload1" title="basic_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload1" title="basic_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload2" title="basic_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload2" title="basic_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload1" title="basic_socket::lowest_layer (1 of 2 overloads)">basic_socket::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload2" title="basic_socket::lowest_layer (2 of 2 overloads)">basic_socket::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type">basic_socket::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp173829712"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.lowest_layer_type.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections">basic_socket::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174079056"></a>
-The maximum length of the queue of pending incoming
- connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route">basic_socket::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174088304"></a>
-Specify that the data should not be subject
- to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record">basic_socket::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174097712"></a>
-Specifies that the data marks the end
- of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags">basic_socket::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174107024"></a>
-Bitmask type for flags that can be passed to send
- and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band">basic_socket::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174120160"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek">basic_socket::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174129520"></a>
-Peek at incoming data without removing it from
- the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native">basic_socket::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp174138032"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle">basic_socket::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp174146176"></a>
-Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type">basic_socket::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp174152672"></a>
-The native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking">basic_socket::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1">basic_socket::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2">basic_socket::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload3">basic_socket::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp174165920"></a>
-Gets the non-blocking mode of the native
- socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1" title="basic_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1" title="basic_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2" title="basic_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2" title="basic_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload3" title="basic_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload3" title="basic_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1" title="basic_socket::native_non_blocking (1 of 3 overloads)">basic_socket::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native socket. This mode has no effect on the behaviour of the socket
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the socket object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload1.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2" title="basic_socket::native_non_blocking (2 of 3 overloads)">basic_socket::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload2.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload3" title="basic_socket::native_non_blocking (3 of 3 overloads)">basic_socket::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking.overload3.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type">basic_socket::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp174768064"></a>
-(Deprecated: Use native_handle_type.) The native
- representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking">basic_socket::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload1">basic_socket::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2">basic_socket::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload3">basic_socket::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp174781504"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload1" title="basic_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload1" title="basic_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2" title="basic_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2" title="basic_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload3" title="basic_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload3" title="basic_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload1" title="basic_socket::non_blocking (1 of 3 overloads)">basic_socket::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2" title="basic_socket::non_blocking (2 of 3 overloads)">basic_socket::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload3" title="basic_socket::non_blocking (3 of 3 overloads)">basic_socket::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io">basic_socket::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp174900816"></a>
-(Deprecated: Use non_blocking().) IO control
- command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open">basic_socket::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.open.overload1">basic_socket::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.open.overload2">basic_socket::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp174934512"></a>
-Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload1" title="basic_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload1" title="basic_socket::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload2" title="basic_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload2" title="basic_socket::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload1" title="basic_socket::open (1 of 2 overloads)">basic_socket::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload2" title="basic_socket::open (2 of 2 overloads)">basic_socket::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator=">basic_socket::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload1">basic_socket::operator=
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload2">basic_socket::operator=
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp175049184"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload1" title="basic_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload1" title="basic_socket::operator= (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
- another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload2" title="basic_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload2" title="basic_socket::operator= (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload1" title="basic_socket::operator= (1 of 2 overloads)">basic_socket::operator=
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.operator_eq_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
- which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.operator_eq_.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload2" title="basic_socket::operator= (2 of 2 overloads)">basic_socket::operator=
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
- another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.operator_eq_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
- which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.operator_eq_.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type">basic_socket::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp175151008"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size">basic_socket::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175163968"></a>
-Socket option for the receive buffer size
- of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark">basic_socket::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175220704"></a>
-Socket option for the receive low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint">basic_socket::remote_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1">basic_socket::remote_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2">basic_socket::remote_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp175276736"></a>
-Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1" title="basic_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1" title="basic_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2" title="basic_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2" title="basic_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1" title="basic_socket::remote_endpoint (1 of 2 overloads)">basic_socket::remote_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2" title="basic_socket::remote_endpoint (2 of 2 overloads)">basic_socket::remote_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket. Returns
- a default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address">basic_socket::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175380432"></a>
-Socket option to allow the socket to be bound
- to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size">basic_socket::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175437376"></a>
-Socket option for the send buffer size of a
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark">basic_socket::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175494160"></a>
-Socket option for the send low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service">basic_socket::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175550688"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type">basic_socket::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175562928"></a>
-The type of the service that will be used to provide
- I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option">basic_socket::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.set_option.overload1">basic_socket::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.set_option.overload2">basic_socket::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp175575280"></a>
-Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload1" title="basic_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload1" title="basic_socket::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload2" title="basic_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload2" title="basic_socket::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload1" title="basic_socket::set_option (1 of 2 overloads)">basic_socket::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload2" title="basic_socket::set_option (2 of 2 overloads)">basic_socket::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown">basic_socket::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1">basic_socket::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket.shutdown.overload2">basic_socket::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp175708688"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1" title="basic_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1" title="basic_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload2" title="basic_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload2" title="basic_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1" title="basic_socket::shutdown (1 of 2 overloads)">basic_socket::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.shutdown.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.shutdown.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload1.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload2" title="basic_socket::shutdown (2 of 2 overloads)">basic_socket::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket.shutdown.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown.overload2.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type">basic_socket::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp175820432"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp175823824"></a>
- <a class="indexterm" name="idp175824928"></a>
- <a class="indexterm" name="idp175826032"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket._basic_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket">basic_socket::~basic_socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp175837952"></a>
-Protected destructor to prevent deletion through
- this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_socket</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor">basic_socket_acceptor</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.accept">basic_socket_acceptor::accept</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.assign">basic_socket_acceptor::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept">basic_socket_acceptor::async_accept</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor">basic_socket_acceptor::basic_socket_acceptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.bind">basic_socket_acceptor::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast">basic_socket_acceptor::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable">basic_socket_acceptor::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel">basic_socket_acceptor::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.close">basic_socket_acceptor::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.debug">basic_socket_acceptor::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route">basic_socket_acceptor::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted">basic_socket_acceptor::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type">basic_socket_acceptor::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation">basic_socket_acceptor::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service">basic_socket_acceptor::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option">basic_socket_acceptor::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service">basic_socket_acceptor::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation">basic_socket_acceptor::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type">basic_socket_acceptor::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control">basic_socket_acceptor::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.is_open">basic_socket_acceptor::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive">basic_socket_acceptor::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.linger">basic_socket_acceptor::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.listen">basic_socket_acceptor::listen</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint">basic_socket_acceptor::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.max_connections">basic_socket_acceptor::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.message_do_not_route">basic_socket_acceptor::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.message_end_of_record">basic_socket_acceptor::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags">basic_socket_acceptor::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.message_out_of_band">basic_socket_acceptor::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.message_peek">basic_socket_acceptor::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native">basic_socket_acceptor::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle">basic_socket_acceptor::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type">basic_socket_acceptor::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking">basic_socket_acceptor::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type">basic_socket_acceptor::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking">basic_socket_acceptor::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io">basic_socket_acceptor::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.open">basic_socket_acceptor::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_">basic_socket_acceptor::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type">basic_socket_acceptor::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size">basic_socket_acceptor::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark">basic_socket_acceptor::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address">basic_socket_acceptor::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size">basic_socket_acceptor::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark">basic_socket_acceptor::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.service">basic_socket_acceptor::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type">basic_socket_acceptor::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option">basic_socket_acceptor::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type">basic_socket_acceptor::shutdown_type</a></span></dt>
-</dl></div>
-<p>
- Provides the ability to accept new connections.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">SocketAcceptorService</a> <span class="special">=</span> <span class="identifier">socket_acceptor_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_socket_acceptor</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SocketAcceptorService</span> <span class="special">&gt;,</span>
- <span class="keyword">public</span> <span class="identifier">socket_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type" title="basic_socket_acceptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of an acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type" title="basic_socket_acceptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of an acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io" title="basic_socket_acceptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type" title="basic_socket_acceptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Accept a new connection.
- </p>
- <p>
- Accept a new connection and obtain the endpoint of the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assigns an existing native acceptor to the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an acceptor without opening it.
- </p>
- <p>
- Construct an open acceptor.
- </p>
- <p>
- Construct an acceptor opened on the given endpoint.
- </p>
- <p>
- Construct a basic_socket_acceptor on an existing native acceptor.
- </p>
- <p>
- Move-construct a basic_socket_acceptor from another.
- </p>
- <p>
- Move-construct a basic_socket_acceptor from an acceptor of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the acceptor to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service" title="basic_socket_acceptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.is_open" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the acceptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Place the acceptor into the state where it will listen for new
- connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native" title="basic_socket_acceptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native acceptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native acceptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native acceptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the acceptor.
- </p>
- <p>
- Sets the non-blocking mode of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the acceptor using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket_acceptor from another.
- </p>
- <p>
- Move-assign a basic_socket_acceptor from an acceptor of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the acceptor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation" title="basic_socket_acceptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service" title="basic_socket_acceptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.max_connections" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_do_not_route" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_end_of_record" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_out_of_band" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_peek" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation" title="basic_socket_acceptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service" title="basic_socket_acceptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> class template
- is used for accepting new socket connections.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.example">Example</a>
- </h5>
-<p>
- Opening a socket acceptor with the SO_REUSEADDR option enabled:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">port</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_socket_acceptor.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.accept"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept" title="basic_socket_acceptor::accept">basic_socket_acceptor::accept</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1">basic_socket_acceptor::accept
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload2">basic_socket_acceptor::accept
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3">basic_socket_acceptor::accept
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload4">basic_socket_acceptor::accept
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp176130848"></a>
-Accept a new connection.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1" title="basic_socket_acceptor::accept (1 of 4 overloads)">accept</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1" title="basic_socket_acceptor::accept (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload2" title="basic_socket_acceptor::accept (2 of 4 overloads)">accept</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload2" title="basic_socket_acceptor::accept (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Accept a new connection and obtain the endpoint of the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3" title="basic_socket_acceptor::accept (3 of 4 overloads)">accept</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3" title="basic_socket_acceptor::accept (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload4" title="basic_socket_acceptor::accept (4 of 4 overloads)">accept</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload4" title="basic_socket_acceptor::accept (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1" title="basic_socket_acceptor::accept (1 of 4 overloads)">basic_socket_acceptor::accept
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Accept a new connection.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">accept</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to accept a new connection from a peer into the
- given socket. The function call will block until a new connection has
- been accepted successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer</span></dt>
-<dd><p>
- The socket into which the new connection will be accepted.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload2" title="basic_socket_acceptor::accept (2 of 4 overloads)">basic_socket_acceptor::accept
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Accept a new connection.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">accept</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to accept a new connection from a peer into the
- given socket. The function call will block until a new connection has
- been accepted successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer</span></dt>
-<dd><p>
- The socket into which the new connection will be accepted.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">soocket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3" title="basic_socket_acceptor::accept (3 of 4 overloads)">basic_socket_acceptor::accept
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Accept a new connection and obtain the endpoint of the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">accept</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to accept a new connection from a peer into the
- given socket, and additionally provide the endpoint of the remote peer.
- The function call will block until a new connection has been accepted
- successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer</span></dt>
-<dd><p>
- The socket into which the new connection will be accepted.
- </p></dd>
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- An endpoint object which will receive the endpoint of the remote
- peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload3.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload4" title="basic_socket_acceptor::accept (4 of 4 overloads)">basic_socket_acceptor::accept
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Accept a new connection and obtain the endpoint of the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">accept</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to accept a new connection from a peer into the
- given socket, and additionally provide the endpoint of the remote peer.
- The function call will block until a new connection has been accepted
- successfully or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer</span></dt>
-<dd><p>
- The socket into which the new connection will be accepted.
- </p></dd>
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- An endpoint object which will receive the endpoint of the remote
- peer.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept.overload4.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign" title="basic_socket_acceptor::assign">basic_socket_acceptor::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload1">basic_socket_acceptor::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload2">basic_socket_acceptor::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp176491504"></a>
-Assigns an existing native acceptor to the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload1" title="basic_socket_acceptor::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload1" title="basic_socket_acceptor::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload2" title="basic_socket_acceptor::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload2" title="basic_socket_acceptor::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload1" title="basic_socket_acceptor::assign (1 of 2 overloads)">basic_socket_acceptor::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assigns an existing native acceptor to the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign.overload2" title="basic_socket_acceptor::assign (2 of 2 overloads)">basic_socket_acceptor::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assigns an existing native acceptor to the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.async_accept"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept" title="basic_socket_acceptor::async_accept">basic_socket_acceptor::async_accept</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1">basic_socket_acceptor::async_accept
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload2">basic_socket_acceptor::async_accept
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp176552176"></a>
-Start an asynchronous accept.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">async_accept</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload2" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">async_accept</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload2" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">basic_socket_acceptor::async_accept
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous accept.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_accept</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously accept a new connection into
- a socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer</span></dt>
-<dd><p>
- The socket into which the new connection will be accepted. Ownership
- of the peer object is retained by the caller, which must guarantee
- that it is valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the accept operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">accept_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Accept succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">accept_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload2" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">basic_socket_acceptor::async_accept
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous accept.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_accept</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously accept a new connection into
- a socket, and additionally obtain the endpoint of the remote peer. The
- function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer</span></dt>
-<dd><p>
- The socket into which the new connection will be accepted. Ownership
- of the peer object is retained by the caller, which must guarantee
- that it is valid until the handler is called.
- </p></dd>
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- An endpoint object into which the endpoint of the remote peer will
- be written. Ownership of the peer_endpoint object is retained by
- the caller, which must guarantee that it is valid until the handler
- is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the accept operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor" title="basic_socket_acceptor::basic_socket_acceptor">basic_socket_acceptor::basic_socket_acceptor</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1">basic_socket_acceptor::basic_socket_acceptor
- (1 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2">basic_socket_acceptor::basic_socket_acceptor
- (2 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3">basic_socket_acceptor::basic_socket_acceptor
- (3 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4">basic_socket_acceptor::basic_socket_acceptor
- (4 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5">basic_socket_acceptor::basic_socket_acceptor
- (5 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6">basic_socket_acceptor::basic_socket_acceptor
- (6 of 6 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp176738048"></a>
-Construct an acceptor without
- opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an open acceptor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an acceptor opened on the given endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">reuse_addr</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> on an existing
- native acceptor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
- <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
- acceptor of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
- <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
- (1 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an acceptor without opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates an acceptor without opening it to listen for
- new connections. The <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code> function must be called before the
- acceptor can accept new socket connections.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the acceptor will use to dispatch handlers for any asynchronous
- operations performed on the acceptor.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
- (2 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an open acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates an acceptor and automatically opens it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the acceptor will use to dispatch handlers for any asynchronous
- operations performed on the acceptor.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
- (3 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an acceptor opened on the given endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">reuse_addr</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates an acceptor and automatically opens it to listen
- for new connections on the specified endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the acceptor will use to dispatch handlers for any asynchronous
- operations performed on the acceptor.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine on which the acceptor will listen
- for new connections.
- </p></dd>
-<dt><span class="term">reuse_addr</span></dt>
-<dd><p>
- Whether the constructor should set the socket option <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span></code>.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.remarks">Remarks</a>
- </h6>
-<p>
- This constructor is equivalent to the following code:
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">reuse_addr</span><span class="special">)</span>
- <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">(</span><span class="identifier">listen_backlog</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
- (4 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> on an
- existing native acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates an acceptor object to hold an existing native
- acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the acceptor will use to dispatch handlers for any asynchronous
- operations performed on the acceptor.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-<dt><span class="term">native_acceptor</span></dt>
-<dd><p>
- A native acceptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
- (5 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
- <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves an acceptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
- (6 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
- acceptor of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
-<span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
- <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves an acceptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind" title="basic_socket_acceptor::bind">basic_socket_acceptor::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1">basic_socket_acceptor::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload2">basic_socket_acceptor::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177034688"></a>
-Bind the acceptor to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1" title="basic_socket_acceptor::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1" title="basic_socket_acceptor::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload2" title="basic_socket_acceptor::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload2" title="basic_socket_acceptor::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1" title="basic_socket_acceptor::bind (1 of 2 overloads)">basic_socket_acceptor::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Bind the acceptor to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket acceptor to the specified endpoint on
- the local machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket acceptor will
- be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload2" title="basic_socket_acceptor::bind (2 of 2 overloads)">basic_socket_acceptor::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Bind the acceptor to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket acceptor to the specified endpoint on
- the local machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket acceptor will
- be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast" title="basic_socket_acceptor::broadcast">basic_socket_acceptor::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177173872"></a>
-Socket option to permit sending of broadcast
- messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable" title="basic_socket_acceptor::bytes_readable">basic_socket_acceptor::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177230784"></a>
-IO control command to get the amount
- of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel" title="basic_socket_acceptor::cancel">basic_socket_acceptor::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload1">basic_socket_acceptor::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload2">basic_socket_acceptor::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177269984"></a>
-Cancel all asynchronous operations associated
- with the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload1" title="basic_socket_acceptor::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload1" title="basic_socket_acceptor::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload2" title="basic_socket_acceptor::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload2" title="basic_socket_acceptor::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload1" title="basic_socket_acceptor::cancel (1 of 2 overloads)">basic_socket_acceptor::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload2" title="basic_socket_acceptor::cancel (2 of 2 overloads)">basic_socket_acceptor::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close" title="basic_socket_acceptor::close">basic_socket_acceptor::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload1">basic_socket_acceptor::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload2">basic_socket_acceptor::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177325088"></a>
-Close the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload1" title="basic_socket_acceptor::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload1" title="basic_socket_acceptor::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload2" title="basic_socket_acceptor::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload2" title="basic_socket_acceptor::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload1" title="basic_socket_acceptor::close (1 of 2 overloads)">basic_socket_acceptor::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the acceptor. Any asynchronous accept
- operations will be cancelled immediately.
- </p>
-<p>
- A subsequent call to <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code> is required before the acceptor can
- again be used to again perform socket accept operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload2" title="basic_socket_acceptor::close (2 of 2 overloads)">basic_socket_acceptor::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the acceptor. Any asynchronous accept
- operations will be cancelled immediately.
- </p>
-<p>
- A subsequent call to <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code> is required before the acceptor can
- again be used to again perform socket accept operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug" title="basic_socket_acceptor::debug">basic_socket_acceptor::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177399344"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route" title="basic_socket_acceptor::do_not_route">basic_socket_acceptor::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177456144"></a>
-Socket option to prevent routing, use
- local interfaces only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted" title="basic_socket_acceptor::enable_connection_aborted">basic_socket_acceptor::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177513056"></a>
-Socket option to report aborted
- connections on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type" title="basic_socket_acceptor::endpoint_type">basic_socket_acceptor::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp177573968"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation" title="basic_socket_acceptor::get_implementation">basic_socket_acceptor::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload1">basic_socket_acceptor::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload2">basic_socket_acceptor::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177587376"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload1" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload1" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload2" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload2" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload1" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">basic_socket_acceptor::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation.overload2" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">basic_socket_acceptor::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service" title="basic_socket_acceptor::get_io_service">basic_socket_acceptor::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177616912"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option" title="basic_socket_acceptor::get_option">basic_socket_acceptor::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1">basic_socket_acceptor::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2">basic_socket_acceptor::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177634736"></a>
-Get an option from the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1" title="basic_socket_acceptor::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1" title="basic_socket_acceptor::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2" title="basic_socket_acceptor::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2" title="basic_socket_acceptor::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1" title="basic_socket_acceptor::get_option (1 of 2 overloads)">basic_socket_acceptor::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get an option from the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the acceptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2" title="basic_socket_acceptor::get_option (2 of 2 overloads)">basic_socket_acceptor::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get an option from the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the acceptor.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service" title="basic_socket_acceptor::get_service">basic_socket_acceptor::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload1">basic_socket_acceptor::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload2">basic_socket_acceptor::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177774960"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload1" title="basic_socket_acceptor::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload1" title="basic_socket_acceptor::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload2" title="basic_socket_acceptor::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload2" title="basic_socket_acceptor::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload1" title="basic_socket_acceptor::get_service (1 of 2 overloads)">basic_socket_acceptor::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service.overload2" title="basic_socket_acceptor::get_service (2 of 2 overloads)">basic_socket_acceptor::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation" title="basic_socket_acceptor::implementation">basic_socket_acceptor::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177804544"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type" title="basic_socket_acceptor::implementation_type">basic_socket_acceptor::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177812976"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control" title="basic_socket_acceptor::io_control">basic_socket_acceptor::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1">basic_socket_acceptor::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2">basic_socket_acceptor::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp177826560"></a>
-Perform an IO control command on the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1" title="basic_socket_acceptor::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1" title="basic_socket_acceptor::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2" title="basic_socket_acceptor::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2" title="basic_socket_acceptor::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1" title="basic_socket_acceptor::io_control (1 of 2 overloads)">basic_socket_acceptor::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform an IO control command on the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the acceptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2" title="basic_socket_acceptor::io_control (2 of 2 overloads)">basic_socket_acceptor::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform an IO control command on the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the acceptor.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.is_open" title="basic_socket_acceptor::is_open">basic_socket_acceptor::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp177959872"></a>
-Determine whether the acceptor is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive" title="basic_socket_acceptor::keep_alive">basic_socket_acceptor::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp177967776"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger" title="basic_socket_acceptor::linger">basic_socket_acceptor::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178024544"></a>
-Socket option to specify whether the socket
- lingers on close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.listen"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen" title="basic_socket_acceptor::listen">basic_socket_acceptor::listen</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload1">basic_socket_acceptor::listen
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload2">basic_socket_acceptor::listen
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp178086608"></a>
-Place the acceptor into the state where it will
- listen for new connections.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload1" title="basic_socket_acceptor::listen (1 of 2 overloads)">listen</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">backlog</span> <span class="special">=</span> <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload1" title="basic_socket_acceptor::listen (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload2" title="basic_socket_acceptor::listen (2 of 2 overloads)">listen</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">backlog</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload2" title="basic_socket_acceptor::listen (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.listen.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload1" title="basic_socket_acceptor::listen (1 of 2 overloads)">basic_socket_acceptor::listen
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Place the acceptor into the state where it will listen for new connections.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">listen</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">backlog</span> <span class="special">=</span> <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span><span class="special">);</span>
-</pre>
-<p>
- This function puts the socket acceptor into the state where it may accept
- new connections.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">backlog</span></dt>
-<dd><p>
- The maximum length of the queue of pending connections.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.listen.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload2" title="basic_socket_acceptor::listen (2 of 2 overloads)">basic_socket_acceptor::listen
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Place the acceptor into the state where it will listen for new connections.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">listen</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">backlog</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function puts the socket acceptor into the state where it may accept
- new connections.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">backlog</span></dt>
-<dd><p>
- The maximum length of the queue of pending connections.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint" title="basic_socket_acceptor::local_endpoint">basic_socket_acceptor::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1">basic_socket_acceptor::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2">basic_socket_acceptor::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp178179520"></a>
-Get the local endpoint of the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">basic_socket_acceptor::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the local endpoint of the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">basic_socket_acceptor::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the local endpoint of the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the acceptor. Returns
- a default-constructed endpoint object if an error occurred and the error
- handler did not throw an exception.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.max_connections" title="basic_socket_acceptor::max_connections">basic_socket_acceptor::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178283824"></a>
-The maximum length of the queue of
- pending incoming connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_do_not_route" title="basic_socket_acceptor::message_do_not_route">basic_socket_acceptor::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178293216"></a>
-Specify that the data should not
- be subject to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_end_of_record" title="basic_socket_acceptor::message_end_of_record">basic_socket_acceptor::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178302704"></a>
-Specifies that the data marks
- the end of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags" title="basic_socket_acceptor::message_flags">basic_socket_acceptor::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178312160"></a>
-Bitmask type for flags that can be passed
- to send and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_out_of_band" title="basic_socket_acceptor::message_out_of_band">basic_socket_acceptor::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178325328"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_peek" title="basic_socket_acceptor::message_peek">basic_socket_acceptor::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178334752"></a>
-Peek at incoming data without removing
- it from the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native" title="basic_socket_acceptor::native">basic_socket_acceptor::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp178343344"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native acceptor representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- acceptor. This is intended to allow access to native acceptor functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle" title="basic_socket_acceptor::native_handle">basic_socket_acceptor::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp178351488"></a>
-Get the native acceptor representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- acceptor. This is intended to allow access to native acceptor functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type" title="basic_socket_acceptor::native_handle_type">basic_socket_acceptor::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp178358000"></a>
-The native representation of an
- acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketAcceptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking" title="basic_socket_acceptor::native_non_blocking">basic_socket_acceptor::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1">basic_socket_acceptor::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2">basic_socket_acceptor::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3">basic_socket_acceptor::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp178371600"></a>
-Gets the non-blocking mode of the
- native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">basic_socket_acceptor::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native acceptor. This mode has no effect on the behaviour of the acceptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying acceptor
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the acceptor object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native acceptor.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">basic_socket_acceptor::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native acceptor. It has no effect on the behaviour of the acceptor object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- acceptor is put into non-blocking mode and direct system calls
- may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">basic_socket_acceptor::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native acceptor. It has no effect on the behaviour of the acceptor object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- acceptor is put into non-blocking mode and direct system calls
- may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type" title="basic_socket_acceptor::native_type">basic_socket_acceptor::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp178488224"></a>
-(Deprecated: Use native_handle_type.) The
- native representation of an acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketAcceptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking" title="basic_socket_acceptor::non_blocking">basic_socket_acceptor::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1">basic_socket_acceptor::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2">basic_socket_acceptor::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3">basic_socket_acceptor::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp178501584"></a>
-Gets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">basic_socket_acceptor::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the acceptor's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">basic_socket_acceptor::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the acceptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">basic_socket_acceptor::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the acceptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io" title="basic_socket_acceptor::non_blocking_io">basic_socket_acceptor::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178621328"></a>
-(Deprecated: Use non_blocking().) IO
- control command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open" title="basic_socket_acceptor::open">basic_socket_acceptor::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1">basic_socket_acceptor::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload2">basic_socket_acceptor::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp178655168"></a>
-Open the acceptor using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1" title="basic_socket_acceptor::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1" title="basic_socket_acceptor::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload2" title="basic_socket_acceptor::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload2" title="basic_socket_acceptor::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1" title="basic_socket_acceptor::open (1 of 2 overloads)">basic_socket_acceptor::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Open the acceptor using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket acceptor so that it will use the specified
- protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload2" title="basic_socket_acceptor::open (2 of 2 overloads)">basic_socket_acceptor::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Open the acceptor using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket acceptor so that it will use the specified
- protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_" title="basic_socket_acceptor::operator=">basic_socket_acceptor::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1">basic_socket_acceptor::operator=
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2">basic_socket_acceptor::operator=
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp178770144"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1" title="basic_socket_acceptor::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1" title="basic_socket_acceptor::operator= (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
- acceptor of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket_acceptor</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2" title="basic_socket_acceptor::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2" title="basic_socket_acceptor::operator= (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1" title="basic_socket_acceptor::operator= (1 of 2 overloads)">basic_socket_acceptor::operator=
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves an acceptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2" title="basic_socket_acceptor::operator= (2 of 2 overloads)">basic_socket_acceptor::operator=
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
- acceptor of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketAcceptorService" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket_acceptor</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves an acceptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type" title="basic_socket_acceptor::protocol_type">basic_socket_acceptor::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp178872736"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size" title="basic_socket_acceptor::receive_buffer_size">basic_socket_acceptor::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178885808"></a>
-Socket option for the receive buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark" title="basic_socket_acceptor::receive_low_watermark">basic_socket_acceptor::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178942736"></a>
-Socket option for the receive
- low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address" title="basic_socket_acceptor::reuse_address">basic_socket_acceptor::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp178999776"></a>
-Socket option to allow the socket to
- be bound to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size" title="basic_socket_acceptor::send_buffer_size">basic_socket_acceptor::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp179056640"></a>
-Socket option for the send buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark" title="basic_socket_acceptor::send_low_watermark">basic_socket_acceptor::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp179113664"></a>
-Socket option for the send low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service" title="basic_socket_acceptor::service">basic_socket_acceptor::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp179170576"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type" title="basic_socket_acceptor::service_type">basic_socket_acceptor::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp179182928"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketAcceptorService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option" title="basic_socket_acceptor::set_option">basic_socket_acceptor::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1">basic_socket_acceptor::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2">basic_socket_acceptor::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp179195232"></a>
-Set an option on the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1" title="basic_socket_acceptor::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1" title="basic_socket_acceptor::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2" title="basic_socket_acceptor::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2" title="basic_socket_acceptor::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1" title="basic_socket_acceptor::set_option (1 of 2 overloads)">basic_socket_acceptor::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set an option on the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the acceptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the SOL_SOCKET/SO_REUSEADDR option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2" title="basic_socket_acceptor::set_option (2 of 2 overloads)">basic_socket_acceptor::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set an option on the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the acceptor.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the acceptor.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the SOL_SOCKET/SO_REUSEADDR option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_acceptor.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type" title="basic_socket_acceptor::shutdown_type">basic_socket_acceptor::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp179332352"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp179335808"></a>
- <a class="indexterm" name="idp179336912"></a>
- <a class="indexterm" name="idp179338016"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_acceptor.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_socket_iostream"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream" title="basic_socket_iostream">basic_socket_iostream</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream">basic_socket_iostream::basic_socket_iostream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.close">basic_socket_iostream::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.connect">basic_socket_iostream::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type">basic_socket_iostream::duration_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type">basic_socket_iostream::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.error">basic_socket_iostream::error</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at">basic_socket_iostream::expires_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now">basic_socket_iostream::expires_from_now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf">basic_socket_iostream::rdbuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.time_type">basic_socket_iostream::time_type</a></span></dt>
-</dl></div>
-<p>
- Iostream interface for a socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService</a> <span class="special">=</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;,</span>
- <span class="keyword">typename</span> <span class="identifier">Time</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimeTraits" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">&gt;,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimerService" title="Timer service requirements">TimerService</a> <span class="special">=</span> <span class="identifier">deadline_timer_service</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_socket_iostream</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_socket_iostream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_iostream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket_iostream without establishing a connection.
- </p>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.close" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the connection.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.connect" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the last error associated with the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the stream's expiry time as an absolute time.
- </p>
- <p>
- Set the stream's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the stream's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Return a pointer to the underlying streambuf.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_iostream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.basic_socket_iostream"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream" title="basic_socket_iostream::basic_socket_iostream">basic_socket_iostream::basic_socket_iostream</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1">basic_socket_iostream::basic_socket_iostream
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2">basic_socket_iostream::basic_socket_iostream
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp179435424"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream" title="basic_socket_iostream"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span></code></a> without
- establishing a connection.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">basic_socket_iostream</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Establish a connection to an endpoint corresponding to a resolver query.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">basic_socket_iostream</a><span class="special">(</span>
- <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">basic_socket_iostream::basic_socket_iostream
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream" title="basic_socket_iostream"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span></code></a> without
- establishing a connection.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_iostream</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">basic_socket_iostream::basic_socket_iostream
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Establish a connection to an endpoint corresponding to a resolver query.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
-<span class="identifier">basic_socket_iostream</span><span class="special">(</span>
- <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
-</pre>
-<p>
- This constructor automatically establishes a connection based on the
- supplied resolver query parameters. The arguments are used to construct
- a resolver query object.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.close" title="basic_socket_iostream::close">basic_socket_iostream::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179482032"></a>
-Close the connection.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.connect" title="basic_socket_iostream::connect">basic_socket_iostream::connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179487888"></a>
-Establish a connection to an endpoint corresponding
- to a resolver query.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
-</pre>
-<p>
- This function automatically establishes a connection based on the supplied
- resolver query parameters. The arguments are used to construct a resolver
- query object.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.duration_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type" title="basic_socket_iostream::duration_type">basic_socket_iostream::duration_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179505824"></a>
-The duration type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.duration_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.duration_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type" title="basic_socket_iostream::endpoint_type">basic_socket_iostream::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179519216"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.error"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error" title="basic_socket_iostream::error">basic_socket_iostream::error</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179532560"></a>
-Get the last error associated with the stream.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">error</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.error.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.error.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error.return_value">Return
- Value</a>
- </h6>
-<p>
- An <code class="computeroutput"><span class="identifier">error_code</span></code> corresponding
- to the last error from the stream.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.error.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.error.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error.example">Example</a>
- </h6>
-<p>
- To print the error associated with a failure to establish a connection:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span> <span class="identifier">s</span><span class="special">(</span><span class="string">"www.boost.org"</span><span class="special">,</span> <span class="string">"http"</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(!</span><span class="identifier">s</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">error</span><span class="special">().</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.expires_at"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at" title="basic_socket_iostream::expires_at">basic_socket_iostream::expires_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload1">basic_socket_iostream::expires_at
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload2">basic_socket_iostream::expires_at
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp179570656"></a>
-Get the stream's expiry time as an absolute
- time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload1" title="basic_socket_iostream::expires_at (1 of 2 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload1" title="basic_socket_iostream::expires_at (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the stream's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload2" title="basic_socket_iostream::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload2" title="basic_socket_iostream::expires_at (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload1" title="basic_socket_iostream::expires_at (1 of 2 overloads)">basic_socket_iostream::expires_at
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the stream's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_at.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An absolute time value representing the stream's expiry time.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload2" title="basic_socket_iostream::expires_at (2 of 2 overloads)">basic_socket_iostream::expires_at
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the stream's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time associated with the stream. Stream
- operations performed after this time (where the operations cannot be
- completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the stream.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.expires_from_now"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now" title="basic_socket_iostream::expires_from_now">basic_socket_iostream::expires_from_now</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload1">basic_socket_iostream::expires_from_now
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload2">basic_socket_iostream::expires_from_now
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp179615264"></a>
-Get the timer's expiry time relative
- to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload1" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload1" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the stream's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload2" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload2" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload1" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">basic_socket_iostream::expires_from_now
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A relative time value representing the stream's expiry time.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload2" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">basic_socket_iostream::expires_from_now
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the stream's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time associated with the stream. Stream
- operations performed after this time (where the operations cannot be
- completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.rdbuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf" title="basic_socket_iostream::rdbuf">basic_socket_iostream::rdbuf</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179659728"></a>
-Return a pointer to the underlying streambuf.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">rdbuf</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_iostream.time_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type" title="basic_socket_iostream::time_type">basic_socket_iostream::time_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp179674288"></a>
-The time type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_iostream.time_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.time_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf" title="basic_socket_streambuf">basic_socket_streambuf</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.assign">basic_socket_streambuf::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.async_connect">basic_socket_streambuf::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark">basic_socket_streambuf::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.available">basic_socket_streambuf::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.basic_socket_streambuf">basic_socket_streambuf::basic_socket_streambuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.bind">basic_socket_streambuf::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.broadcast">basic_socket_streambuf::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.bytes_readable">basic_socket_streambuf::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel">basic_socket_streambuf::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.close">basic_socket_streambuf::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.connect">basic_socket_streambuf::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.debug">basic_socket_streambuf::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.do_not_route">basic_socket_streambuf::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.duration_type">basic_socket_streambuf::duration_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted">basic_socket_streambuf::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.endpoint_type">basic_socket_streambuf::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.error">basic_socket_streambuf::error</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at">basic_socket_streambuf::expires_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now">basic_socket_streambuf::expires_from_now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation">basic_socket_streambuf::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_io_service">basic_socket_streambuf::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option">basic_socket_streambuf::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service">basic_socket_streambuf::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation">basic_socket_streambuf::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation_type">basic_socket_streambuf::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control">basic_socket_streambuf::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.io_handler">basic_socket_streambuf::io_handler</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.is_open">basic_socket_streambuf::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.keep_alive">basic_socket_streambuf::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.linger">basic_socket_streambuf::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint">basic_socket_streambuf::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer">basic_socket_streambuf::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type">basic_socket_streambuf::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.max_connections">basic_socket_streambuf::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.message_do_not_route">basic_socket_streambuf::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.message_end_of_record">basic_socket_streambuf::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.message_flags">basic_socket_streambuf::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.message_out_of_band">basic_socket_streambuf::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.message_peek">basic_socket_streambuf::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native">basic_socket_streambuf::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle">basic_socket_streambuf::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle_type">basic_socket_streambuf::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking">basic_socket_streambuf::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_type">basic_socket_streambuf::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking">basic_socket_streambuf::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io">basic_socket_streambuf::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.open">basic_socket_streambuf::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.overflow">basic_socket_streambuf::overflow</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.protocol_type">basic_socket_streambuf::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.puberror">basic_socket_streambuf::puberror</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size">basic_socket_streambuf::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark">basic_socket_streambuf::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint">basic_socket_streambuf::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.reuse_address">basic_socket_streambuf::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size">basic_socket_streambuf::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark">basic_socket_streambuf::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.service">basic_socket_streambuf::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.service_type">basic_socket_streambuf::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option">basic_socket_streambuf::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.setbuf">basic_socket_streambuf::setbuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown">basic_socket_streambuf::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type">basic_socket_streambuf::shutdown_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.sync">basic_socket_streambuf::sync</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.time_type">basic_socket_streambuf::time_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.timer_handler">basic_socket_streambuf::timer_handler</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.underflow">basic_socket_streambuf::underflow</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf._basic_socket_streambuf">basic_socket_streambuf::~basic_socket_streambuf</a></span></dt>
-</dl></div>
-<p>
- Iostream streambuf for a socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService</a> <span class="special">=</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;,</span>
- <span class="keyword">typename</span> <span class="identifier">Time</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimeTraits" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">&gt;,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimerService" title="Timer service requirements">TimerService</a> <span class="special">=</span> <span class="identifier">deadline_timer_service</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_socket_streambuf</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.broadcast" title="basic_socket_streambuf::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bytes_readable" title="basic_socket_streambuf::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.debug" title="basic_socket_streambuf::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.do_not_route" title="basic_socket_streambuf::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.duration_type" title="basic_socket_streambuf::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted" title="basic_socket_streambuf::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.endpoint_type" title="basic_socket_streambuf::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation_type" title="basic_socket_streambuf::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.keep_alive" title="basic_socket_streambuf::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.linger" title="basic_socket_streambuf::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type" title="basic_socket_streambuf::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_flags" title="basic_socket_streambuf::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle_type" title="basic_socket_streambuf::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_type" title="basic_socket_streambuf::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io" title="basic_socket_streambuf::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.protocol_type" title="basic_socket_streambuf::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size" title="basic_socket_streambuf::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark" title="basic_socket_streambuf::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.reuse_address" title="basic_socket_streambuf::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size" title="basic_socket_streambuf::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark" title="basic_socket_streambuf::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.service_type" title="basic_socket_streambuf::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type" title="basic_socket_streambuf::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.time_type" title="basic_socket_streambuf::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign" title="basic_socket_streambuf::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.async_connect" title="basic_socket_streambuf::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark" title="basic_socket_streambuf::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available" title="basic_socket_streambuf::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.basic_socket_streambuf" title="basic_socket_streambuf::basic_socket_streambuf"><span class="bold"><strong>basic_socket_streambuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket_streambuf without establishing a connection.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind" title="basic_socket_streambuf::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel" title="basic_socket_streambuf::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close" title="basic_socket_streambuf::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the connection.
- </p>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect" title="basic_socket_streambuf::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Establish a connection.
- </p>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at" title="basic_socket_streambuf::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the stream buffer's expiry time as an absolute time.
- </p>
- <p>
- Set the stream buffer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now" title="basic_socket_streambuf::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the stream buffer's expiry time relative to now.
- </p>
- <p>
- Set the stream buffer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_io_service" title="basic_socket_streambuf::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option" title="basic_socket_streambuf::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control" title="basic_socket_streambuf::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.is_open" title="basic_socket_streambuf::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint" title="basic_socket_streambuf::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer" title="basic_socket_streambuf::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native" title="basic_socket_streambuf::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle" title="basic_socket_streambuf::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking" title="basic_socket_streambuf::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking" title="basic_socket_streambuf::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open" title="basic_socket_streambuf::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.puberror" title="basic_socket_streambuf::puberror"><span class="bold"><strong>puberror</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the last error associated with the stream buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint" title="basic_socket_streambuf::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option" title="basic_socket_streambuf::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown" title="basic_socket_streambuf::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf._basic_socket_streambuf" title="basic_socket_streambuf::~basic_socket_streambuf"><span class="bold"><strong>~basic_socket_streambuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor flushes buffered data.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.error" title="basic_socket_streambuf::error"><span class="bold"><strong>error</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the last error associated with the stream buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation" title="basic_socket_streambuf::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service" title="basic_socket_streambuf::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.overflow" title="basic_socket_streambuf::overflow"><span class="bold"><strong>overflow</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.setbuf" title="basic_socket_streambuf::setbuf"><span class="bold"><strong>setbuf</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.sync" title="basic_socket_streambuf::sync"><span class="bold"><strong>sync</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.underflow" title="basic_socket_streambuf::underflow"><span class="bold"><strong>underflow</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.max_connections" title="basic_socket_streambuf::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_do_not_route" title="basic_socket_streambuf::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_end_of_record" title="basic_socket_streambuf::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_out_of_band" title="basic_socket_streambuf::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_peek" title="basic_socket_streambuf::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation" title="basic_socket_streambuf::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.service" title="basic_socket_streambuf::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_handler" title="basic_socket_streambuf::io_handler"><span class="bold"><strong>io_handler</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.timer_handler" title="basic_socket_streambuf::timer_handler"><span class="bold"><strong>timer_handler</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_socket_streambuf.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign" title="basic_socket_streambuf::assign">basic_socket_streambuf::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload1">basic_socket_streambuf::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload2">basic_socket_streambuf::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180002832"></a>
-Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload1" title="basic_socket_streambuf::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload1" title="basic_socket_streambuf::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload2" title="basic_socket_streambuf::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload2" title="basic_socket_streambuf::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload1" title="basic_socket_streambuf::assign (1 of 2 overloads)">basic_socket_streambuf::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.assign.overload2" title="basic_socket_streambuf::assign (2 of 2 overloads)">basic_socket_streambuf::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.async_connect" title="basic_socket_streambuf::async_connect">basic_socket_streambuf::async_connect</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp180066032"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously connect a socket to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the connect
- fails, and the socket was automatically opened, the socket is not returned
- to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.async_connect.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.async_connect.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected. Copies
- will be made of the endpoint object as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connection operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.async_connect.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.async_connect.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.async_connect.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Connect succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark" title="basic_socket_streambuf::at_mark">basic_socket_streambuf::at_mark</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1">basic_socket_streambuf::at_mark
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2">basic_socket_streambuf::at_mark
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180145680"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">basic_socket_streambuf::at_mark
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">basic_socket_streambuf::at_mark
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.available"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available" title="basic_socket_streambuf::available">basic_socket_streambuf::available</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload1">basic_socket_streambuf::available
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload2">basic_socket_streambuf::available
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180201328"></a>
-Determine the number of bytes available
- for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload1" title="basic_socket_streambuf::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload1" title="basic_socket_streambuf::available (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload2" title="basic_socket_streambuf::available (2 of 2 overloads)">available</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload2" title="basic_socket_streambuf::available (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.available.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload1" title="basic_socket_streambuf::available (1 of 2 overloads)">basic_socket_streambuf::available
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.available.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.available.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.available.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload2" title="basic_socket_streambuf::available (2 of 2 overloads)">basic_socket_streambuf::available
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.available.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.available.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.available.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.basic_socket_streambuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.basic_socket_streambuf" title="basic_socket_streambuf::basic_socket_streambuf">basic_socket_streambuf::basic_socket_streambuf</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp180261040"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf" title="basic_socket_streambuf"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span></code></a> without
- establishing a connection.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind" title="basic_socket_streambuf::bind">basic_socket_streambuf::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1">basic_socket_streambuf::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload2">basic_socket_streambuf::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180267984"></a>
-Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1" title="basic_socket_streambuf::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1" title="basic_socket_streambuf::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload2" title="basic_socket_streambuf::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload2" title="basic_socket_streambuf::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1" title="basic_socket_streambuf::bind (1 of 2 overloads)">basic_socket_streambuf::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload2" title="basic_socket_streambuf::bind (2 of 2 overloads)">basic_socket_streambuf::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.broadcast" title="basic_socket_streambuf::broadcast">basic_socket_streambuf::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp180411424"></a>
-Socket option to permit sending of broadcast
- messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bytes_readable" title="basic_socket_streambuf::bytes_readable">basic_socket_streambuf::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp180468400"></a>
-IO control command to get the amount
- of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel" title="basic_socket_streambuf::cancel">basic_socket_streambuf::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1">basic_socket_streambuf::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2">basic_socket_streambuf::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180507600"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1" title="basic_socket_streambuf::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1" title="basic_socket_streambuf::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2" title="basic_socket_streambuf::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2" title="basic_socket_streambuf::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1" title="basic_socket_streambuf::cancel (1 of 2 overloads)">basic_socket_streambuf::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2" title="basic_socket_streambuf::cancel (2 of 2 overloads)">basic_socket_streambuf::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close" title="basic_socket_streambuf::close">basic_socket_streambuf::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload1">basic_socket_streambuf::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2">basic_socket_streambuf::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180598272"></a>
-Close the connection.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload1" title="basic_socket_streambuf::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload1" title="basic_socket_streambuf::close (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2" title="basic_socket_streambuf::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2" title="basic_socket_streambuf::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload1" title="basic_socket_streambuf::close (1 of 2 overloads)">basic_socket_streambuf::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the connection.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">this</span></code> if a connection was
- successfully established, a null pointer otherwise.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2" title="basic_socket_streambuf::close (2 of 2 overloads)">basic_socket_streambuf::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.close.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.close.overload2.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect" title="basic_socket_streambuf::connect">basic_socket_streambuf::connect</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload1">basic_socket_streambuf::connect
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload2">basic_socket_streambuf::connect
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload3">basic_socket_streambuf::connect
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp180692496"></a>
-Establish a connection.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload1" title="basic_socket_streambuf::connect (1 of 3 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload1" title="basic_socket_streambuf::connect (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
-<span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload2" title="basic_socket_streambuf::connect (2 of 3 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload2" title="basic_socket_streambuf::connect (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload3" title="basic_socket_streambuf::connect (3 of 3 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload3" title="basic_socket_streambuf::connect (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload1" title="basic_socket_streambuf::connect (1 of 3 overloads)">basic_socket_streambuf::connect
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Establish a connection.
- </p>
-<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function establishes a connection to the specified endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">this</span></code> if a connection was
- successfully established, a null pointer otherwise.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload2" title="basic_socket_streambuf::connect (2 of 3 overloads)">basic_socket_streambuf::connect
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Establish a connection.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
-<span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="special">...</span> <span class="special">,</span>
- <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
-</pre>
-<p>
- This function automatically establishes a connection based on the supplied
- resolver query parameters. The arguments are used to construct a resolver
- query object.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">this</span></code> if a connection was
- successfully established, a null pointer otherwise.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload3" title="basic_socket_streambuf::connect (3 of 3 overloads)">basic_socket_streambuf::connect
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.connect.overload3.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.debug" title="basic_socket_streambuf::debug">basic_socket_streambuf::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp180852368"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.do_not_route" title="basic_socket_streambuf::do_not_route">basic_socket_streambuf::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp180908992"></a>
-Socket option to prevent routing, use
- local interfaces only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.duration_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.duration_type" title="basic_socket_streambuf::duration_type">basic_socket_streambuf::duration_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp180965088"></a>
-The duration type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.duration_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.duration_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.duration_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted" title="basic_socket_streambuf::enable_connection_aborted">basic_socket_streambuf::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp180979312"></a>
-Socket option to report
- aborted connections on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.endpoint_type" title="basic_socket_streambuf::endpoint_type">basic_socket_streambuf::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp181040208"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.error"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.error" title="basic_socket_streambuf::error">basic_socket_streambuf::error</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp181053536"></a>
-Get the last error associated with the stream
- buffer.
- </p>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">error</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.error.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.error.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.error.return_value">Return
- Value</a>
- </h6>
-<p>
- An <code class="computeroutput"><span class="identifier">error_code</span></code> corresponding
- to the last error from the stream buffer.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.expires_at"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at" title="basic_socket_streambuf::expires_at">basic_socket_streambuf::expires_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload1">basic_socket_streambuf::expires_at
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload2">basic_socket_streambuf::expires_at
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181069280"></a>
-Get the stream buffer's expiry time as
- an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload1" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload1" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the stream buffer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload2" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload2" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload1" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">basic_socket_streambuf::expires_at
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the stream buffer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An absolute time value representing the stream buffer's expiry time.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload2" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">basic_socket_streambuf::expires_at
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the stream buffer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time associated with the stream. Stream
- operations performed after this time (where the operations cannot be
- completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the stream.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now" title="basic_socket_streambuf::expires_from_now">basic_socket_streambuf::expires_from_now</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1">basic_socket_streambuf::expires_from_now
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2">basic_socket_streambuf::expires_from_now
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181113744"></a>
-Get the stream buffer's expiry time
- relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the stream buffer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">basic_socket_streambuf::expires_from_now
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the stream buffer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A relative time value representing the stream buffer's expiry time.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">basic_socket_streambuf::expires_from_now
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the stream buffer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time associated with the stream. Stream
- operations performed after this time (where the operations cannot be
- completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation" title="basic_socket_streambuf::get_implementation">basic_socket_streambuf::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload1">basic_socket_streambuf::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload2">basic_socket_streambuf::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181158448"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload1" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload1" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload2" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload2" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload1" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">basic_socket_streambuf::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_implementation.overload2" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">basic_socket_streambuf::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_io_service" title="basic_socket_streambuf::get_io_service">basic_socket_streambuf::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181188512"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option" title="basic_socket_streambuf::get_option">basic_socket_streambuf::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1">basic_socket_streambuf::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2">basic_socket_streambuf::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181206352"></a>
-Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1" title="basic_socket_streambuf::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1" title="basic_socket_streambuf::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2" title="basic_socket_streambuf::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2" title="basic_socket_streambuf::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1" title="basic_socket_streambuf::get_option (1 of 2 overloads)">basic_socket_streambuf::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2" title="basic_socket_streambuf::get_option (2 of 2 overloads)">basic_socket_streambuf::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service" title="basic_socket_streambuf::get_service">basic_socket_streambuf::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload1">basic_socket_streambuf::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload2">basic_socket_streambuf::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181346240"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload1" title="basic_socket_streambuf::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload1" title="basic_socket_streambuf::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload2" title="basic_socket_streambuf::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload2" title="basic_socket_streambuf::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload1" title="basic_socket_streambuf::get_service (1 of 2 overloads)">basic_socket_streambuf::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.get_service.overload2" title="basic_socket_streambuf::get_service (2 of 2 overloads)">basic_socket_streambuf::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation" title="basic_socket_streambuf::implementation">basic_socket_streambuf::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181375952"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation_type" title="basic_socket_streambuf::implementation_type">basic_socket_streambuf::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181384384"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control" title="basic_socket_streambuf::io_control">basic_socket_streambuf::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1">basic_socket_streambuf::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2">basic_socket_streambuf::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181397968"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1" title="basic_socket_streambuf::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1" title="basic_socket_streambuf::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2" title="basic_socket_streambuf::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2" title="basic_socket_streambuf::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1" title="basic_socket_streambuf::io_control (1 of 2 overloads)">basic_socket_streambuf::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2" title="basic_socket_streambuf::io_control (2 of 2 overloads)">basic_socket_streambuf::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.io_handler"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_handler" title="basic_socket_streambuf::io_handler">basic_socket_streambuf::io_handler</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp181534992"></a>
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">struct</span> <span class="identifier">io_handler</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.io_handler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_handler.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.io_handler.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.is_open" title="basic_socket_streambuf::is_open">basic_socket_streambuf::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181548016"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.keep_alive" title="basic_socket_streambuf::keep_alive">basic_socket_streambuf::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181555920"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.linger" title="basic_socket_streambuf::linger">basic_socket_streambuf::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181612640"></a>
-Socket option to specify whether the socket
- lingers on close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint" title="basic_socket_streambuf::local_endpoint">basic_socket_streambuf::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1">basic_socket_streambuf::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2">basic_socket_streambuf::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181674880"></a>
-Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">basic_socket_streambuf::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">basic_socket_streambuf::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket. Returns a
- default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer" title="basic_socket_streambuf::lowest_layer">basic_socket_streambuf::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1">basic_socket_streambuf::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2">basic_socket_streambuf::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp181780048"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">basic_socket_streambuf::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">basic_socket_streambuf::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type" title="basic_socket_streambuf::lowest_layer_type">basic_socket_streambuf::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp181822464"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.max_connections" title="basic_socket_streambuf::max_connections">basic_socket_streambuf::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182072320"></a>
-The maximum length of the queue of
- pending incoming connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_do_not_route" title="basic_socket_streambuf::message_do_not_route">basic_socket_streambuf::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182081712"></a>
-Specify that the data should
- not be subject to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_end_of_record" title="basic_socket_streambuf::message_end_of_record">basic_socket_streambuf::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182091200"></a>
-Specifies that the data marks
- the end of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_flags" title="basic_socket_streambuf::message_flags">basic_socket_streambuf::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182100656"></a>
-Bitmask type for flags that can be passed
- to send and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_out_of_band" title="basic_socket_streambuf::message_out_of_band">basic_socket_streambuf::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182113824"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.message_peek" title="basic_socket_streambuf::message_peek">basic_socket_streambuf::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182123248"></a>
-Peek at incoming data without removing
- it from the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native" title="basic_socket_streambuf::native">basic_socket_streambuf::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182132656"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle" title="basic_socket_streambuf::native_handle">basic_socket_streambuf::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182141632"></a>
-Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle_type" title="basic_socket_streambuf::native_handle_type">basic_socket_streambuf::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182149024"></a>
-The native representation of a
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking" title="basic_socket_streambuf::native_non_blocking">basic_socket_streambuf::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1">basic_socket_streambuf::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2">basic_socket_streambuf::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3">basic_socket_streambuf::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp182162624"></a>
-Gets the non-blocking mode of
- the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">basic_socket_streambuf::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native socket. This mode has no effect on the behaviour of the socket
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the socket object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">basic_socket_streambuf::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">basic_socket_streambuf::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_type" title="basic_socket_streambuf::native_type">basic_socket_streambuf::native_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182769280"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking" title="basic_socket_streambuf::non_blocking">basic_socket_streambuf::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1">basic_socket_streambuf::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2">basic_socket_streambuf::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3">basic_socket_streambuf::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp182782752"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">basic_socket_streambuf::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">basic_socket_streambuf::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">basic_socket_streambuf::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io" title="basic_socket_streambuf::non_blocking_io">basic_socket_streambuf::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp182905216"></a>
-(Deprecated: Use non_blocking().)
- IO control command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open" title="basic_socket_streambuf::open">basic_socket_streambuf::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1">basic_socket_streambuf::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload2">basic_socket_streambuf::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp182939200"></a>
-Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1" title="basic_socket_streambuf::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1" title="basic_socket_streambuf::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload2" title="basic_socket_streambuf::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload2" title="basic_socket_streambuf::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1" title="basic_socket_streambuf::open (1 of 2 overloads)">basic_socket_streambuf::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload2" title="basic_socket_streambuf::open (2 of 2 overloads)">basic_socket_streambuf::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.overflow"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.overflow" title="basic_socket_streambuf::overflow">basic_socket_streambuf::overflow</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183055792"></a>
- </p>
-<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">overflow</span><span class="special">(</span>
- <span class="identifier">int_type</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.protocol_type" title="basic_socket_streambuf::protocol_type">basic_socket_streambuf::protocol_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183064288"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.puberror"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.puberror" title="basic_socket_streambuf::puberror">basic_socket_streambuf::puberror</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183076592"></a>
-Get the last error associated with the stream
- buffer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">puberror</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.puberror.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.puberror.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.puberror.return_value">Return
- Value</a>
- </h6>
-<p>
- An <code class="computeroutput"><span class="identifier">error_code</span></code> corresponding
- to the last error from the stream buffer.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size" title="basic_socket_streambuf::receive_buffer_size">basic_socket_streambuf::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183092640"></a>
-Socket option for the receive
- buffer size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark" title="basic_socket_streambuf::receive_low_watermark">basic_socket_streambuf::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183149728"></a>
-Socket option for the receive
- low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint" title="basic_socket_streambuf::remote_endpoint">basic_socket_streambuf::remote_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1">basic_socket_streambuf::remote_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2">basic_socket_streambuf::remote_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp183205952"></a>
-Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">basic_socket_streambuf::remote_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">basic_socket_streambuf::remote_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket. Returns
- a default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.reuse_address" title="basic_socket_streambuf::reuse_address">basic_socket_streambuf::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183311920"></a>
-Socket option to allow the socket to
- be bound to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size" title="basic_socket_streambuf::send_buffer_size">basic_socket_streambuf::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183368752"></a>
-Socket option for the send buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark" title="basic_socket_streambuf::send_low_watermark">basic_socket_streambuf::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183425712"></a>
-Socket option for the send low
- watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.service" title="basic_socket_streambuf::service">basic_socket_streambuf::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183482528"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.service_type" title="basic_socket_streambuf::service_type">basic_socket_streambuf::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183494832"></a>
-The type of the service that will be
- used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option" title="basic_socket_streambuf::set_option">basic_socket_streambuf::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1">basic_socket_streambuf::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2">basic_socket_streambuf::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp183507200"></a>
-Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1" title="basic_socket_streambuf::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1" title="basic_socket_streambuf::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2" title="basic_socket_streambuf::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2" title="basic_socket_streambuf::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1" title="basic_socket_streambuf::set_option (1 of 2 overloads)">basic_socket_streambuf::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2" title="basic_socket_streambuf::set_option (2 of 2 overloads)">basic_socket_streambuf::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.setbuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.setbuf" title="basic_socket_streambuf::setbuf">basic_socket_streambuf::setbuf</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183636320"></a>
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="special">*</span> <span class="identifier">setbuf</span><span class="special">(</span>
- <span class="identifier">char_type</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">streamsize</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown" title="basic_socket_streambuf::shutdown">basic_socket_streambuf::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1">basic_socket_streambuf::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2">basic_socket_streambuf::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp183649296"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">basic_socket_streambuf::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">basic_socket_streambuf::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type" title="basic_socket_streambuf::shutdown_type">basic_socket_streambuf::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp183763280"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp183766736"></a>
- <a class="indexterm" name="idp183767840"></a>
- <a class="indexterm" name="idp183768944"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.sync"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.sync" title="basic_socket_streambuf::sync">basic_socket_streambuf::sync</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183780816"></a>
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">sync</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.time_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.time_type" title="basic_socket_streambuf::time_type">basic_socket_streambuf::time_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183786592"></a>
-The time type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.time_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.time_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.time_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.timer_handler"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.timer_handler" title="basic_socket_streambuf::timer_handler">basic_socket_streambuf::timer_handler</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183799872"></a>
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">struct</span> <span class="identifier">timer_handler</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_socket_streambuf.timer_handler.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.timer_handler.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.timer_handler.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf.underflow"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf.underflow" title="basic_socket_streambuf::underflow">basic_socket_streambuf::underflow</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183812064"></a>
- </p>
-<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">underflow</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_socket_streambuf._basic_socket_streambuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_socket_streambuf._basic_socket_streambuf" title="basic_socket_streambuf::~basic_socket_streambuf">basic_socket_streambuf::~basic_socket_streambuf</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp183817824"></a>
-Destructor flushes buffered
- data.
- </p>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">basic_socket_streambuf</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_stream_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket">basic_stream_socket</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.assign">basic_stream_socket::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_connect">basic_stream_socket::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some">basic_stream_socket::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_receive">basic_stream_socket::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_send">basic_stream_socket::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some">basic_stream_socket::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.at_mark">basic_stream_socket::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.available">basic_stream_socket::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket">basic_stream_socket::basic_stream_socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.bind">basic_stream_socket::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.broadcast">basic_stream_socket::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable">basic_stream_socket::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.cancel">basic_stream_socket::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.close">basic_stream_socket::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.connect">basic_stream_socket::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.debug">basic_stream_socket::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route">basic_stream_socket::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted">basic_stream_socket::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type">basic_stream_socket::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation">basic_stream_socket::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service">basic_stream_socket::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_option">basic_stream_socket::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_service">basic_stream_socket::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.implementation">basic_stream_socket::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type">basic_stream_socket::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.io_control">basic_stream_socket::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.is_open">basic_stream_socket::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive">basic_stream_socket::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.linger">basic_stream_socket::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint">basic_stream_socket::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer">basic_stream_socket::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type">basic_stream_socket::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.max_connections">basic_stream_socket::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route">basic_stream_socket::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record">basic_stream_socket::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.message_flags">basic_stream_socket::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band">basic_stream_socket::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.message_peek">basic_stream_socket::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native">basic_stream_socket::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_handle">basic_stream_socket::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type">basic_stream_socket::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking">basic_stream_socket::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_type">basic_stream_socket::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking">basic_stream_socket::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io">basic_stream_socket::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.open">basic_stream_socket::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_">basic_stream_socket::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type">basic_stream_socket::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.read_some">basic_stream_socket::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.receive">basic_stream_socket::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size">basic_stream_socket::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark">basic_stream_socket::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint">basic_stream_socket::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address">basic_stream_socket::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.send">basic_stream_socket::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size">basic_stream_socket::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark">basic_stream_socket::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.service">basic_stream_socket::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.service_type">basic_stream_socket::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.set_option">basic_stream_socket::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.shutdown">basic_stream_socket::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type">basic_stream_socket::shutdown_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.write_some">basic_stream_socket::write_some</a></span></dt>
-</dl></div>
-<p>
- Provides stream-oriented socket functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService</a> <span class="special">=</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_stream_socket</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_type" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service_type" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_socket without opening it.
- </p>
- <p>
- Construct and open a basic_stream_socket.
- </p>
- <p>
- Construct a basic_stream_socket, opening it and binding it to the
- given local endpoint.
- </p>
- <p>
- Construct a basic_stream_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_stream_socket from another.
- </p>
- <p>
- Move-construct a basic_stream_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.is_open" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_socket from another.
- </p>
- <p>
- Move-assign a basic_stream_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on the socket.
- </p>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.max_connections" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_peek" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
- provides asynchronous and blocking stream-oriented socket functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.thread_safety">Thread Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_stream_socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.assign"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign" title="basic_stream_socket::assign">basic_stream_socket::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload1">basic_stream_socket::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload2">basic_stream_socket::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp184110848"></a>
-Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload1" title="basic_stream_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload1" title="basic_stream_socket::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload2" title="basic_stream_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload2" title="basic_stream_socket::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload1" title="basic_stream_socket::assign (1 of 2 overloads)">basic_stream_socket::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign.overload2" title="basic_stream_socket::assign (2 of 2 overloads)">basic_stream_socket::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Assign an existing native socket to the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect" title="basic_stream_socket::async_connect">basic_stream_socket::async_connect</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp184173840"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously connect a socket to the specified
- remote endpoint. The function call always returns immediately.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the connect
- fails, and the socket was automatically opened, the socket is not returned
- to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_connect.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected. Copies
- will be made of the endpoint object as required.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the connection operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_connect.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_connect.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Connect succeeded.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some" title="basic_stream_socket::async_read_some">basic_stream_socket::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp184253728"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data from the stream socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_read_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_read_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_read_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_read_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some.remarks">Remarks</a>
- </h6>
-<p>
- The read operation may not read all of the requested number of bytes. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is read before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_read_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_read_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive" title="basic_stream_socket::async_receive">basic_stream_socket::async_receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1">basic_stream_socket::async_receive
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2">basic_stream_socket::async_receive
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp184317872"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1" title="basic_stream_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1" title="basic_stream_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2" title="basic_stream_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2" title="basic_stream_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1" title="basic_stream_socket::async_receive (1 of 2 overloads)">basic_stream_socket::async_receive
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the stream
- socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is received before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2" title="basic_stream_socket::async_receive (2 of 2 overloads)">basic_stream_socket::async_receive
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously receive data from the stream
- socket. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received. Although
- the buffers object may be copied as necessary, ownership of the
- underlying memory blocks is retained by the caller, which must
- guarantee that they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the receive operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is received before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive.overload2.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_send"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send" title="basic_stream_socket::async_send">basic_stream_socket::async_send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1">basic_stream_socket::async_send
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2">basic_stream_socket::async_send
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp184486816"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1" title="basic_stream_socket::async_send (1 of 2 overloads)">async_send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1" title="basic_stream_socket::async_send (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2" title="basic_stream_socket::async_send (2 of 2 overloads)">async_send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2" title="basic_stream_socket::async_send (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1" title="basic_stream_socket::async_send (1 of 2 overloads)">basic_stream_socket::async_send
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send data on the stream socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The send operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you
- need to ensure that all data is written before the asynchronous operation
- completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2" title="basic_stream_socket::async_send (2 of 2 overloads)">basic_stream_socket::async_send
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously send data on the stream socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the send operation completes. Copies
- will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The send operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you
- need to ensure that all data is written before the asynchronous operation
- completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_send.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send.overload2.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some" title="basic_stream_socket::async_write_some">basic_stream_socket::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp184655168"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write data to the stream socket.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_write_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_write_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the socket. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_write_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_write_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some.remarks">Remarks</a>
- </h6>
-<p>
- The write operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
- to ensure that all data is written before the asynchronous operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.async_write_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_write_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark" title="basic_stream_socket::at_mark">basic_stream_socket::at_mark</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload1">basic_stream_socket::at_mark
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload2">basic_stream_socket::at_mark
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp184719328"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload1" title="basic_stream_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload1" title="basic_stream_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload2" title="basic_stream_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload2" title="basic_stream_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.at_mark.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload1" title="basic_stream_socket::at_mark (1 of 2 overloads)">basic_stream_socket::at_mark
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.at_mark.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload2" title="basic_stream_socket::at_mark (2 of 2 overloads)">basic_stream_socket::at_mark
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to check whether the socket input is currently
- positioned at the out-of-band data mark.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A bool indicating whether the socket is at the out-of-band data mark.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.available"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available" title="basic_stream_socket::available">basic_stream_socket::available</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.available.overload1">basic_stream_socket::available
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.available.overload2">basic_stream_socket::available
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp184774448"></a>
-Determine the number of bytes available for
- reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload1" title="basic_stream_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload1" title="basic_stream_socket::available (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload2" title="basic_stream_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload2" title="basic_stream_socket::available (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.available.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload1" title="basic_stream_socket::available (1 of 2 overloads)">basic_stream_socket::available
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.available.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.available.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.available.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload2" title="basic_stream_socket::available (2 of 2 overloads)">basic_stream_socket::available
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Determine the number of bytes available for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine the number of bytes that may be read
- without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.available.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.available.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes that may be read without blocking, or 0 if an error
- occurs.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket" title="basic_stream_socket::basic_stream_socket">basic_stream_socket::basic_stream_socket</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1">basic_stream_socket::basic_stream_socket
- (1 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2">basic_stream_socket::basic_stream_socket
- (2 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3">basic_stream_socket::basic_stream_socket
- (3 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4">basic_stream_socket::basic_stream_socket
- (4 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5">basic_stream_socket::basic_stream_socket
- (5 of 6 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6">basic_stream_socket::basic_stream_socket
- (6 of 6 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp184833952"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>, opening it
- and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> on an existing
- native socket.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
- <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
- <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">basic_stream_socket::basic_stream_socket
- (1 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream socket without opening it. The socket
- needs to be opened and then connected or accepted before data can be
- sent or received on it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">basic_stream_socket::basic_stream_socket
- (2 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct and open a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates and opens a stream socket. The socket needs
- to be connected or accepted before data can be sent or received on it.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">basic_stream_socket::basic_stream_socket
- (3 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>, opening
- it and binding it to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream socket and automatically opens it bound
- to the specified endpoint on the local machine. The protocol used is
- the protocol associated with the given endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the stream socket will
- be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">basic_stream_socket::basic_stream_socket
- (4 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> on an existing
- native socket.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream socket object to hold an existing native
- socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream socket will use to dispatch handlers for any asynchronous
- operations performed on the socket.
- </p></dd>
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-<dt><span class="term">native_socket</span></dt>
-<dd><p>
- The new underlying socket implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">basic_stream_socket::basic_stream_socket
- (5 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
- <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a stream socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">basic_stream_socket::basic_stream_socket
- (6 of 6 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">basic_stream_socket</span><span class="special">(</span>
- <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a stream socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.bind"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind" title="basic_stream_socket::bind">basic_stream_socket::bind</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1">basic_stream_socket::bind
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload2">basic_stream_socket::bind
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp185099920"></a>
-Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1" title="basic_stream_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1" title="basic_stream_socket::bind (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload2" title="basic_stream_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload2" title="basic_stream_socket::bind (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.bind.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1" title="basic_stream_socket::bind (1 of 2 overloads)">basic_stream_socket::bind
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bind.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bind.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bind.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.bind.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload2" title="basic_stream_socket::bind (2 of 2 overloads)">basic_stream_socket::bind
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Bind the socket to the given local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function binds the socket to the specified endpoint on the local
- machine.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bind.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- An endpoint on the local machine to which the socket will be bound.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bind.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast" title="basic_stream_socket::broadcast">basic_stream_socket::broadcast</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp185243312"></a>
-Socket option to permit sending of broadcast
- messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable" title="basic_stream_socket::bytes_readable">basic_stream_socket::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp185300112"></a>
-IO control command to get the amount of
- data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel" title="basic_stream_socket::cancel">basic_stream_socket::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload1">basic_stream_socket::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload2">basic_stream_socket::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp185339248"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload1" title="basic_stream_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload1" title="basic_stream_socket::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload2" title="basic_stream_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload2" title="basic_stream_socket::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload1" title="basic_stream_socket::cancel (1 of 2 overloads)">basic_stream_socket::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload2" title="basic_stream_socket::cancel (2 of 2 overloads)">basic_stream_socket::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous connect, send and receive
- operations to finish immediately, and the handlers for cancelled operations
- will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
- will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
- when run on Windows XP, Windows Server 2003, and earlier versions of
- Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
- function has two issues that should be considered before enabling its
- use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- It will only cancel asynchronous operations that were initiated in
- the current thread.
- </li>
-<li class="listitem">
- It can appear to complete without error, but the request to cancel
- the unfinished operations may be silently ignored by the operating
- system. Whether it works or not seems to depend on the drivers that
- are installed.
- </li>
-</ul></div>
-<p>
- For portable cancellation, consider using one of the following alternatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
- </li>
-<li class="listitem">
- Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
- function to simultaneously cancel the outstanding operations and
- close the socket.
- </li>
-</ul></div>
-<p>
- When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
- function is always used. This function does not have the problems described
- above.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.close"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close" title="basic_stream_socket::close">basic_stream_socket::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.close.overload1">basic_stream_socket::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2">basic_stream_socket::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp185429968"></a>
-Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload1" title="basic_stream_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload1" title="basic_stream_socket::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2" title="basic_stream_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2" title="basic_stream_socket::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload1" title="basic_stream_socket::close (1 of 2 overloads)">basic_stream_socket::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.close.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload1.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2" title="basic_stream_socket::close (2 of 2 overloads)">basic_stream_socket::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Close the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the socket. Any asynchronous send, receive
- or connect operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.close.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.close.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close.overload2.remarks">Remarks</a>
- </h6>
-<p>
- For portable behaviour with respect to graceful closure of a connected
- socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.connect"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect" title="basic_stream_socket::connect">basic_stream_socket::connect</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1">basic_stream_socket::connect
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload2">basic_stream_socket::connect
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp185520080"></a>
-Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1" title="basic_stream_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1" title="basic_stream_socket::connect (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload2" title="basic_stream_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload2" title="basic_stream_socket::connect (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1" title="basic_stream_socket::connect (1 of 2 overloads)">basic_stream_socket::connect
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload2" title="basic_stream_socket::connect (2 of 2 overloads)">basic_stream_socket::connect
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Connect the socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to connect a socket to the specified remote endpoint.
- The function call will block until the connection is successfully made
- or an error occurs.
- </p>
-<p>
- The socket is automatically opened if it is not already open. If the
- connect fails, and the socket was automatically opened, the socket is
- not returned to the closed state.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">peer_endpoint</span></dt>
-<dd><p>
- The remote endpoint to which the socket will be connected.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.debug"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug" title="basic_stream_socket::debug">basic_stream_socket::debug</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp185655792"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route" title="basic_stream_socket::do_not_route">basic_stream_socket::do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp185712608"></a>
-Socket option to prevent routing, use local
- interfaces only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted" title="basic_stream_socket::enable_connection_aborted">basic_stream_socket::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp185769456"></a>
-Socket option to report aborted
- connections on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type" title="basic_stream_socket::endpoint_type">basic_stream_socket::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp185830320"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation" title="basic_stream_socket::get_implementation">basic_stream_socket::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload1">basic_stream_socket::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload2">basic_stream_socket::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp185843648"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload1" title="basic_stream_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload1" title="basic_stream_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload2" title="basic_stream_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload2" title="basic_stream_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload1" title="basic_stream_socket::get_implementation (1 of 2 overloads)">basic_stream_socket::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation.overload2" title="basic_stream_socket::get_implementation (2 of 2 overloads)">basic_stream_socket::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service" title="basic_stream_socket::get_io_service">basic_stream_socket::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp185873280"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option" title="basic_stream_socket::get_option">basic_stream_socket::get_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1">basic_stream_socket::get_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload2">basic_stream_socket::get_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp185891120"></a>
-Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1" title="basic_stream_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1" title="basic_stream_socket::get_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload2" title="basic_stream_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload2" title="basic_stream_socket::get_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1" title="basic_stream_socket::get_option (1 of 2 overloads)">basic_stream_socket::get_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload1.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload2" title="basic_stream_socket::get_option (2 of 2 overloads)">basic_stream_socket::get_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get an option from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to get the current value of an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The option value to be obtained from the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.get_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option.overload2.example">Example</a>
- </h6>
-<p>
- Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service" title="basic_stream_socket::get_service">basic_stream_socket::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload1">basic_stream_socket::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload2">basic_stream_socket::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp186031120"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload1" title="basic_stream_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload1" title="basic_stream_socket::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload2" title="basic_stream_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload2" title="basic_stream_socket::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload1" title="basic_stream_socket::get_service (1 of 2 overloads)">basic_stream_socket::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service.overload2" title="basic_stream_socket::get_service (2 of 2 overloads)">basic_stream_socket::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation" title="basic_stream_socket::implementation">basic_stream_socket::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186060624"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type" title="basic_stream_socket::implementation_type">basic_stream_socket::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186069072"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.io_control"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control" title="basic_stream_socket::io_control">basic_stream_socket::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1">basic_stream_socket::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload2">basic_stream_socket::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp186082656"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1" title="basic_stream_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1" title="basic_stream_socket::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload2" title="basic_stream_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload2" title="basic_stream_socket::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1" title="basic_stream_socket::io_control (1 of 2 overloads)">basic_stream_socket::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload2" title="basic_stream_socket::io_control (2 of 2 overloads)">basic_stream_socket::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.is_open"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.is_open" title="basic_stream_socket::is_open">basic_stream_socket::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186220400"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive" title="basic_stream_socket::keep_alive">basic_stream_socket::keep_alive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186228304"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.linger"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger" title="basic_stream_socket::linger">basic_stream_socket::linger</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186285120"></a>
-Socket option to specify whether the socket lingers
- on close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint" title="basic_stream_socket::local_endpoint">basic_stream_socket::local_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1">basic_stream_socket::local_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2">basic_stream_socket::local_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp186347264"></a>
-Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">basic_stream_socket::local_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">basic_stream_socket::local_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the local endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the locally bound endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the local endpoint of the socket. Returns a
- default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer" title="basic_stream_socket::lowest_layer">basic_stream_socket::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload1">basic_stream_socket::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload2">basic_stream_socket::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp186452080"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload1" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload1" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload2" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload2" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload1" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">basic_stream_socket::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload2" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">basic_stream_socket::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type" title="basic_stream_socket::lowest_layer_type">basic_stream_socket::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186494432"></a>
-A <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.broadcast" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bytes_readable" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.debug" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.do_not_route" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.enable_connection_aborted" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.endpoint_type" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation_type" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.keep_alive" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.linger" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer_type" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_flags" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle_type" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_type" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking_io" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.protocol_type" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_buffer_size" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.receive_low_watermark" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.reuse_address" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_buffer_size" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.send_low_watermark" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service_type" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown_type" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.assign" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.async_connect" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.at_mark" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.available" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.basic_socket" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket without opening it.
- </p>
- <p>
- Construct and open a basic_socket.
- </p>
- <p>
- Construct a basic_socket, opening it and binding it to the given
- local endpoint.
- </p>
- <p>
- Construct a basic_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_socket from another.
- </p>
- <p>
- Move-construct a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.bind" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.cancel" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.close" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.connect" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_io_service" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_option" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.io_control" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.is_open" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.local_endpoint" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.lowest_layer" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_handle" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.native_non_blocking" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.non_blocking" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.open" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.operator_eq_" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket from another.
- </p>
- <p>
- Move-assign a basic_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.remote_endpoint" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.set_option" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.shutdown" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_implementation" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.get_service" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket._basic_socket" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.max_connections" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_do_not_route" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_end_of_record" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_out_of_band" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.message_peek" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.implementation" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket.service" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
- class template provides functionality that is common to both stream-oriented
- and datagram-oriented sockets.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.max_connections" title="basic_stream_socket::max_connections">basic_stream_socket::max_connections</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186744128"></a>
-The maximum length of the queue of pending
- incoming connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route" title="basic_stream_socket::message_do_not_route">basic_stream_socket::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186753520"></a>
-Specify that the data should not
- be subject to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record" title="basic_stream_socket::message_end_of_record">basic_stream_socket::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186763008"></a>
-Specifies that the data marks the
- end of a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags" title="basic_stream_socket::message_flags">basic_stream_socket::message_flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186772384"></a>
-Bitmask type for flags that can be passed
- to send and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band" title="basic_stream_socket::message_out_of_band">basic_stream_socket::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186785568"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_peek" title="basic_stream_socket::message_peek">basic_stream_socket::message_peek</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186794992"></a>
-Peek at incoming data without removing it
- from the input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native" title="basic_stream_socket::native">basic_stream_socket::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186804400"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle" title="basic_stream_socket::native_handle">basic_stream_socket::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp186813360"></a>
-Get the native socket representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- socket. This is intended to allow access to native socket functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type" title="basic_stream_socket::native_handle_type">basic_stream_socket::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp186819856"></a>
-The native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking" title="basic_stream_socket::native_non_blocking">basic_stream_socket::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1">basic_stream_socket::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2">basic_stream_socket::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3">basic_stream_socket::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp186833392"></a>
-Gets the non-blocking mode of the
- native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">basic_stream_socket::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native socket. This mode has no effect on the behaviour of the socket
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the socket object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">basic_stream_socket::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">basic_stream_socket::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native socket. It has no effect on the behaviour of the socket object's
- synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- socket is put into non-blocking mode and direct system calls may
- fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.example">Example</a>
- </h6>
-<p>
- This function is intended to allow the encapsulation of arbitrary non-blocking
- system calls as asynchronous operations, in a way that is transparent
- to the user of the socket object. The following example illustrates how
- Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
- call might be encapsulated:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
-<span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
- <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
- <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
-
- <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
- <span class="comment">// Used as the handler for the async_write_some operation.</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Put the underlying socket into non-blocking mode.</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="comment">// Try the system call.</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
- <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
- <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
-
- <span class="comment">// Retry operation immediately if interrupted by signal.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
- <span class="keyword">continue</span><span class="special">;</span>
-
- <span class="comment">// Check if we need to run the operation again.</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
- <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We have to wait for the socket to become ready again.</span>
- <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="keyword">return</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred, or we have reached the end of the file.</span>
- <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
- <span class="keyword">break</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="comment">// Loop around to try calling sendfile again.</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="comment">// Pass result back to user's handler.</span>
- <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
- <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.native_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_type" title="basic_stream_socket::native_type">basic_stream_socket::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp187438704"></a>
-(Deprecated: Use native_handle_type.) The
- native representation of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking" title="basic_stream_socket::non_blocking">basic_stream_socket::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1">basic_stream_socket::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2">basic_stream_socket::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3">basic_stream_socket::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp187452144"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1" title="basic_stream_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1" title="basic_stream_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2" title="basic_stream_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2" title="basic_stream_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3" title="basic_stream_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3" title="basic_stream_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1" title="basic_stream_socket::non_blocking (1 of 3 overloads)">basic_stream_socket::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
- operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2" title="basic_stream_socket::non_blocking (2 of 3 overloads)">basic_stream_socket::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3" title="basic_stream_socket::non_blocking (3 of 3 overloads)">basic_stream_socket::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io" title="basic_stream_socket::non_blocking_io">basic_stream_socket::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp187574192"></a>
-(Deprecated: Use non_blocking().) IO
- control command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.open"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open" title="basic_stream_socket::open">basic_stream_socket::open</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1">basic_stream_socket::open
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.open.overload2">basic_stream_socket::open
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp187608048"></a>
-Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1" title="basic_stream_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1" title="basic_stream_socket::open (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload2" title="basic_stream_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload2" title="basic_stream_socket::open (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.open.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1" title="basic_stream_socket::open (1 of 2 overloads)">basic_stream_socket::open
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.open.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying protocol parameters to be used.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.open.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.open.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.open.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload2" title="basic_stream_socket::open (2 of 2 overloads)">basic_stream_socket::open
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Open the socket using the specified protocol.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function opens the socket so that it will use the specified protocol.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.open.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- An object specifying which protocol is to be used.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.open.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_" title="basic_stream_socket::operator=">basic_stream_socket::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1">basic_stream_socket::operator=
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2">basic_stream_socket::operator=
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp187724464"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1" title="basic_stream_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1" title="basic_stream_socket::operator= (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_stream_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2" title="basic_stream_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
- <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2" title="basic_stream_socket::operator= (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1" title="basic_stream_socket::operator= (1 of 2 overloads)">basic_stream_socket::operator=
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a stream socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2" title="basic_stream_socket::operator= (2 of 2 overloads)">basic_stream_socket::operator=
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-assign a <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
- of another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamSocketService" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
-<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_stream_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a stream socket from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type" title="basic_stream_socket::protocol_type">basic_stream_socket::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp187826928"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.read_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some" title="basic_stream_socket::read_some">basic_stream_socket::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1">basic_stream_socket::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2">basic_stream_socket::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp187839168"></a>
-Read some data from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1" title="basic_stream_socket::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1" title="basic_stream_socket::read_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2" title="basic_stream_socket::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2" title="basic_stream_socket::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1" title="basic_stream_socket::read_some (1 of 2 overloads)">basic_stream_socket::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream socket. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2" title="basic_stream_socket::read_some (2 of 2 overloads)">basic_stream_socket::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream socket. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.read_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.receive"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive" title="basic_stream_socket::receive">basic_stream_socket::receive</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1">basic_stream_socket::receive
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2">basic_stream_socket::receive
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3">basic_stream_socket::receive
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp187956384"></a>
-Receive some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1" title="basic_stream_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1" title="basic_stream_socket::receive (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2" title="basic_stream_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2" title="basic_stream_socket::receive (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3" title="basic_stream_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3" title="basic_stream_socket::receive (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.receive.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1" title="basic_stream_socket::receive (1 of 3 overloads)">basic_stream_socket::receive
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the stream socket. The function
- call will block until one or more bytes of data has been received successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload1.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.receive.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2" title="basic_stream_socket::receive (2 of 3 overloads)">basic_stream_socket::receive
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the stream socket. The function
- call will block until one or more bytes of data has been received successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload2.example">Example</a>
- </h6>
-<p>
- To receive into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on receiving into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.receive.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3" title="basic_stream_socket::receive (3 of 3 overloads)">basic_stream_socket::receive
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Receive some data on a connected socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to receive data on the stream socket. The function
- call will block until one or more bytes of data has been received successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be received.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the receive call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes received. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The receive operation may not receive all of the requested number of
- bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size" title="basic_stream_socket::receive_buffer_size">basic_stream_socket::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188155568"></a>
-Socket option for the receive buffer
- size of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark" title="basic_stream_socket::receive_low_watermark">basic_stream_socket::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188212656"></a>
-Socket option for the receive low
- watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint" title="basic_stream_socket::remote_endpoint">basic_stream_socket::remote_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1">basic_stream_socket::remote_endpoint
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2">basic_stream_socket::remote_endpoint
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp188268816"></a>
-Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">endpoint_type</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">basic_stream_socket::remote_endpoint
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">basic_stream_socket::remote_endpoint
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Get the remote endpoint of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to obtain the remote endpoint of the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- An object that represents the remote endpoint of the socket. Returns
- a default-constructed endpoint object if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address" title="basic_stream_socket::reuse_address">basic_stream_socket::reuse_address</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188374480"></a>
-Socket option to allow the socket to be
- bound to an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.send"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send" title="basic_stream_socket::send">basic_stream_socket::send</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1">basic_stream_socket::send
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2">basic_stream_socket::send
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3">basic_stream_socket::send
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp188430560"></a>
-Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1" title="basic_stream_socket::send (1 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1" title="basic_stream_socket::send (1 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2" title="basic_stream_socket::send (2 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2" title="basic_stream_socket::send (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3" title="basic_stream_socket::send (3 of 3 overloads)">send</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3" title="basic_stream_socket::send (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.send.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1" title="basic_stream_socket::send (1 of 3 overloads)">basic_stream_socket::send
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the stream socket. The function
- call will block until one or more bytes of the data has been sent successfully,
- or an until error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The send operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
- function if you need to ensure that all data is written before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload1.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.send.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2" title="basic_stream_socket::send (2 of 3 overloads)">basic_stream_socket::send
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the stream socket. The function
- call will block until one or more bytes of the data has been sent successfully,
- or an until error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The send operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
- function if you need to ensure that all data is written before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload2.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload2.example">Example</a>
- </h6>
-<p>
- To send a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on sending multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.send.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3" title="basic_stream_socket::send (3 of 3 overloads)">basic_stream_socket::send
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Send some data on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to send data on the stream socket. The function
- call will block until one or more bytes of the data has been sent successfully,
- or an until error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be sent on the socket.
- </p></dd>
-<dt><span class="term">flags</span></dt>
-<dd><p>
- Flags specifying how the send call is to be made.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes sent. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The send operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
- function if you need to ensure that all data is written before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size" title="basic_stream_socket::send_buffer_size">basic_stream_socket::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188619184"></a>
-Socket option for the send buffer size
- of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark" title="basic_stream_socket::send_low_watermark">basic_stream_socket::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188675936"></a>
-Socket option for the send low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service" title="basic_stream_socket::service">basic_stream_socket::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188732992"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service_type" title="basic_stream_socket::service_type">basic_stream_socket::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp188745344"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.set_option"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option" title="basic_stream_socket::set_option">basic_stream_socket::set_option</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1">basic_stream_socket::set_option
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload2">basic_stream_socket::set_option
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp188757648"></a>
-Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1" title="basic_stream_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1" title="basic_stream_socket::set_option (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload2" title="basic_stream_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload2" title="basic_stream_socket::set_option (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1" title="basic_stream_socket::set_option (1 of 2 overloads)">basic_stream_socket::set_option
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload1.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload2" title="basic_stream_socket::set_option (2 of 2 overloads)">basic_stream_socket::set_option
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Set an option on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to set an option on the socket.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">option</span></dt>
-<dd><p>
- The new option value to be set on the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.set_option.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option.overload2.example">Example</a>
- </h6>
-<p>
- Setting the IPPROTO_TCP/TCP_NODELAY option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown" title="basic_stream_socket::shutdown">basic_stream_socket::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1">basic_stream_socket::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload2">basic_stream_socket::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp188886800"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1" title="basic_stream_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1" title="basic_stream_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload2" title="basic_stream_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload2" title="basic_stream_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1" title="basic_stream_socket::shutdown (1 of 2 overloads)">basic_stream_socket::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload1.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload2" title="basic_stream_socket::shutdown (2 of 2 overloads)">basic_stream_socket::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_socket.</em></span>
- </p>
-<p>
- Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to disable send operations, receive operations,
- or both.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">what</span></dt>
-<dd><p>
- Determines what types of operation will no longer be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown.overload2.example">Example</a>
- </h6>
-<p>
- Shutting down the send side of the socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type" title="basic_stream_socket::shutdown_type">basic_stream_socket::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from socket_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp189000752"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp189004144"></a>
- <a class="indexterm" name="idp189005248"></a>
- <a class="indexterm" name="idp189006352"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_stream_socket.write_some"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some" title="basic_stream_socket::write_some">basic_stream_socket::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1">basic_stream_socket::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2">basic_stream_socket::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp189018368"></a>
-Write some data to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1" title="basic_stream_socket::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1" title="basic_stream_socket::write_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2" title="basic_stream_socket::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2" title="basic_stream_socket::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1" title="basic_stream_socket::write_some (1 of 2 overloads)">basic_stream_socket::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the stream socket. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the socket.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2" title="basic_stream_socket::write_some (2 of 2 overloads)">basic_stream_socket::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the stream socket. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the socket.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_stream_socket.write_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_streambuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf">basic_streambuf</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.basic_streambuf">basic_streambuf::basic_streambuf</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.commit">basic_streambuf::commit</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.const_buffers_type">basic_streambuf::const_buffers_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.consume">basic_streambuf::consume</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.data">basic_streambuf::data</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.max_size">basic_streambuf::max_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.mutable_buffers_type">basic_streambuf::mutable_buffers_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.overflow">basic_streambuf::overflow</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.prepare">basic_streambuf::prepare</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.reserve">basic_streambuf::reserve</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.size">basic_streambuf::size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_streambuf.underflow">basic_streambuf::underflow</a></span></dt>
-</dl></div>
-<p>
- Automatically resizable buffer class based on std::streambuf.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_streambuf</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_streambuf.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.const_buffers_type" title="basic_streambuf::const_buffers_type"><span class="bold"><strong>const_buffers_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used to represent the input sequence as a list of buffers.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.mutable_buffers_type" title="basic_streambuf::mutable_buffers_type"><span class="bold"><strong>mutable_buffers_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used to represent the output sequence as a list of buffers.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_streambuf.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.basic_streambuf" title="basic_streambuf::basic_streambuf"><span class="bold"><strong>basic_streambuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_streambuf object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.commit" title="basic_streambuf::commit"><span class="bold"><strong>commit</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move characters from the output sequence to the input sequence.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.consume" title="basic_streambuf::consume"><span class="bold"><strong>consume</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove characters from the input sequence.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.data" title="basic_streambuf::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a list of buffers that represents the input sequence.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.max_size" title="basic_streambuf::max_size"><span class="bold"><strong>max_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the maximum size of the basic_streambuf.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.prepare" title="basic_streambuf::prepare"><span class="bold"><strong>prepare</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a list of buffers that represents the output sequence, with
- the given size.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.size" title="basic_streambuf::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the size of the input sequence.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_streambuf.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.overflow" title="basic_streambuf::overflow"><span class="bold"><strong>overflow</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Override std::streambuf behaviour.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.reserve" title="basic_streambuf::reserve"><span class="bold"><strong>reserve</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.underflow" title="basic_streambuf::underflow"><span class="bold"><strong>underflow</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Override std::streambuf behaviour.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class
- is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span></code> to associate the streambuf's
- input and output sequences with one or more character arrays. These character
- arrays are internal to the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object, but direct access to the array elements is provided to permit them
- to be used efficiently with I/O operations. Characters written to the output
- sequence of a <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object are appended to the input sequence of the same object.
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class's
- public interface is intended to permit the following implementation strategies:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A single contiguous character array, which is reallocated as necessary
- to accommodate changes in the size of the character sequence. This is
- the implementation approach currently used in Asio.
- </li>
-<li class="listitem">
- A sequence of one or more character arrays, where each array is of the
- same size. Additional character array objects are appended to the sequence
- to accommodate changes in the size of the character sequence.
- </li>
-<li class="listitem">
- A sequence of one or more character arrays of varying sizes. Additional
- character array objects are appended to the sequence to accommodate changes
- in the size of the character sequence.
- </li>
-</ul></div>
-<p>
- The constructor for <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> accepts a <code class="computeroutput"><span class="identifier">size_t</span></code> argument specifying the maximum
- of the sum of the sizes of the input sequence and output sequence. During
- the lifetime of the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object, the following invariant holds:
- </p>
-<pre class="programlisting"><span class="identifier">size</span><span class="special">()</span> <span class="special">&lt;=</span> <span class="identifier">max_size</span><span class="special">()</span>
-</pre>
-<p>
- Any member function that would, if successful, cause the invariant to be
- violated shall throw an exception of class <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code>.
- </p>
-<p>
- The constructor for <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- takes an Allocator argument. A copy of this argument is used for any memory
- allocation performed, by the constructor and by all member functions, during
- the lifetime of each <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_streambuf.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.examples">Examples</a>
- </h5>
-<p>
- Writing directly from an streambuf to a socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="identifier">os</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, World!\n"</span><span class="special">;</span>
-
-<span class="comment">// try sending some data in input sequence</span>
-<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">.</span><span class="identifier">data</span><span class="special">());</span>
-
-<span class="identifier">b</span><span class="special">.</span><span class="identifier">consume</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span> <span class="comment">// sent data is removed from input sequence</span>
-</pre>
-<p>
- Reading from a socket directly into a streambuf:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-
-<span class="comment">// reserve 512 bytes in output sequence</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">mutable_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">.</span><span class="identifier">prepare</span><span class="special">(</span><span class="number">512</span><span class="special">);</span>
-
-<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">bufs</span><span class="special">);</span>
-
-<span class="comment">// received data is "committed" from output sequence to input sequence</span>
-<span class="identifier">b</span><span class="special">.</span><span class="identifier">commit</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
-<span class="identifier">is</span> <span class="special">&gt;&gt;</span> <span class="identifier">s</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_streambuf.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.basic_streambuf"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.basic_streambuf" title="basic_streambuf::basic_streambuf">basic_streambuf::basic_streambuf</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189298704"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object.
- </p>
-<pre class="programlisting"><span class="identifier">basic_streambuf</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">maximum_size</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">&gt;::</span><span class="identifier">max</span><span class="special">)(),</span>
- <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span> <span class="special">=</span> <span class="identifier">Allocator</span><span class="special">());</span>
-</pre>
-<p>
- Constructs a streambuf with the specified maximum size. The initial size
- of the streambuf's input sequence is 0.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.commit"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.commit" title="basic_streambuf::commit">basic_streambuf::commit</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189320144"></a>
-Move characters from the output sequence to the input
- sequence.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">commit</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-<p>
- Appends <code class="computeroutput"><span class="identifier">n</span></code> characters from
- the start of the output sequence to the input sequence. The beginning of
- the output sequence is advanced by <code class="computeroutput"><span class="identifier">n</span></code>
- characters.
- </p>
-<p>
- Requires a preceding call <code class="computeroutput"><span class="identifier">prepare</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- where <code class="computeroutput"><span class="identifier">x</span> <span class="special">&gt;=</span>
- <span class="identifier">n</span></code>, and no intervening operations
- that modify the input or output sequence.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.commit.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.commit.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.commit.remarks">Remarks</a>
- </h6>
-<p>
- If <code class="computeroutput"><span class="identifier">n</span></code> is greater than the
- size of the output sequence, the entire output sequence is moved to the
- input sequence and no error is issued.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.const_buffers_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.const_buffers_type" title="basic_streambuf::const_buffers_type">basic_streambuf::const_buffers_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189341872"></a>
-The type used to represent the input sequence
- as a list of buffers.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">const_buffers_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.const_buffers_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.const_buffers_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.const_buffers_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.consume"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.consume" title="basic_streambuf::consume">basic_streambuf::consume</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189354256"></a>
-Remove characters from the input sequence.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">consume</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-<p>
- Removes <code class="computeroutput"><span class="identifier">n</span></code> characters from
- the beginning of the input sequence.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.consume.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.consume.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.consume.remarks">Remarks</a>
- </h6>
-<p>
- If <code class="computeroutput"><span class="identifier">n</span></code> is greater than the
- size of the input sequence, the entire input sequence is consumed and no
- error is issued.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.data"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.data" title="basic_streambuf::data">basic_streambuf::data</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189369040"></a>
-Get a list of buffers that represents the input sequence.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_type</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.data.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.data.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.data.return_value">Return
- Value</a>
- </h6>
-<p>
- An object of type <code class="computeroutput"><span class="identifier">const_buffers_type</span></code>
- that satisfies ConstBufferSequence requirements, representing all character
- arrays in the input sequence.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.data.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.data.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.data.remarks">Remarks</a>
- </h6>
-<p>
- The returned object is invalidated by any <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- member function that modifies the input sequence or output sequence.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.max_size"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.max_size" title="basic_streambuf::max_size">basic_streambuf::max_size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189385104"></a>
-Get the maximum size of the <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.max_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.max_size.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.max_size.return_value">Return
- Value</a>
- </h6>
-<p>
- The allowed maximum of the sum of the sizes of the input sequence and output
- sequence.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.mutable_buffers_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.mutable_buffers_type" title="basic_streambuf::mutable_buffers_type">basic_streambuf::mutable_buffers_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189398416"></a>
-The type used to represent the output
- sequence as a list of buffers.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">mutable_buffers_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.mutable_buffers_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.mutable_buffers_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.mutable_buffers_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.overflow"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.overflow" title="basic_streambuf::overflow">basic_streambuf::overflow</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189410784"></a>
-Override std::streambuf behaviour.
- </p>
-<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">overflow</span><span class="special">(</span>
- <span class="identifier">int_type</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- Behaves according to the specification of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">overflow</span><span class="special">()</span></code>, with the specialisation that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code> is thrown if appending the
- character to the input sequence would require the condition <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span> <span class="special">&gt;</span> <span class="identifier">max_size</span><span class="special">()</span></code> to be true.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.prepare"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.prepare" title="basic_streambuf::prepare">basic_streambuf::prepare</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189428592"></a>
-Get a list of buffers that represents the output
- sequence, with the given size.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_type</span> <span class="identifier">prepare</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-<p>
- Ensures that the output sequence can accommodate <code class="computeroutput"><span class="identifier">n</span></code>
- characters, reallocating character array objects as necessary.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.prepare.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.prepare.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.prepare.return_value">Return
- Value</a>
- </h6>
-<p>
- An object of type <code class="computeroutput"><span class="identifier">mutable_buffers_type</span></code>
- that satisfies MutableBufferSequence requirements, representing character
- array objects at the start of the output sequence such that the sum of
- the buffer sizes is <code class="computeroutput"><span class="identifier">n</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.prepare.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.prepare.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.prepare.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">std::length_error</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span>
- <span class="special">+</span> <span class="identifier">n</span>
- <span class="special">&gt;</span> <span class="identifier">max_size</span><span class="special">()</span></code>.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.prepare.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.prepare.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.prepare.remarks">Remarks</a>
- </h6>
-<p>
- The returned object is invalidated by any <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- member function that modifies the input sequence or output sequence.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.reserve"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.reserve" title="basic_streambuf::reserve">basic_streambuf::reserve</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189459280"></a>
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reserve</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.size"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.size" title="basic_streambuf::size">basic_streambuf::size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189468000"></a>
-Get the size of the input sequence.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_streambuf.size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_streambuf.size.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.size.return_value">Return
- Value</a>
- </h6>
-<p>
- The size of the input sequence. The value is equal to that calculated for
- <code class="computeroutput"><span class="identifier">s</span></code> in the following code:
- </p>
-<pre class="programlisting"><span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-<span class="identifier">const_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">data</span><span class="special">();</span>
-<span class="identifier">const_buffers_type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">bufs</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
-<span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">bufs</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
-<span class="special">{</span>
- <span class="identifier">const_buffer</span> <span class="identifier">buf</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++);</span>
- <span class="identifier">s</span> <span class="special">+=</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">buf</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_streambuf.underflow"></a><a class="link" href="reference.html#boost_asio.reference.basic_streambuf.underflow" title="basic_streambuf::underflow">basic_streambuf::underflow</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189505616"></a>
-Override std::streambuf behaviour.
- </p>
-<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">underflow</span><span class="special">();</span>
-</pre>
-<p>
- Behaves according to the specification of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">underflow</span><span class="special">()</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_waitable_timer"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer">basic_waitable_timer</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait">basic_waitable_timer::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer">basic_waitable_timer::basic_waitable_timer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.cancel">basic_waitable_timer::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one">basic_waitable_timer::cancel_one</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type">basic_waitable_timer::clock_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.duration">basic_waitable_timer::duration</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at">basic_waitable_timer::expires_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now">basic_waitable_timer::expires_from_now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation">basic_waitable_timer::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service">basic_waitable_timer::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_service">basic_waitable_timer::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.implementation">basic_waitable_timer::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type">basic_waitable_timer::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.service">basic_waitable_timer::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.service_type">basic_waitable_timer::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.time_point">basic_waitable_timer::time_point</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type">basic_waitable_timer::traits_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.wait">basic_waitable_timer::wait</a></span></dt>
-</dl></div>
-<p>
- Provides waitable timer functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitTraits" title="Wait traits requirements">WaitTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">wait_traits</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitableTimerService" title="Waitable timer service requirements">WaitableTimerService</a> <span class="special">=</span> <span class="identifier">waitable_timer_service</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">WaitTraits</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_waitable_timer</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">WaitableTimerService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The clock type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.duration" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time point type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The wait traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
- <p>
- Constructor to set a particular expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time as an absolute time.
- </p>
- <p>
- Set the timer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the timer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the timer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
- provides the ability to perform a blocking or asynchronous wait for a timer
- to expire.
- </p>
-<p>
- A waitable timer is always in one of two states: "expired" or "not
- expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
- the wait operation will complete immediately.
- </p>
-<p>
- Most applications will use one of the <a class="link" href="reference.html#boost_asio.reference.steady_timer" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="reference.html#boost_asio.reference.system_timer" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="reference.html#boost_asio.reference.high_resolution_timer" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.remarks">Remarks</a>
- </h5>
-<p>
- This waitable timer functionality is for use with the C++11 standard library's
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.examples">Examples</a>
- </h5>
-<p>
- Performing a blocking wait (C++11):
- </p>
-<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// Set an expiry time relative to now.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-
-<span class="comment">// Wait for the timer to expire.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Performing an asynchronous wait (C++11):
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer expired.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a timer with an absolute expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
-
-<span class="comment">// Start an asynchronous wait.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
- an active waitable timer's expiry time</a>
- </h5>
-<p>
- Changing the expiry time of a timer while there are pending asynchronous
- waits causes those wait operations to be cancelled. To ensure that the action
- associated with the timer is performed only once, use something like this:
- used:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
- <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="comment">// Too late, timer has already expired!</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer was not cancelled, take necessary action.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- function cancels any pending asynchronous waits, and returns the number
- of asynchronous waits that were cancelled. If it returns 0 then you were
- too late and the wait handler has already been executed, or will soon
- be executed. If it returns 1 then the wait handler was successfully cancelled.
- </li>
-<li class="listitem">
- If a wait handler is cancelled, the boost::system::error_code passed
- to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.reference.basic_waitable_timer.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait" title="basic_waitable_timer::async_wait">basic_waitable_timer::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp189766080"></a>
-Start an asynchronous wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to initiate an asynchronous wait against the
- timer. It always returns immediately.
- </p>
-<p>
- For each call to <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>, the supplied handler will be called
- exactly once. The handler will be called when:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The timer has expired.
- </li>
-<li class="listitem">
- The timer was cancelled, in which case the handler is passed the error
- code <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.async_wait.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.async_wait.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the timer expires. Copies will be made
- of the handler as required. The function signature of the handler
- must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer" title="basic_waitable_timer::basic_waitable_timer">basic_waitable_timer::basic_waitable_timer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1">basic_waitable_timer::basic_waitable_timer
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2">basic_waitable_timer::basic_waitable_timer
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3">basic_waitable_timer::basic_waitable_timer
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp189806016"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">basic_waitable_timer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">basic_waitable_timer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Constructor to set a particular expiry time relative to now.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">basic_waitable_timer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">basic_waitable_timer::basic_waitable_timer
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_waitable_timer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a timer without setting an expiry time. The
- <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- functions must be called to set an expiry time before the timer can be
- waited on.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the timer will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">basic_waitable_timer::basic_waitable_timer
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">basic_waitable_timer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a timer and sets the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the timer will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer, expressed as an absolute
- time.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">basic_waitable_timer::basic_waitable_timer
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor to set a particular expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">basic_waitable_timer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a timer and sets the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the timer will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer, relative to now.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.cancel"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel" title="basic_waitable_timer::cancel">basic_waitable_timer::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1">basic_waitable_timer::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2">basic_waitable_timer::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp189905264"></a>
-Cancel any asynchronous operations that are waiting
- on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1" title="basic_waitable_timer::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1" title="basic_waitable_timer::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2" title="basic_waitable_timer::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2" title="basic_waitable_timer::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1" title="basic_waitable_timer::cancel (1 of 2 overloads)">basic_waitable_timer::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous wait
- operations against the timer. The handler for each cancelled operation
- will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload1.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2" title="basic_waitable_timer::cancel (2 of 2 overloads)">basic_waitable_timer::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous wait
- operations against the timer. The handler for each cancelled operation
- will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one" title="basic_waitable_timer::cancel_one">basic_waitable_timer::cancel_one</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1">basic_waitable_timer::cancel_one
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2">basic_waitable_timer::cancel_one
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp189983552"></a>
-Cancels one asynchronous operation that is
- waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">cancel_one</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">cancel_one</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">basic_waitable_timer::cancel_one
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">();</span>
-</pre>
-<p>
- This function forces the completion of one pending asynchronous wait
- operation against the timer. Handlers are cancelled in FIFO order. The
- handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled. That is, either
- 0 or 1.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">basic_waitable_timer::cancel_one
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function forces the completion of one pending asynchronous wait
- operation against the timer. Handlers are cancelled in FIFO order. The
- handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<p>
- Cancelling the timer does not change the expiry time.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled. That is, either
- 0 or 1.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.clock_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type" title="basic_waitable_timer::clock_type">basic_waitable_timer::clock_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190062240"></a>
-The clock type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.clock_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.clock_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.duration"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.duration" title="basic_waitable_timer::duration">basic_waitable_timer::duration</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190074432"></a>
-The duration type of the clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.duration.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.duration.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.duration.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_at"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at" title="basic_waitable_timer::expires_at">basic_waitable_timer::expires_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload1">basic_waitable_timer::expires_at
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2">basic_waitable_timer::expires_at
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3">basic_waitable_timer::expires_at
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp190087744"></a>
-Get the timer's expiry time as an absolute
- time.
- </p>
-<pre class="programlisting"><span class="identifier">time_point</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload1" title="basic_waitable_timer::expires_at (1 of 3 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload1" title="basic_waitable_timer::expires_at (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2" title="basic_waitable_timer::expires_at (2 of 3 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2" title="basic_waitable_timer::expires_at (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3" title="basic_waitable_timer::expires_at (3 of 3 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3" title="basic_waitable_timer::expires_at (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload1" title="basic_waitable_timer::expires_at (1 of 3 overloads)">basic_waitable_timer::expires_at
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function may be used to obtain the timer's current expiry time.
- Whether the timer has expired or not does not affect this value.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2" title="basic_waitable_timer::expires_at (2 of 3 overloads)">basic_waitable_timer::expires_at
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3" title="basic_waitable_timer::expires_at (3 of 3 overloads)">basic_waitable_timer::expires_at
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now" title="basic_waitable_timer::expires_from_now">basic_waitable_timer::expires_from_now</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload1">basic_waitable_timer::expires_from_now
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2">basic_waitable_timer::expires_from_now
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3">basic_waitable_timer::expires_from_now
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp190197744"></a>
-Get the timer's expiry time relative
- to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload1" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload1" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload1" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">basic_waitable_timer::expires_from_now
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function may be used to obtain the timer's current expiry time.
- Whether the timer has expired or not does not affect this value.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">basic_waitable_timer::expires_from_now
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">basic_waitable_timer::expires_from_now
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the timer's expiry time relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function sets the expiry time. Any pending asynchronous wait operations
- will be cancelled. The handler for each cancelled operation will be invoked
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">expiry_time</span></dt>
-<dd><p>
- The expiry time to be used for the timer.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of asynchronous operations that were cancelled.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.remarks">Remarks</a>
- </h6>
-<p>
- If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
- wait operations will:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- have already been invoked; or
- </li>
-<li class="listitem">
- have been queued for invocation in the near future.
- </li>
-</ul></div>
-<p>
- These handlers can no longer be cancelled, and therefore are passed an
- error code that indicates the successful completion of the wait operation.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation" title="basic_waitable_timer::get_implementation">basic_waitable_timer::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload1">basic_waitable_timer::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload2">basic_waitable_timer::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp190307856"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload1" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload1" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload2" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload2" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload1" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">basic_waitable_timer::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation.overload2" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">basic_waitable_timer::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service" title="basic_waitable_timer::get_io_service">basic_waitable_timer::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp190337664"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_service"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service" title="basic_waitable_timer::get_service">basic_waitable_timer::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload1">basic_waitable_timer::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload2">basic_waitable_timer::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp190355488"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload1" title="basic_waitable_timer::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload1" title="basic_waitable_timer::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload2" title="basic_waitable_timer::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload2" title="basic_waitable_timer::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload1" title="basic_waitable_timer::get_service (1 of 2 overloads)">basic_waitable_timer::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service.overload2" title="basic_waitable_timer::get_service (2 of 2 overloads)">basic_waitable_timer::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.implementation"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation" title="basic_waitable_timer::implementation">basic_waitable_timer::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp190385120"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type" title="basic_waitable_timer::implementation_type">basic_waitable_timer::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp190393552"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.service"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service" title="basic_waitable_timer::service">basic_waitable_timer::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp190407888"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.service_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type" title="basic_waitable_timer::service_type">basic_waitable_timer::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp190420240"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">WaitableTimerService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.time_point"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point" title="basic_waitable_timer::time_point">basic_waitable_timer::time_point</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190432544"></a>
-The time point type of the clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_point</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.time_point.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.time_point.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.traits_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type" title="basic_waitable_timer::traits_type">basic_waitable_timer::traits_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190445792"></a>
-The wait traits type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">WaitTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.traits_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.traits_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.wait"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait" title="basic_waitable_timer::wait">basic_waitable_timer::wait</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload1">basic_waitable_timer::wait
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload2">basic_waitable_timer::wait
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp190458032"></a>
-Perform a blocking wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload1" title="basic_waitable_timer::wait (1 of 2 overloads)">wait</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload1" title="basic_waitable_timer::wait (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload2" title="basic_waitable_timer::wait (2 of 2 overloads)">wait</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload2" title="basic_waitable_timer::wait (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.wait.overload1"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload1" title="basic_waitable_timer::wait (1 of 2 overloads)">basic_waitable_timer::wait
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform a blocking wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to wait for the timer to expire. This function
- blocks and does not return until the timer has expired.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.wait.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.wait.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.basic_waitable_timer.wait.overload2"></a><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload2" title="basic_waitable_timer::wait (2 of 2 overloads)">basic_waitable_timer::wait
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform a blocking wait on the timer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to wait for the timer to expire. This function
- blocks and does not return until the timer has expired.
- </p>
-<h6>
-<a name="boost_asio.reference.basic_waitable_timer.wait.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.wait.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.basic_yield_context"></a><a class="link" href="reference.html#boost_asio.reference.basic_yield_context" title="basic_yield_context">basic_yield_context</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_yield_context.basic_yield_context">basic_yield_context::basic_yield_context</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_yield_context.callee_type">basic_yield_context::callee_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_yield_context.caller_type">basic_yield_context::caller_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.basic_yield_context.operator_lb__rb_">basic_yield_context::operator[]</a></span></dt>
-</dl></div>
-<p>
- Context object the represents the currently executing coroutine.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_yield_context</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.basic_yield_context.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_yield_context.types"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.callee_type" title="basic_yield_context::callee_type"><span class="bold"><strong>callee_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The coroutine callee type, used by the implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.caller_type" title="basic_yield_context::caller_type"><span class="bold"><strong>caller_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The coroutine caller type, used by the implementation.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.basic_yield_context.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_yield_context.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.basic_yield_context" title="basic_yield_context::basic_yield_context"><span class="bold"><strong>basic_yield_context</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a yield context to represent the specified coroutine.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.operator_lb__rb_" title="basic_yield_context::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Return a yield context that sets the specified error_code.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_yield_context" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> class is used
- to represent the currently executing stackful coroutine. A <a class="link" href="reference.html#boost_asio.reference.basic_yield_context" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> may be passed
- as a handler to an asynchronous operation. For example:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">my_coroutine</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- The initiating function (async_read_some in the above example) suspends the
- current coroutine. The coroutine is resumed when the asynchronous operation
- completes, and the result of the operation is returned.
- </p>
-<h5>
-<a name="boost_asio.reference.basic_yield_context.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_yield_context.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_yield_context.basic_yield_context"></a><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.basic_yield_context" title="basic_yield_context::basic_yield_context">basic_yield_context::basic_yield_context</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190564096"></a>
-Construct a yield context to represent
- the specified coroutine.
- </p>
-<pre class="programlisting"><span class="identifier">basic_yield_context</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">weak_ptr</span><span class="special">&lt;</span> <span class="identifier">callee_type</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">coro</span><span class="special">,</span>
- <span class="identifier">caller_type</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">,</span>
- <span class="identifier">Handler</span> <span class="special">&amp;</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- Most applications do not need to use this constructor. Instead, the <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code>
- function passes a yield context as an argument to the coroutine function.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_yield_context.callee_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.callee_type" title="basic_yield_context::callee_type">basic_yield_context::callee_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190583088"></a>
-The coroutine callee type, used by the implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">callee_type</span><span class="special">;</span>
-</pre>
-<p>
- When using Boost.Coroutine v1, this type is:
- </p>
-<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">()&gt;</span>
-</pre>
-<p>
- When using Boost.Coroutine v2 (unidirectional coroutines), this type is:
- </p>
-<pre class="programlisting"><span class="identifier">push_coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_yield_context.callee_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_yield_context.callee_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.callee_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_yield_context.caller_type"></a><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.caller_type" title="basic_yield_context::caller_type">basic_yield_context::caller_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190602224"></a>
-The coroutine caller type, used by the implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">caller_type</span><span class="special">;</span>
-</pre>
-<p>
- When using Boost.Coroutine v1, this type is:
- </p>
-<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">()&gt;::</span><span class="identifier">caller_type</span>
-</pre>
-<p>
- When using Boost.Coroutine v2 (unidirectional coroutines), this type is:
- </p>
-<pre class="programlisting"><span class="identifier">pull_coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.basic_yield_context.caller_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.basic_yield_context.caller_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.caller_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.basic_yield_context.operator_lb__rb_"></a><a class="link" href="reference.html#boost_asio.reference.basic_yield_context.operator_lb__rb_" title="basic_yield_context::operator[]">basic_yield_context::operator[]</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp190621920"></a>
-Return a yield context that sets the specified
- error_code.
- </p>
-<pre class="programlisting"><span class="identifier">basic_yield_context</span> <span class="keyword">operator</span><span class="special">[](</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- By default, when a yield context is used with an asynchronous operation,
- a non-success error_code is converted to system_error and thrown. This
- operator may be used to specify an error_code object that should instead
- be set with the asynchronous operation's result. For example:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">my_coroutine</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">[</span><span class="identifier">ec</span><span class="special">]);</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// An error occurred.</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffer"></a><a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer">buffer</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload1">buffer (1 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload2">buffer (2 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload3">buffer (3 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload4">buffer (4 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload5">buffer (5 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload6">buffer (6 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload7">buffer (7 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload8">buffer (8 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload9">buffer (9 of
- 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload10">buffer (10
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload11">buffer (11
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload12">buffer (12
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload13">buffer (13
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload14">buffer (14
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload15">buffer (15
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload16">buffer (16
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload17">buffer (17
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload18">buffer (18
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload19">buffer (19
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload20">buffer (20
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload21">buffer (21
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload22">buffer (22
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload23">buffer (23
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload24">buffer (24
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload25">buffer (25
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload26">buffer (26
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload27">buffer (27
- of 28 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer.overload28">buffer (28
- of 28 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp190659376"></a>
-The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code> function is used to create a buffer
- object to represent raw memory, an array of POD elements, a vector of POD
- elements, or a std::string.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload1" title="buffer (1 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload1" title="buffer (1 of 28 overloads)">more...</a></em></span>
-
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload2" title="buffer (2 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload2" title="buffer (2 of 28 overloads)">more...</a></em></span>
-
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload3" title="buffer (3 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload3" title="buffer (3 of 28 overloads)">more...</a></em></span>
-
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload4" title="buffer (4 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload4" title="buffer (4 of 28 overloads)">more...</a></em></span>
-
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload5" title="buffer (5 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload5" title="buffer (5 of 28 overloads)">more...</a></em></span>
-
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload6" title="buffer (6 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload6" title="buffer (6 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload7" title="buffer (7 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload7" title="buffer (7 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload8" title="buffer (8 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload8" title="buffer (8 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload9" title="buffer (9 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload9" title="buffer (9 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload10" title="buffer (10 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload10" title="buffer (10 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload11" title="buffer (11 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload11" title="buffer (11 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload12" title="buffer (12 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload12" title="buffer (12 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload13" title="buffer (13 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload13" title="buffer (13 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload14" title="buffer (14 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload14" title="buffer (14 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload15" title="buffer (15 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload15" title="buffer (15 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload16" title="buffer (16 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload16" title="buffer (16 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload17" title="buffer (17 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload17" title="buffer (17 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload18" title="buffer (18 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload18" title="buffer (18 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload19" title="buffer (19 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload19" title="buffer (19 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload20" title="buffer (20 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload20" title="buffer (20 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload21" title="buffer (21 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload21" title="buffer (21 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload22" title="buffer (22 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload22" title="buffer (22 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload23" title="buffer (23 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload23" title="buffer (23 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload24" title="buffer (24 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload24" title="buffer (24 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload25" title="buffer (25 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload25" title="buffer (25 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload26" title="buffer (26 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload26" title="buffer (26 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload27" title="buffer (27 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload27" title="buffer (27 of 28 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <a class="link" href="reference.html#boost_asio.reference.buffer.overload28" title="buffer (28 of 28 overloads)">buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer.overload28" title="buffer (28 of 28 overloads)">more...</a></em></span>
-</pre>
-<p>
- A buffer object represents a contiguous region of memory as a 2-tuple consisting
- of a pointer and size in bytes. A tuple of the form <code class="computeroutput"><span class="special">{</span><span class="keyword">void</span><span class="special">*,</span> <span class="identifier">size_t</span><span class="special">}</span></code> specifies a mutable (modifiable) region
- of memory. Similarly, a tuple of the form <code class="computeroutput"><span class="special">{</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*,</span> <span class="identifier">size_t</span><span class="special">}</span></code> specifies a const (non-modifiable) region
- of memory. These two forms correspond to the classes <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.const_buffer" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>, respectively. To mirror
- C++'s conversion rules, a <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a> is implicitly convertible
- to a <a class="link" href="reference.html#boost_asio.reference.const_buffer" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>,
- and the opposite conversion is not permitted.
- </p>
-<p>
- The simplest use case involves reading or writing a single buffer of a specified
- size:
- </p>
-<pre class="programlisting"><span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- In the above example, the return value of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
- meets the requirements of the ConstBufferSequence concept so that it may
- be directly passed to the socket's write function. A buffer created for modifiable
- memory also meets the requirements of the MutableBufferSequence concept.
- </p>
-<p>
- An individual buffer may be created from a builtin array, std::vector, std::array
- or boost::array of POD elements. This helps prevent buffer overruns by automatically
- determining the size of the buffer:
- </p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">d1</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
-<span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d1</span><span class="special">));</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">d2</span><span class="special">(</span><span class="number">128</span><span class="special">);</span>
-<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d2</span><span class="special">));</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">d3</span><span class="special">;</span>
-<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d3</span><span class="special">));</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">d4</span><span class="special">;</span>
-<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d4</span><span class="special">));</span>
-</pre>
-<p>
- In all three cases above, the buffers created are exactly 128 bytes long.
- Note that a vector is <span class="emphasis"><em>never</em></span> automatically resized when
- creating or using a buffer. The buffer size is determined using the vector's
- <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
- member function, and not its capacity.
- </p>
-<h5>
-<a name="boost_asio.reference.buffer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.accessing_buffer_contents"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.accessing_buffer_contents">Accessing
- Buffer Contents</a>
- </h5>
-<p>
- The contents of a buffer may be accessed using the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
-<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b2</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
-<span class="keyword">const</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">p2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<p>
- For convenience, the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> function also works
- on buffer sequences (that is, types meeting the ConstBufferSequence or MutableBufferSequence
- type requirements). In this case, the function returns the total size of
- all buffers in the sequence.
- </p>
-<h5>
-<a name="boost_asio.reference.buffer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.buffer_copying"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.buffer_copying">Buffer
- Copying</a>
- </h5>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.buffer_copy" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a>
- function may be used to copy raw bytes between individual buffers and buffer
- sequences.
- </p>
-<p>
- In particular, when used with the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> , the <a class="link" href="reference.html#boost_asio.reference.buffer_copy" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a> function can be used
- to linearise a sequence of buffers. For example:
- </p>
-<pre class="programlisting"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">const_buffer</span><span class="special">&gt;</span> <span class="identifier">buffers</span> <span class="special">=</span> <span class="special">...;</span>
-
-<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">buffers</span><span class="special">));</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_copy</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- Note that <a class="link" href="reference.html#boost_asio.reference.buffer_copy" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a> is implemented in terms
- of <code class="computeroutput"><span class="identifier">memcpy</span></code>, and consequently
- it cannot be used to copy between overlapping memory regions.
- </p>
-<h5>
-<a name="boost_asio.reference.buffer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.buffer_invalidation"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.buffer_invalidation">Buffer
- Invalidation</a>
- </h5>
-<p>
- A buffer object does not have any ownership of the memory it refers to. It
- is the responsibility of the application to ensure the memory region remains
- valid until it is no longer required for an I/O operation. When the memory
- is no longer available, the buffer is said to have been invalidated.
- </p>
-<p>
- For the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code> overloads that accept an argument
- of type std::vector, the buffer objects returned are invalidated by any vector
- operation that also invalidates all references, pointers and iterators referring
- to the elements in the sequence (C++ Std, 23.2.4)
- </p>
-<p>
- For the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code> overloads that accept an argument
- of type std::basic_string, the buffer objects returned are invalidated according
- to the rules defined for invalidation of references, pointers and iterators
- referring to elements of the sequence (C++ Std, 21.3).
- </p>
-<h5>
-<a name="boost_asio.reference.buffer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.buffer_arithmetic"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.buffer_arithmetic">Buffer
- Arithmetic</a>
- </h5>
-<p>
- Buffer objects may be manipulated using simple arithmetic in a safe way which
- helps prevent buffer overruns. Consider an array initialised as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">6</span><span class="special">&gt;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span> <span class="special">};</span>
-</pre>
-<p>
- A buffer object <code class="computeroutput"><span class="identifier">b1</span></code> created
- using:
- </p>
-<pre class="programlisting"><span class="identifier">b1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
-</pre>
-<p>
- represents the entire array, <code class="computeroutput"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span>
- <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span> <span class="special">}</span></code>. An optional
- second argument to the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
- function may be used to limit the size, in bytes, of the buffer:
- </p>
-<pre class="programlisting"><span class="identifier">b2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
-</pre>
-<p>
- such that <code class="computeroutput"><span class="identifier">b2</span></code> represents the
- data <code class="computeroutput"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
- <span class="char">'c'</span> <span class="special">}</span></code>.
- Even if the size argument exceeds the actual size of the array, the size
- of the buffer object created will be limited to the array size.
- </p>
-<p>
- An offset may be applied to an existing buffer to create a new one:
- </p>
-<pre class="programlisting"><span class="identifier">b3</span> <span class="special">=</span> <span class="identifier">b1</span> <span class="special">+</span> <span class="number">2</span><span class="special">;</span>
-</pre>
-<p>
- where <code class="computeroutput"><span class="identifier">b3</span></code> will set to represent
- <code class="computeroutput"><span class="special">{</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span>
- <span class="char">'e'</span> <span class="special">}</span></code>.
- If the offset exceeds the size of the existing buffer, the newly created
- buffer will be empty.
- </p>
-<p>
- Both an offset and size may be specified to create a buffer that corresponds
- to a specific range of bytes within an existing buffer:
- </p>
-<pre class="programlisting"><span class="identifier">b4</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">b1</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
-</pre>
-<p>
- so that <code class="computeroutput"><span class="identifier">b4</span></code> will refer to
- the bytes <code class="computeroutput"><span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span>
- <span class="char">'d'</span> <span class="special">}</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.buffer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.buffers_and_scatter_gather_i_o"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.buffers_and_scatter_gather_i_o">Buffers
- and Scatter-Gather I/O</a>
- </h5>
-<p>
- To read or write using multiple buffers (i.e. scatter-gather I/O), multiple
- buffer objects may be assigned into a container that supports the MutableBufferSequence
- (for read) or ConstBufferSequence (for write) concepts:
- </p>
-<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">d1</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">d2</span><span class="special">(</span><span class="number">128</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">d3</span><span class="special">;</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">mutable_buffer</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">bufs1</span> <span class="special">=</span> <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d1</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d2</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d3</span><span class="special">)</span> <span class="special">};</span>
-<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">bufs1</span><span class="special">);</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">const_buffer</span><span class="special">&gt;</span> <span class="identifier">bufs2</span><span class="special">;</span>
-<span class="identifier">bufs2</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d1</span><span class="special">));</span>
-<span class="identifier">bufs2</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d2</span><span class="special">));</span>
-<span class="identifier">bufs2</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d3</span><span class="special">));</span>
-<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">bufs2</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload1" title="buffer (1 of 28 overloads)">buffer (1 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer from an existing buffer.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload1.return_value">Return Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">mutable_buffers_1</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload2" title="buffer (2 of 28 overloads)">buffer (2 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer from an existing buffer.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload2.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b</span><span class="special">),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload3"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload3" title="buffer (3 of 28 overloads)">buffer (3 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer from an existing buffer.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload3.return_value">Return Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">const_buffers_1</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload4"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload4" title="buffer (4 of 28 overloads)">buffer (4 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer from an existing buffer.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload4.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b</span><span class="special">),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload5"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload5" title="buffer (5 of 28 overloads)">buffer (5 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given memory range.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload5.return_value">Return Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">mutable_buffers_1</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size_in_bytes</span><span class="special">)</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload6"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload6" title="buffer (6 of 28 overloads)">buffer (6 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given memory range.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload6.return_value">Return Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">const_buffers_1</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size_in_bytes</span><span class="special">)</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload7"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload7" title="buffer (7 of 28 overloads)">buffer (7 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload7.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
- <span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload8"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload8" title="buffer (8 of 28 overloads)">buffer (8 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload8.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload9"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload9" title="buffer (9 of 28 overloads)">buffer (9 of
- 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload9.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload9.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload9.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
- <span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload10"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload10" title="buffer (10 of 28 overloads)">buffer (10
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload10.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload10.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload10.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload11"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload11" title="buffer (11 of 28 overloads)">buffer (11
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload11.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload11.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload11.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload12"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload12" title="buffer (12 of 28 overloads)">buffer (12
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload12.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload12.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload12.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload13"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload13" title="buffer (13 of 28 overloads)">buffer (13
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload13.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload13.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload13.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload14"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload14" title="buffer (14 of 28 overloads)">buffer (14
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload14.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload14.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload14.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload15"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload15" title="buffer (15 of 28 overloads)">buffer (15
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload15.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload15.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload15.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload16"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload16" title="buffer (16 of 28 overloads)">buffer (16
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload16.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload16.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload16.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload17"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload17" title="buffer (17 of 28 overloads)">buffer (17
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload17.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload17.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload17.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload18"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload18" title="buffer (18 of 28 overloads)">buffer (18
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload18.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload18.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload18.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload19"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload19" title="buffer (19 of 28 overloads)">buffer (19
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload19.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload19.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload19.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload20"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload20" title="buffer (20 of 28 overloads)">buffer (20
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload20.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload20.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload20.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload21"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload21" title="buffer (21 of 28 overloads)">buffer (21
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload21.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload21.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload21.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload22"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload22" title="buffer (22 of 28 overloads)">buffer (22
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD array.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload22.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload22.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload22.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload23"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload23" title="buffer (23 of 28 overloads)">buffer (23
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD vector.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload23.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload23.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload23.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload23.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload23.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload23.remarks">Remarks</a>
- </h6>
-<p>
- The buffer is invalidated by any vector operation that would also invalidate
- iterators.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload24"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload24" title="buffer (24 of 28 overloads)">buffer (24
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new modifiable buffer that represents the given POD vector.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload24.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload24.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload24.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
- to:
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload24.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload24.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload24.remarks">Remarks</a>
- </h6>
-<p>
- The buffer is invalidated by any vector operation that would also invalidate
- iterators.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload25"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload25" title="buffer (25 of 28 overloads)">buffer (25
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD vector.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload25.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload25.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload25.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload25.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload25.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload25.remarks">Remarks</a>
- </h6>
-<p>
- The buffer is invalidated by any vector operation that would also invalidate
- iterators.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload26"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload26" title="buffer (26 of 28 overloads)">buffer (26
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given POD vector.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload26.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload26.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload26.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload26.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload26.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload26.remarks">Remarks</a>
- </h6>
-<p>
- The buffer is invalidated by any vector operation that would also invalidate
- iterators.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload27"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload27" title="buffer (27 of 28 overloads)">buffer (27
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given string.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload27.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload27.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload27.return_value">Return Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">const_buffers_1</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">Elem</span><span class="special">))</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer.overload27.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload27.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload27.remarks">Remarks</a>
- </h6>
-<p>
- The buffer is invalidated by any non-const operation called on the given
- string object.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer.overload28"></a><a class="link" href="reference.html#boost_asio.reference.buffer.overload28" title="buffer (28 of 28 overloads)">buffer (28
- of 28 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a new non-modifiable buffer that represents the given string.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload28.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload28.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload28.return_value">Return Value</a>
- </h6>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
- value equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
- <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">Elem</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer.overload28.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer.overload28.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer.overload28.remarks">Remarks</a>
- </h6>
-<p>
- The buffer is invalidated by any non-const operation called on the given
- string object.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffer_cast"></a><a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast">buffer_cast</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_cast.overload1">buffer_cast
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_cast.overload2">buffer_cast
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp109361936"></a>
-The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function is used to obtain
- a pointer to the underlying memory region associated with a buffer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
-<span class="identifier">PointerToPodType</span> <a class="link" href="reference.html#boost_asio.reference.buffer_cast.overload1" title="buffer_cast (1 of 2 overloads)">buffer_cast</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_cast.overload1" title="buffer_cast (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
-<span class="identifier">PointerToPodType</span> <a class="link" href="reference.html#boost_asio.reference.buffer_cast.overload2" title="buffer_cast (2 of 2 overloads)">buffer_cast</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_cast.overload2" title="buffer_cast (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffer_cast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_cast.examples_"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_cast.examples_">Examples:</a>
- </h5>
-<p>
- To access the memory of a non-modifiable buffer, use:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-</pre>
-<p>
- To access the memory of a modifiable buffer, use:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b2</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<h5>
-<a name="boost_asio.reference.buffer_cast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_cast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_cast.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_cast.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffer_cast.overload1" title="buffer_cast (1 of 2 overloads)">buffer_cast
- (1 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Cast a non-modifiable buffer to a specified pointer to POD type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
-<span class="identifier">PointerToPodType</span> <span class="identifier">buffer_cast</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_cast.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffer_cast.overload2" title="buffer_cast (2 of 2 overloads)">buffer_cast
- (2 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Cast a non-modifiable buffer to a specified pointer to POD type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
-<span class="identifier">PointerToPodType</span> <span class="identifier">buffer_cast</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffer_copy"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy" title="buffer_copy">buffer_copy</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload1">buffer_copy
- (1 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload2">buffer_copy
- (2 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload3">buffer_copy
- (3 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload4">buffer_copy
- (4 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload5">buffer_copy
- (5 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload6">buffer_copy
- (6 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload7">buffer_copy
- (7 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload8">buffer_copy
- (8 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload9">buffer_copy
- (9 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload10">buffer_copy
- (10 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload11">buffer_copy
- (11 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload12">buffer_copy
- (12 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload13">buffer_copy
- (13 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload14">buffer_copy
- (14 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload15">buffer_copy
- (15 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload16">buffer_copy
- (16 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload17">buffer_copy
- (17 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload18">buffer_copy
- (18 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload19">buffer_copy
- (19 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload20">buffer_copy
- (20 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload21">buffer_copy
- (21 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload22">buffer_copy
- (22 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload23">buffer_copy
- (23 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload24">buffer_copy
- (24 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload25">buffer_copy
- (25 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload26">buffer_copy
- (26 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload27">buffer_copy
- (27 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload28">buffer_copy
- (28 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload29">buffer_copy
- (29 of 30 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_copy.overload30">buffer_copy
- (30 of 30 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp192344304"></a>
-The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_copy</span></code> function is used to copy bytes
- from a source buffer (or buffer sequence) to a target buffer (or buffer sequence).
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload1" title="buffer_copy (1 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload1" title="buffer_copy (1 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload2" title="buffer_copy (2 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload2" title="buffer_copy (2 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload3" title="buffer_copy (3 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload3" title="buffer_copy (3 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload4" title="buffer_copy (4 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload4" title="buffer_copy (4 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload5" title="buffer_copy (5 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload5" title="buffer_copy (5 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload6" title="buffer_copy (6 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload6" title="buffer_copy (6 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload7" title="buffer_copy (7 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload7" title="buffer_copy (7 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload8" title="buffer_copy (8 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload8" title="buffer_copy (8 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload9" title="buffer_copy (9 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload9" title="buffer_copy (9 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload10" title="buffer_copy (10 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload10" title="buffer_copy (10 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload11" title="buffer_copy (11 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload11" title="buffer_copy (11 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload12" title="buffer_copy (12 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload12" title="buffer_copy (12 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload13" title="buffer_copy (13 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload13" title="buffer_copy (13 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload14" title="buffer_copy (14 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload14" title="buffer_copy (14 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload15" title="buffer_copy (15 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload15" title="buffer_copy (15 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload16" title="buffer_copy (16 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload16" title="buffer_copy (16 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload17" title="buffer_copy (17 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload17" title="buffer_copy (17 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload18" title="buffer_copy (18 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload18" title="buffer_copy (18 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload19" title="buffer_copy (19 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload19" title="buffer_copy (19 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload20" title="buffer_copy (20 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload20" title="buffer_copy (20 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload21" title="buffer_copy (21 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload21" title="buffer_copy (21 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload22" title="buffer_copy (22 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload22" title="buffer_copy (22 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload23" title="buffer_copy (23 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload23" title="buffer_copy (23 of 30 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload24" title="buffer_copy (24 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload24" title="buffer_copy (24 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload25" title="buffer_copy (25 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload25" title="buffer_copy (25 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload26" title="buffer_copy (26 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload26" title="buffer_copy (26 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload27" title="buffer_copy (27 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload27" title="buffer_copy (27 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload28" title="buffer_copy (28 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload28" title="buffer_copy (28 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload29" title="buffer_copy (29 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload29" title="buffer_copy (29 of 30 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload30" title="buffer_copy (30 of 30 overloads)">buffer_copy</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload30" title="buffer_copy (30 of 30 overloads)">more...</a></em></span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">buffer_copy</span></code> function
- is available in two forms:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A 2-argument form: <code class="computeroutput"><span class="identifier">buffer_copy</span><span class="special">(</span><span class="identifier">target</span><span class="special">,</span> <span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- A 3-argument form: <code class="computeroutput"><span class="identifier">buffer_copy</span><span class="special">(</span><span class="identifier">target</span><span class="special">,</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">max_bytes_to_copy</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- Both forms return the number of bytes actually copied. The number of bytes
- copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">If</span></code> specified, <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>.
- </li>
-</ul></div>
-<p>
- This prevents buffer overflow, regardless of the buffer sizes used in the
- copy operation.
- </p>
-<p>
- Note that <a class="link" href="reference.html#boost_asio.reference.buffer_copy" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a> is implemented in terms
- of <code class="computeroutput"><span class="identifier">memcpy</span></code>, and consequently
- it cannot be used to copy between overlapping memory regions.
- </p>
-<h5>
-<a name="boost_asio.reference.buffer_copy.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload1" title="buffer_copy (1 of 30 overloads)">buffer_copy
- (1 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload2" title="buffer_copy (2 of 30 overloads)">buffer_copy
- (2 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload3"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload3" title="buffer_copy (3 of 30 overloads)">buffer_copy
- (3 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload4"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload4" title="buffer_copy (4 of 30 overloads)">buffer_copy
- (4 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload4.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload4.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload4.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload4.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload5"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload5" title="buffer_copy (5 of 30 overloads)">buffer_copy
- (5 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer sequence to a target buffer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer sequence representing the memory regions
- from which the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload5.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload5.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload6"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload6" title="buffer_copy (6 of 30 overloads)">buffer_copy
- (6 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload6.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload6.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload7"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload7" title="buffer_copy (7 of 30 overloads)">buffer_copy
- (7 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload7.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload7.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload7.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload8"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload8" title="buffer_copy (8 of 30 overloads)">buffer_copy
- (8 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload8.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload8.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload8.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload8.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload9"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload9" title="buffer_copy (9 of 30 overloads)">buffer_copy
- (9 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload9.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload9.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload9.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload9.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload9.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload9.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload9.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload9.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload9.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload10"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload10" title="buffer_copy (10 of 30 overloads)">buffer_copy
- (10 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer sequence to a target buffer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload10.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload10.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload10.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer sequence representing the memory regions
- from which the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload10.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload10.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload10.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload10.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload10.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload10.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload11"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload11" title="buffer_copy (11 of 30 overloads)">buffer_copy
- (11 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload11.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload11.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload11.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload11.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload11.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload11.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload11.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload11.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload11.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload12"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload12" title="buffer_copy (12 of 30 overloads)">buffer_copy
- (12 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload12.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload12.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload12.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload12.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload12.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload12.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload12.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload12.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload12.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload13"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload13" title="buffer_copy (13 of 30 overloads)">buffer_copy
- (13 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload13.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload13.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload13.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload13.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload13.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload13.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload13.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload13.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload13.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload14"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload14" title="buffer_copy (14 of 30 overloads)">buffer_copy
- (14 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer to a target buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload14.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload14.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload14.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload14.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload14.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload14.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload14.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload14.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload14.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload15"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload15" title="buffer_copy (15 of 30 overloads)">buffer_copy
- (15 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies bytes from a source buffer sequence to a target buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload15.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload15.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload15.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer sequence representing the memory regions
- from which the bytes will be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload15.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload15.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload15.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload15.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload15.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload15.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload16"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload16" title="buffer_copy (16 of 30 overloads)">buffer_copy
- (16 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload16.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload16.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload16.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload16.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload16.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload16.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload16.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload16.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload16.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload17"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload17" title="buffer_copy (17 of 30 overloads)">buffer_copy
- (17 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload17.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload17.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload17.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload17.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload17.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload17.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload17.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload17.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload17.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload18"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload18" title="buffer_copy (18 of 30 overloads)">buffer_copy
- (18 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload18.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload18.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload18.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload18.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload18.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload18.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload18.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload18.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload18.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload19"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload19" title="buffer_copy (19 of 30 overloads)">buffer_copy
- (19 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload19.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload19.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload19.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload19.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload19.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload19.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload19.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload19.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload19.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload20"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload20" title="buffer_copy (20 of 30 overloads)">buffer_copy
- (20 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer sequence to a target
- buffer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload20.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload20.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload20.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer sequence representing the memory regions
- from which the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload20.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload20.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload20.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload20.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload20.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload20.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload21"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload21" title="buffer_copy (21 of 30 overloads)">buffer_copy
- (21 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload21.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload21.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload21.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload21.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload21.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload21.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload21.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload21.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload21.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload22"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload22" title="buffer_copy (22 of 30 overloads)">buffer_copy
- (22 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload22.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload22.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload22.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload22.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload22.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload22.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload22.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload22.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload22.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload23"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload23" title="buffer_copy (23 of 30 overloads)">buffer_copy
- (23 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload23.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload23.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload23.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload23.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload23.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload23.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload23.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload23.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload23.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload24"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload24" title="buffer_copy (24 of 30 overloads)">buffer_copy
- (24 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload24.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload24.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload24.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload24.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload24.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload24.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload24.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload24.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload24.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload25"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload25" title="buffer_copy (25 of 30 overloads)">buffer_copy
- (25 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer sequence to a target
- buffer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload25.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload25.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload25.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region to which the bytes
- will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer sequence representing the memory regions
- from which the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload25.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload25.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload25.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload25.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload25.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload25.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload26"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload26" title="buffer_copy (26 of 30 overloads)">buffer_copy
- (26 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer
- sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload26.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload26.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload26.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload26.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload26.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload26.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload26.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload26.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload26.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload27"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload27" title="buffer_copy (27 of 30 overloads)">buffer_copy
- (27 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer
- sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload27.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload27.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload27.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer representing the memory region from which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload27.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload27.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload27.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload27.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload27.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload27.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload28"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload28" title="buffer_copy (28 of 30 overloads)">buffer_copy
- (28 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer
- sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload28.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload28.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload28.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload28.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload28.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload28.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload28.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload28.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload28.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload29"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload29" title="buffer_copy (29 of 30 overloads)">buffer_copy
- (29 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer to a target buffer
- sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload29.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload29.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload29.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A modifiable buffer representing the memory region from which the
- bytes will be copied. The contents of the source buffer will not
- be modified.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload29.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload29.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload29.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload29.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload29.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload29.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_copy.overload30"></a><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload30" title="buffer_copy (30 of 30 overloads)">buffer_copy
- (30 of 30 overloads)</a>
-</h4></div></div></div>
-<p>
- Copies a limited number of bytes from a source buffer sequence to a target
- buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload30.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload30.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload30.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">target</span></dt>
-<dd><p>
- A modifiable buffer sequence representing the memory regions to which
- the bytes will be copied.
- </p></dd>
-<dt><span class="term">source</span></dt>
-<dd><p>
- A non-modifiable buffer sequence representing the memory regions
- from which the bytes will be copied.
- </p></dd>
-<dt><span class="term">max_bytes_to_copy</span></dt>
-<dd><p>
- The maximum number of bytes to be copied.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload30.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload30.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload30.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes copied.
- </p>
-<h6>
-<a name="boost_asio.reference.buffer_copy.overload30.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload30.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_copy.overload30.remarks">Remarks</a>
- </h6>
-<p>
- The number of bytes copied is the lesser of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
- </li>
-</ul></div>
-<p>
- This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
- and consequently it cannot be used to copy between overlapping memory regions.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size">buffer_size</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_size.overload1">buffer_size
- (1 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_size.overload2">buffer_size
- (2 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_size.overload3">buffer_size
- (3 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_size.overload4">buffer_size
- (4 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffer_size.overload5">buffer_size
- (5 of 5 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp193792272"></a>
-The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span></code> function determines the total
- number of bytes in a buffer or buffer sequence.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload1" title="buffer_size (1 of 5 overloads)">buffer_size</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload1" title="buffer_size (1 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload2" title="buffer_size (2 of 5 overloads)">buffer_size</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload2" title="buffer_size (2 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload3" title="buffer_size (3 of 5 overloads)">buffer_size</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload3" title="buffer_size (3 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload4" title="buffer_size (4 of 5 overloads)">buffer_size</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload4" title="buffer_size (4 of 5 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload5" title="buffer_size (5 of 5 overloads)">buffer_size</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffer_size.overload5" title="buffer_size (5 of 5 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffer_size.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_size.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffer_size.overload1" title="buffer_size (1 of 5 overloads)">buffer_size
- (1 of 5 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the number of bytes in a modifiable buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_size.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffer_size.overload2" title="buffer_size (2 of 5 overloads)">buffer_size
- (2 of 5 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the number of bytes in a modifiable buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_size.overload3"></a><a class="link" href="reference.html#boost_asio.reference.buffer_size.overload3" title="buffer_size (3 of 5 overloads)">buffer_size
- (3 of 5 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the number of bytes in a non-modifiable buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_size.overload4"></a><a class="link" href="reference.html#boost_asio.reference.buffer_size.overload4" title="buffer_size (4 of 5 overloads)">buffer_size
- (4 of 5 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the number of bytes in a non-modifiable buffer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffer_size.overload5"></a><a class="link" href="reference.html#boost_asio.reference.buffer_size.overload5" title="buffer_size (5 of 5 overloads)">buffer_size
- (5 of 5 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the total number of bytes in a buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">BufferSequence</span></code> template
- parameter may meet either of the <code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code>
- or <code class="computeroutput"><span class="identifier">MutableBufferSequence</span></code>
- type requirements.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffered_read_stream"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream" title="buffered_read_stream">buffered_read_stream</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.async_fill">buffered_read_stream::async_fill</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.async_read_some">buffered_read_stream::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.async_write_some">buffered_read_stream::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream">buffered_read_stream::buffered_read_stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.close">buffered_read_stream::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.default_buffer_size">buffered_read_stream::default_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.fill">buffered_read_stream::fill</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.get_io_service">buffered_read_stream::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.in_avail">buffered_read_stream::in_avail</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer">buffered_read_stream::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer_type">buffered_read_stream::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.next_layer">buffered_read_stream::next_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.next_layer_type">buffered_read_stream::next_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.peek">buffered_read_stream::peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.read_some">buffered_read_stream::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.write_some">buffered_read_stream::write_some</a></span></dt>
-</dl></div>
-<p>
- Adds buffering to the read-related operations of a stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">buffered_read_stream</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffered_read_stream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer_type" title="buffered_read_stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer_type" title="buffered_read_stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the next layer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffered_read_stream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.async_fill" title="buffered_read_stream::async_fill"><span class="bold"><strong>async_fill</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous fill.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.async_read_some" title="buffered_read_stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read. The buffer into which the data will
- be read must be valid for the lifetime of the asynchronous operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.async_write_some" title="buffered_read_stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write. The data being written must be valid
- for the lifetime of the asynchronous operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream" title="buffered_read_stream::buffered_read_stream"><span class="bold"><strong>buffered_read_stream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct, passing the specified argument to initialise the next
- layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close" title="buffered_read_stream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill" title="buffered_read_stream::fill"><span class="bold"><strong>fill</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Fill the buffer with some data. Returns the number of bytes placed
- in the buffer as a result of the operation. Throws an exception
- on failure.
- </p>
- <p>
- Fill the buffer with some data. Returns the number of bytes placed
- in the buffer as a result of the operation, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.get_io_service" title="buffered_read_stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail" title="buffered_read_stream::in_avail"><span class="bold"><strong>in_avail</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the amount of data that may be read without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer" title="buffered_read_stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer" title="buffered_read_stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the next layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek" title="buffered_read_stream::peek"><span class="bold"><strong>peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at the incoming data on the stream. Returns the number of
- bytes read. Throws an exception on failure.
- </p>
- <p>
- Peek at the incoming data on the stream. Returns the number of
- bytes read, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some" title="buffered_read_stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream. Returns the number of bytes read.
- Throws an exception on failure.
- </p>
- <p>
- Read some data from the stream. Returns the number of bytes read
- or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some" title="buffered_read_stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data to the stream. Returns the number of bytes
- written. Throws an exception on failure.
- </p>
- <p>
- Write the given data to the stream. Returns the number of bytes
- written, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffered_read_stream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.default_buffer_size" title="buffered_read_stream::default_buffer_size"><span class="bold"><strong>default_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The default buffer size.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream" title="buffered_read_stream"><code class="computeroutput"><span class="identifier">buffered_read_stream</span></code></a> class template
- can be used to add buffering to the synchronous and asynchronous read operations
- of a stream.
- </p>
-<h5>
-<a name="boost_asio.reference.buffered_read_stream.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.buffered_read_stream.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_read_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.async_fill"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.async_fill" title="buffered_read_stream::async_fill">buffered_read_stream::async_fill</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp193987536"></a>
-Start an asynchronous fill.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_fill</span><span class="special">(</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.async_read_some" title="buffered_read_stream::async_read_some">buffered_read_stream::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp193999104"></a>
-Start an asynchronous read. The buffer
- into which the data will be read must be valid for the lifetime of the
- asynchronous operation.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.async_write_some" title="buffered_read_stream::async_write_some">buffered_read_stream::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194016048"></a>
-Start an asynchronous write. The data
- being written must be valid for the lifetime of the asynchronous operation.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.buffered_read_stream"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream" title="buffered_read_stream::buffered_read_stream">buffered_read_stream::buffered_read_stream</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1">buffered_read_stream::buffered_read_stream
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2">buffered_read_stream::buffered_read_stream
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194032976"></a>
-Construct, passing the specified
- argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">buffered_read_stream</a><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">buffered_read_stream</a><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">buffered_read_stream::buffered_read_stream
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct, passing the specified argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">buffered_read_stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">buffered_read_stream::buffered_read_stream
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct, passing the specified argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">buffered_read_stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.close"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close" title="buffered_read_stream::close">buffered_read_stream::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.close.overload1">buffered_read_stream::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.close.overload2">buffered_read_stream::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194080384"></a>
-Close the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close.overload1" title="buffered_read_stream::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close.overload1" title="buffered_read_stream::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close.overload2" title="buffered_read_stream::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close.overload2" title="buffered_read_stream::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close.overload1" title="buffered_read_stream::close (1 of 2 overloads)">buffered_read_stream::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.close.overload2" title="buffered_read_stream::close (2 of 2 overloads)">buffered_read_stream::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the stream.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.default_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.default_buffer_size" title="buffered_read_stream::default_buffer_size">buffered_read_stream::default_buffer_size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194114736"></a>
-The default buffer size.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">default_buffer_size</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.fill"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill" title="buffered_read_stream::fill">buffered_read_stream::fill</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload1">buffered_read_stream::fill
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload2">buffered_read_stream::fill
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194124368"></a>
-Fill the buffer with some data. Returns the number
- of bytes placed in the buffer as a result of the operation. Throws an exception
- on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload1" title="buffered_read_stream::fill (1 of 2 overloads)">fill</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload1" title="buffered_read_stream::fill (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Fill the buffer with some data. Returns the number of bytes placed in the
- buffer as a result of the operation, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload2" title="buffered_read_stream::fill (2 of 2 overloads)">fill</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload2" title="buffered_read_stream::fill (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.fill.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload1" title="buffered_read_stream::fill (1 of 2 overloads)">buffered_read_stream::fill
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Fill the buffer with some data. Returns the number of bytes placed in
- the buffer as a result of the operation. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.fill.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.fill.overload2" title="buffered_read_stream::fill (2 of 2 overloads)">buffered_read_stream::fill
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Fill the buffer with some data. Returns the number of bytes placed in
- the buffer as a result of the operation, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.get_io_service" title="buffered_read_stream::get_io_service">buffered_read_stream::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194159888"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.in_avail"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail" title="buffered_read_stream::in_avail">buffered_read_stream::in_avail</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload1">buffered_read_stream::in_avail
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload2">buffered_read_stream::in_avail
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194170208"></a>
-Determine the amount of data that may be read
- without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload1" title="buffered_read_stream::in_avail (1 of 2 overloads)">in_avail</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload1" title="buffered_read_stream::in_avail (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload2" title="buffered_read_stream::in_avail (2 of 2 overloads)">in_avail</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload2" title="buffered_read_stream::in_avail (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.in_avail.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload1" title="buffered_read_stream::in_avail (1 of 2 overloads)">buffered_read_stream::in_avail
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the amount of data that may be read without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.in_avail.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.in_avail.overload2" title="buffered_read_stream::in_avail (2 of 2 overloads)">buffered_read_stream::in_avail
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the amount of data that may be read without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer" title="buffered_read_stream::lowest_layer">buffered_read_stream::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload1">buffered_read_stream::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload2">buffered_read_stream::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194204512"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload1" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload1" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload2" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload2" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload1" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">buffered_read_stream::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer.overload2" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">buffered_read_stream::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer_type" title="buffered_read_stream::lowest_layer_type">buffered_read_stream::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194232688"></a>
-The type of the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffered_read_stream.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_read_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.next_layer"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer" title="buffered_read_stream::next_layer">buffered_read_stream::next_layer</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194246128"></a>
-Get a reference to the next layer.
- </p>
-<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.next_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer_type" title="buffered_read_stream::next_layer_type">buffered_read_stream::next_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194252624"></a>
-The type of the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffered_read_stream.next_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.next_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.next_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_read_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.peek"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek" title="buffered_read_stream::peek">buffered_read_stream::peek</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload1">buffered_read_stream::peek
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload2">buffered_read_stream::peek
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194267424"></a>
-Peek at the incoming data on the stream. Returns
- the number of bytes read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload1" title="buffered_read_stream::peek (1 of 2 overloads)">peek</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload1" title="buffered_read_stream::peek (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes read,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload2" title="buffered_read_stream::peek (2 of 2 overloads)">peek</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload2" title="buffered_read_stream::peek (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.peek.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload1" title="buffered_read_stream::peek (1 of 2 overloads)">buffered_read_stream::peek
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes
- read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.peek.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.peek.overload2" title="buffered_read_stream::peek (2 of 2 overloads)">buffered_read_stream::peek
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes
- read, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.read_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some" title="buffered_read_stream::read_some">buffered_read_stream::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload1">buffered_read_stream::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload2">buffered_read_stream::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194329344"></a>
-Read some data from the stream. Returns the
- number of bytes read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload1" title="buffered_read_stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload1" title="buffered_read_stream::read_some (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Read some data from the stream. Returns the number of bytes read or 0 if
- an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload2" title="buffered_read_stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload2" title="buffered_read_stream::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload1" title="buffered_read_stream::read_some (1 of 2 overloads)">buffered_read_stream::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream. Returns the number of bytes read. Throws
- an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.read_some.overload2" title="buffered_read_stream::read_some (2 of 2 overloads)">buffered_read_stream::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream. Returns the number of bytes read or 0
- if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_read_stream.write_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some" title="buffered_read_stream::write_some">buffered_read_stream::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload1">buffered_read_stream::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload2">buffered_read_stream::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194391376"></a>
-Write the given data to the stream. Returns
- the number of bytes written. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload1" title="buffered_read_stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload1" title="buffered_read_stream::write_some (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Write the given data to the stream. Returns the number of bytes written,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload2" title="buffered_read_stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload2" title="buffered_read_stream::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload1" title="buffered_read_stream::write_some (1 of 2 overloads)">buffered_read_stream::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write the given data to the stream. Returns the number of bytes written.
- Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_read_stream.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_read_stream.write_some.overload2" title="buffered_read_stream::write_some (2 of 2 overloads)">buffered_read_stream::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write the given data to the stream. Returns the number of bytes written,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffered_stream"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream" title="buffered_stream">buffered_stream</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.async_fill">buffered_stream::async_fill</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.async_flush">buffered_stream::async_flush</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.async_read_some">buffered_stream::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.async_write_some">buffered_stream::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.buffered_stream">buffered_stream::buffered_stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.close">buffered_stream::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.fill">buffered_stream::fill</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.flush">buffered_stream::flush</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.get_io_service">buffered_stream::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.in_avail">buffered_stream::in_avail</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.lowest_layer">buffered_stream::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.lowest_layer_type">buffered_stream::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.next_layer">buffered_stream::next_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.next_layer_type">buffered_stream::next_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.peek">buffered_stream::peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.read_some">buffered_stream::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.write_some">buffered_stream::write_some</a></span></dt>
-</dl></div>
-<p>
- Adds buffering to the read- and write-related operations of a stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">buffered_stream</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffered_stream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_stream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_stream.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer_type" title="buffered_stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.next_layer_type" title="buffered_stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the next layer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffered_stream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_stream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_stream.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_fill" title="buffered_stream::async_fill"><span class="bold"><strong>async_fill</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous fill.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_flush" title="buffered_stream::async_flush"><span class="bold"><strong>async_flush</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous flush.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_read_some" title="buffered_stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read. The buffer into which the data will
- be read must be valid for the lifetime of the asynchronous operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_write_some" title="buffered_stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write. The data being written must be valid
- for the lifetime of the asynchronous operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream" title="buffered_stream::buffered_stream"><span class="bold"><strong>buffered_stream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct, passing the specified argument to initialise the next
- layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.close" title="buffered_stream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill" title="buffered_stream::fill"><span class="bold"><strong>fill</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Fill the buffer with some data. Returns the number of bytes placed
- in the buffer as a result of the operation. Throws an exception
- on failure.
- </p>
- <p>
- Fill the buffer with some data. Returns the number of bytes placed
- in the buffer as a result of the operation, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush" title="buffered_stream::flush"><span class="bold"><strong>flush</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation.
- Throws an exception on failure.
- </p>
- <p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation,
- or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.get_io_service" title="buffered_stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail" title="buffered_stream::in_avail"><span class="bold"><strong>in_avail</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the amount of data that may be read without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer" title="buffered_stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.next_layer" title="buffered_stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the next layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek" title="buffered_stream::peek"><span class="bold"><strong>peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at the incoming data on the stream. Returns the number of
- bytes read. Throws an exception on failure.
- </p>
- <p>
- Peek at the incoming data on the stream. Returns the number of
- bytes read, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some" title="buffered_stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream. Returns the number of bytes read.
- Throws an exception on failure.
- </p>
- <p>
- Read some data from the stream. Returns the number of bytes read
- or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some" title="buffered_stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data to the stream. Returns the number of bytes
- written. Throws an exception on failure.
- </p>
- <p>
- Write the given data to the stream. Returns the number of bytes
- written, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.buffered_stream" title="buffered_stream"><code class="computeroutput"><span class="identifier">buffered_stream</span></code></a>
- class template can be used to add buffering to the synchronous and asynchronous
- read and write operations of a stream.
- </p>
-<h5>
-<a name="boost_asio.reference.buffered_stream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_stream.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_stream.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.buffered_stream.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_stream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_stream.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.async_fill"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_fill" title="buffered_stream::async_fill">buffered_stream::async_fill</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194551424"></a>
-Start an asynchronous fill.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_fill</span><span class="special">(</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.async_flush"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_flush" title="buffered_stream::async_flush">buffered_stream::async_flush</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194562976"></a>
-Start an asynchronous flush.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_flush</span><span class="special">(</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_read_some" title="buffered_stream::async_read_some">buffered_stream::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194574272"></a>
-Start an asynchronous read. The buffer into
- which the data will be read must be valid for the lifetime of the asynchronous
- operation.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.async_write_some" title="buffered_stream::async_write_some">buffered_stream::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194591248"></a>
-Start an asynchronous write. The data being
- written must be valid for the lifetime of the asynchronous operation.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.buffered_stream"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream" title="buffered_stream::buffered_stream">buffered_stream::buffered_stream</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload1">buffered_stream::buffered_stream
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload2">buffered_stream::buffered_stream
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194608096"></a>
-Construct, passing the specified argument
- to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload1" title="buffered_stream::buffered_stream (1 of 2 overloads)">buffered_stream</a><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload1" title="buffered_stream::buffered_stream (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload2" title="buffered_stream::buffered_stream (2 of 2 overloads)">buffered_stream</a><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_buffer_size</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_buffer_size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload2" title="buffered_stream::buffered_stream (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.buffered_stream.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload1" title="buffered_stream::buffered_stream (1 of 2 overloads)">buffered_stream::buffered_stream
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct, passing the specified argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">buffered_stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.buffered_stream.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.buffered_stream.overload2" title="buffered_stream::buffered_stream (2 of 2 overloads)">buffered_stream::buffered_stream
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct, passing the specified argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">buffered_stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_buffer_size</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_buffer_size</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.close"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.close" title="buffered_stream::close">buffered_stream::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.close.overload1">buffered_stream::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.close.overload2">buffered_stream::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194661872"></a>
-Close the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.close.overload1" title="buffered_stream::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.close.overload1" title="buffered_stream::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.close.overload2" title="buffered_stream::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.close.overload2" title="buffered_stream::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.close.overload1" title="buffered_stream::close (1 of 2 overloads)">buffered_stream::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.close.overload2" title="buffered_stream::close (2 of 2 overloads)">buffered_stream::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the stream.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.fill"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill" title="buffered_stream::fill">buffered_stream::fill</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.fill.overload1">buffered_stream::fill
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.fill.overload2">buffered_stream::fill
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194695760"></a>
-Fill the buffer with some data. Returns the number of
- bytes placed in the buffer as a result of the operation. Throws an exception
- on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill.overload1" title="buffered_stream::fill (1 of 2 overloads)">fill</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill.overload1" title="buffered_stream::fill (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Fill the buffer with some data. Returns the number of bytes placed in the
- buffer as a result of the operation, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill.overload2" title="buffered_stream::fill (2 of 2 overloads)">fill</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill.overload2" title="buffered_stream::fill (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.fill.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill.overload1" title="buffered_stream::fill (1 of 2 overloads)">buffered_stream::fill
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Fill the buffer with some data. Returns the number of bytes placed in
- the buffer as a result of the operation. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.fill.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.fill.overload2" title="buffered_stream::fill (2 of 2 overloads)">buffered_stream::fill
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Fill the buffer with some data. Returns the number of bytes placed in
- the buffer as a result of the operation, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.flush"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush" title="buffered_stream::flush">buffered_stream::flush</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.flush.overload1">buffered_stream::flush
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.flush.overload2">buffered_stream::flush
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194730976"></a>
-Flush all data from the buffer to the next layer. Returns
- the number of bytes written to the next layer on the last write operation.
- Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush.overload1" title="buffered_stream::flush (1 of 2 overloads)">flush</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush.overload1" title="buffered_stream::flush (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Flush all data from the buffer to the next layer. Returns the number of
- bytes written to the next layer on the last write operation, or 0 if an
- error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush.overload2" title="buffered_stream::flush (2 of 2 overloads)">flush</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush.overload2" title="buffered_stream::flush (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.flush.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush.overload1" title="buffered_stream::flush (1 of 2 overloads)">buffered_stream::flush
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation. Throws
- an exception on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.flush.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.flush.overload2" title="buffered_stream::flush (2 of 2 overloads)">buffered_stream::flush
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation, or 0
- if an error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.get_io_service" title="buffered_stream::get_io_service">buffered_stream::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194766416"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.in_avail"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail" title="buffered_stream::in_avail">buffered_stream::in_avail</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload1">buffered_stream::in_avail
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload2">buffered_stream::in_avail
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194776816"></a>
-Determine the amount of data that may be read without
- blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload1" title="buffered_stream::in_avail (1 of 2 overloads)">in_avail</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload1" title="buffered_stream::in_avail (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload2" title="buffered_stream::in_avail (2 of 2 overloads)">in_avail</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload2" title="buffered_stream::in_avail (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.in_avail.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload1" title="buffered_stream::in_avail (1 of 2 overloads)">buffered_stream::in_avail
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the amount of data that may be read without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.in_avail.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.in_avail.overload2" title="buffered_stream::in_avail (2 of 2 overloads)">buffered_stream::in_avail
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the amount of data that may be read without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer" title="buffered_stream::lowest_layer">buffered_stream::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload1">buffered_stream::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload2">buffered_stream::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194810704"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload1" title="buffered_stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload1" title="buffered_stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload2" title="buffered_stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload2" title="buffered_stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload1" title="buffered_stream::lowest_layer (1 of 2 overloads)">buffered_stream::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer.overload2" title="buffered_stream::lowest_layer (2 of 2 overloads)">buffered_stream::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer_type" title="buffered_stream::lowest_layer_type">buffered_stream::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194838800"></a>
-The type of the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffered_stream.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_stream.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_stream.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.next_layer"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.next_layer" title="buffered_stream::next_layer">buffered_stream::next_layer</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194852160"></a>
-Get a reference to the next layer.
- </p>
-<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.next_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.next_layer_type" title="buffered_stream::next_layer_type">buffered_stream::next_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp194858720"></a>
-The type of the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffered_stream.next_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_stream.next_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_stream.next_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.peek"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek" title="buffered_stream::peek">buffered_stream::peek</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.peek.overload1">buffered_stream::peek
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.peek.overload2">buffered_stream::peek
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194873216"></a>
-Peek at the incoming data on the stream. Returns the
- number of bytes read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek.overload1" title="buffered_stream::peek (1 of 2 overloads)">peek</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek.overload1" title="buffered_stream::peek (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes read,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek.overload2" title="buffered_stream::peek (2 of 2 overloads)">peek</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek.overload2" title="buffered_stream::peek (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.peek.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek.overload1" title="buffered_stream::peek (1 of 2 overloads)">buffered_stream::peek
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes
- read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.peek.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.peek.overload2" title="buffered_stream::peek (2 of 2 overloads)">buffered_stream::peek
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes
- read, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.read_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some" title="buffered_stream::read_some">buffered_stream::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.read_some.overload1">buffered_stream::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.read_some.overload2">buffered_stream::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194934976"></a>
-Read some data from the stream. Returns the number
- of bytes read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some.overload1" title="buffered_stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some.overload1" title="buffered_stream::read_some (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Read some data from the stream. Returns the number of bytes read or 0 if
- an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some.overload2" title="buffered_stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some.overload2" title="buffered_stream::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some.overload1" title="buffered_stream::read_some (1 of 2 overloads)">buffered_stream::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream. Returns the number of bytes read. Throws
- an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.read_some.overload2" title="buffered_stream::read_some (2 of 2 overloads)">buffered_stream::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream. Returns the number of bytes read or 0
- if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_stream.write_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some" title="buffered_stream::write_some">buffered_stream::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.write_some.overload1">buffered_stream::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_stream.write_some.overload2">buffered_stream::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp194996864"></a>
-Write the given data to the stream. Returns the
- number of bytes written. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some.overload1" title="buffered_stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some.overload1" title="buffered_stream::write_some (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Write the given data to the stream. Returns the number of bytes written,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some.overload2" title="buffered_stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some.overload2" title="buffered_stream::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some.overload1" title="buffered_stream::write_some (1 of 2 overloads)">buffered_stream::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write the given data to the stream. Returns the number of bytes written.
- Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_stream.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_stream.write_some.overload2" title="buffered_stream::write_some (2 of 2 overloads)">buffered_stream::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write the given data to the stream. Returns the number of bytes written,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffered_write_stream"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream" title="buffered_write_stream">buffered_write_stream</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.async_flush">buffered_write_stream::async_flush</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.async_read_some">buffered_write_stream::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.async_write_some">buffered_write_stream::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream">buffered_write_stream::buffered_write_stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.close">buffered_write_stream::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.default_buffer_size">buffered_write_stream::default_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.flush">buffered_write_stream::flush</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.get_io_service">buffered_write_stream::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.in_avail">buffered_write_stream::in_avail</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer">buffered_write_stream::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer_type">buffered_write_stream::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.next_layer">buffered_write_stream::next_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.next_layer_type">buffered_write_stream::next_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.peek">buffered_write_stream::peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.read_some">buffered_write_stream::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.write_some">buffered_write_stream::write_some</a></span></dt>
-</dl></div>
-<p>
- Adds buffering to the write-related operations of a stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">buffered_write_stream</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffered_write_stream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer_type" title="buffered_write_stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer_type" title="buffered_write_stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the next layer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffered_write_stream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.async_flush" title="buffered_write_stream::async_flush"><span class="bold"><strong>async_flush</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous flush.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.async_read_some" title="buffered_write_stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read. The buffer into which the data will
- be read must be valid for the lifetime of the asynchronous operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.async_write_some" title="buffered_write_stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write. The data being written must be valid
- for the lifetime of the asynchronous operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream" title="buffered_write_stream::buffered_write_stream"><span class="bold"><strong>buffered_write_stream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct, passing the specified argument to initialise the next
- layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close" title="buffered_write_stream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush" title="buffered_write_stream::flush"><span class="bold"><strong>flush</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation.
- Throws an exception on failure.
- </p>
- <p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation,
- or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.get_io_service" title="buffered_write_stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail" title="buffered_write_stream::in_avail"><span class="bold"><strong>in_avail</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the amount of data that may be read without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer" title="buffered_write_stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer" title="buffered_write_stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the next layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek" title="buffered_write_stream::peek"><span class="bold"><strong>peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at the incoming data on the stream. Returns the number of
- bytes read. Throws an exception on failure.
- </p>
- <p>
- Peek at the incoming data on the stream. Returns the number of
- bytes read, or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some" title="buffered_write_stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream. Returns the number of bytes read.
- Throws an exception on failure.
- </p>
- <p>
- Read some data from the stream. Returns the number of bytes read
- or 0 if an error occurred.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some" title="buffered_write_stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data to the stream. Returns the number of bytes
- written. Throws an exception on failure.
- </p>
- <p>
- Write the given data to the stream. Returns the number of bytes
- written, or 0 if an error occurred and the error handler did not
- throw.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffered_write_stream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.default_buffer_size" title="buffered_write_stream::default_buffer_size"><span class="bold"><strong>default_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The default buffer size.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream" title="buffered_write_stream"><code class="computeroutput"><span class="identifier">buffered_write_stream</span></code></a> class template
- can be used to add buffering to the synchronous and asynchronous write operations
- of a stream.
- </p>
-<h5>
-<a name="boost_asio.reference.buffered_write_stream.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.buffered_write_stream.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_write_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.async_flush"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.async_flush" title="buffered_write_stream::async_flush">buffered_write_stream::async_flush</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195160256"></a>
-Start an asynchronous flush.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_flush</span><span class="special">(</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.async_read_some" title="buffered_write_stream::async_read_some">buffered_write_stream::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195171744"></a>
-Start an asynchronous read. The buffer
- into which the data will be read must be valid for the lifetime of the
- asynchronous operation.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.async_write_some" title="buffered_write_stream::async_write_some">buffered_write_stream::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195188688"></a>
-Start an asynchronous write. The data
- being written must be valid for the lifetime of the asynchronous operation.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.buffered_write_stream"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream" title="buffered_write_stream::buffered_write_stream">buffered_write_stream::buffered_write_stream</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1">buffered_write_stream::buffered_write_stream
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2">buffered_write_stream::buffered_write_stream
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195205616"></a>
-Construct, passing the specified
- argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">buffered_write_stream</a><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">buffered_write_stream</a><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">buffered_write_stream::buffered_write_stream
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct, passing the specified argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">buffered_write_stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">buffered_write_stream::buffered_write_stream
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct, passing the specified argument to initialise the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">buffered_write_stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.close"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close" title="buffered_write_stream::close">buffered_write_stream::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.close.overload1">buffered_write_stream::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.close.overload2">buffered_write_stream::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195252976"></a>
-Close the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close.overload1" title="buffered_write_stream::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close.overload1" title="buffered_write_stream::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close.overload2" title="buffered_write_stream::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close.overload2" title="buffered_write_stream::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close.overload1" title="buffered_write_stream::close (1 of 2 overloads)">buffered_write_stream::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.close.overload2" title="buffered_write_stream::close (2 of 2 overloads)">buffered_write_stream::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the stream.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.default_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.default_buffer_size" title="buffered_write_stream::default_buffer_size">buffered_write_stream::default_buffer_size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195287456"></a>
-The default buffer size.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">default_buffer_size</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.flush"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush" title="buffered_write_stream::flush">buffered_write_stream::flush</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload1">buffered_write_stream::flush
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload2">buffered_write_stream::flush
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195297152"></a>
-Flush all data from the buffer to the next layer.
- Returns the number of bytes written to the next layer on the last write
- operation. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload1" title="buffered_write_stream::flush (1 of 2 overloads)">flush</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload1" title="buffered_write_stream::flush (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Flush all data from the buffer to the next layer. Returns the number of
- bytes written to the next layer on the last write operation, or 0 if an
- error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload2" title="buffered_write_stream::flush (2 of 2 overloads)">flush</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload2" title="buffered_write_stream::flush (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.flush.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload1" title="buffered_write_stream::flush (1 of 2 overloads)">buffered_write_stream::flush
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation. Throws
- an exception on failure.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.flush.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.flush.overload2" title="buffered_write_stream::flush (2 of 2 overloads)">buffered_write_stream::flush
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Flush all data from the buffer to the next layer. Returns the number
- of bytes written to the next layer on the last write operation, or 0
- if an error occurred.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.get_io_service" title="buffered_write_stream::get_io_service">buffered_write_stream::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195332880"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.in_avail"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail" title="buffered_write_stream::in_avail">buffered_write_stream::in_avail</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload1">buffered_write_stream::in_avail
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload2">buffered_write_stream::in_avail
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195343280"></a>
-Determine the amount of data that may be read
- without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload1" title="buffered_write_stream::in_avail (1 of 2 overloads)">in_avail</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload1" title="buffered_write_stream::in_avail (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload2" title="buffered_write_stream::in_avail (2 of 2 overloads)">in_avail</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload2" title="buffered_write_stream::in_avail (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.in_avail.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload1" title="buffered_write_stream::in_avail (1 of 2 overloads)">buffered_write_stream::in_avail
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the amount of data that may be read without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.in_avail.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.in_avail.overload2" title="buffered_write_stream::in_avail (2 of 2 overloads)">buffered_write_stream::in_avail
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Determine the amount of data that may be read without blocking.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer" title="buffered_write_stream::lowest_layer">buffered_write_stream::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload1">buffered_write_stream::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload2">buffered_write_stream::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195377456"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload1" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload1" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload2" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload2" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload1" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">buffered_write_stream::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer.overload2" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">buffered_write_stream::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer_type" title="buffered_write_stream::lowest_layer_type">buffered_write_stream::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195405584"></a>
-The type of the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffered_write_stream.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_write_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.next_layer"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer" title="buffered_write_stream::next_layer">buffered_write_stream::next_layer</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195418960"></a>
-Get a reference to the next layer.
- </p>
-<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.next_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer_type" title="buffered_write_stream::next_layer_type">buffered_write_stream::next_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195425520"></a>
-The type of the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffered_write_stream.next_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.next_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.next_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_write_stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.peek"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek" title="buffered_write_stream::peek">buffered_write_stream::peek</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload1">buffered_write_stream::peek
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload2">buffered_write_stream::peek
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195440192"></a>
-Peek at the incoming data on the stream. Returns
- the number of bytes read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload1" title="buffered_write_stream::peek (1 of 2 overloads)">peek</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload1" title="buffered_write_stream::peek (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes read,
- or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload2" title="buffered_write_stream::peek (2 of 2 overloads)">peek</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload2" title="buffered_write_stream::peek (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.peek.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload1" title="buffered_write_stream::peek (1 of 2 overloads)">buffered_write_stream::peek
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes
- read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.peek.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.peek.overload2" title="buffered_write_stream::peek (2 of 2 overloads)">buffered_write_stream::peek
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Peek at the incoming data on the stream. Returns the number of bytes
- read, or 0 if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.read_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some" title="buffered_write_stream::read_some">buffered_write_stream::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload1">buffered_write_stream::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload2">buffered_write_stream::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195502144"></a>
-Read some data from the stream. Returns the
- number of bytes read. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload1" title="buffered_write_stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload1" title="buffered_write_stream::read_some (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Read some data from the stream. Returns the number of bytes read or 0 if
- an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload2" title="buffered_write_stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload2" title="buffered_write_stream::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload1" title="buffered_write_stream::read_some (1 of 2 overloads)">buffered_write_stream::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream. Returns the number of bytes read. Throws
- an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.read_some.overload2" title="buffered_write_stream::read_some (2 of 2 overloads)">buffered_write_stream::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream. Returns the number of bytes read or 0
- if an error occurred.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffered_write_stream.write_some"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some" title="buffered_write_stream::write_some">buffered_write_stream::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload1">buffered_write_stream::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload2">buffered_write_stream::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195564128"></a>
-Write the given data to the stream. Returns
- the number of bytes written. Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload1" title="buffered_write_stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload1" title="buffered_write_stream::write_some (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Write the given data to the stream. Returns the number of bytes written,
- or 0 if an error occurred and the error handler did not throw.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload2" title="buffered_write_stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload2" title="buffered_write_stream::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload1" title="buffered_write_stream::write_some (1 of 2 overloads)">buffered_write_stream::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write the given data to the stream. Returns the number of bytes written.
- Throws an exception on failure.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffered_write_stream.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffered_write_stream.write_some.overload2" title="buffered_write_stream::write_some (2 of 2 overloads)">buffered_write_stream::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write the given data to the stream. Returns the number of bytes written,
- or 0 if an error occurred and the error handler did not throw.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffers_begin"></a><a class="link" href="reference.html#boost_asio.reference.buffers_begin" title="buffers_begin">buffers_begin</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp195626272"></a>
-Construct an iterator representing the beginning of the buffers'
- data.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
-<span class="identifier">buffers_iterator</span><span class="special">&lt;</span> <span class="identifier">BufferSequence</span> <span class="special">&gt;</span> <span class="identifier">buffers_begin</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffers_begin.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_begin.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_begin.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffers_end"></a><a class="link" href="reference.html#boost_asio.reference.buffers_end" title="buffers_end">buffers_end</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp195645648"></a>
-Construct an iterator representing the end of the buffers' data.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
-<span class="identifier">buffers_iterator</span><span class="special">&lt;</span> <span class="identifier">BufferSequence</span> <span class="special">&gt;</span> <span class="identifier">buffers_end</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffers_end.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_end.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_end.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.buffers_iterator"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator" title="buffers_iterator">buffers_iterator</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.begin">buffers_iterator::begin</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.buffers_iterator">buffers_iterator::buffers_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.difference_type">buffers_iterator::difference_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.end">buffers_iterator::end</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.iterator_category">buffers_iterator::iterator_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator__star_">buffers_iterator::operator
- *</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_not__eq_">buffers_iterator::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_">buffers_iterator::operator+</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_">buffers_iterator::operator++</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__eq_">buffers_iterator::operator+=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_">buffers_iterator::operator-</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_">buffers_iterator::operator--</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__eq_">buffers_iterator::operator-=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_arrow_">buffers_iterator::operator-&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_lt_">buffers_iterator::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_lt__eq_">buffers_iterator::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_eq__eq_">buffers_iterator::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_gt_">buffers_iterator::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_gt__eq_">buffers_iterator::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_lb__rb_">buffers_iterator::operator[]</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.pointer">buffers_iterator::pointer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.reference">buffers_iterator::reference</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.value_type">buffers_iterator::value_type</a></span></dt>
-</dl></div>
-<p>
- A random access iterator over the bytes in a buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ByteType</span> <span class="special">=</span> <span class="keyword">char</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">buffers_iterator</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.buffers_iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.types"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.difference_type" title="buffers_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used for the distance between two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.iterator_category" title="buffers_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator category.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.pointer" title="buffers_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator-&gt;() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.reference" title="buffers_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator*() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.value_type" title="buffers_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the value pointed to by the iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffers_iterator.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.begin" title="buffers_iterator::begin"><span class="bold"><strong>begin</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an iterator representing the beginning of the buffers'
- data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.buffers_iterator" title="buffers_iterator::buffers_iterator"><span class="bold"><strong>buffers_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor. Creates an iterator in an undefined state.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.end" title="buffers_iterator::end"><span class="bold"><strong>end</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an iterator representing the end of the buffers' data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator__star_" title="buffers_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_" title="buffers_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Increment operator (prefix).
- </p>
- <p>
- Increment operator (postfix).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__eq_" title="buffers_iterator::operator+="><span class="bold"><strong>operator+=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Addition operator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_" title="buffers_iterator::operator--"><span class="bold"><strong>operator--</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Decrement operator (prefix).
- </p>
- <p>
- Decrement operator (postfix).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__eq_" title="buffers_iterator::operator-="><span class="bold"><strong>operator-=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Subtraction operator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_arrow_" title="buffers_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lb__rb_" title="buffers_iterator::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Access an individual element.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffers_iterator.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_not__eq_" title="buffers_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_" title="buffers_iterator::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Addition operator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_" title="buffers_iterator::operator-"><span class="bold"><strong>operator-</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Subtraction operator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt_" title="buffers_iterator::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt__eq_" title="buffers_iterator::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_eq__eq_" title="buffers_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt_" title="buffers_iterator::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt__eq_" title="buffers_iterator::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two iterators.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.buffers_iterator.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.begin"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.begin" title="buffers_iterator::begin">buffers_iterator::begin</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195781760"></a>
-Construct an iterator representing the beginning of
- the buffers' data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">buffers_iterator</span> <span class="identifier">begin</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.buffers_iterator"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.buffers_iterator" title="buffers_iterator::buffers_iterator">buffers_iterator::buffers_iterator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195791648"></a>
-Default constructor. Creates an iterator
- in an undefined state.
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.difference_type"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.difference_type" title="buffers_iterator::difference_type">buffers_iterator::difference_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195796864"></a>
-The type used for the distance between two
- iterators.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.difference_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.difference_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.difference_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.end"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.end" title="buffers_iterator::end">buffers_iterator::end</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195810272"></a>
-Construct an iterator representing the end of the buffers'
- data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">buffers_iterator</span> <span class="identifier">end</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.iterator_category"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.iterator_category" title="buffers_iterator::iterator_category">buffers_iterator::iterator_category</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195820016"></a>
-The iterator category.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">random_access_iterator_tag</span> <span class="identifier">iterator_category</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.iterator_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.iterator_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.iterator_category.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator__star_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator__star_" title="buffers_iterator::operator *">buffers_iterator::operator
- *</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195833264"></a>
-Dereference an iterator.
- </p>
-<pre class="programlisting"><span class="identifier">reference</span> <span class="keyword">operator</span> <span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_not__eq_" title="buffers_iterator::operator!=">buffers_iterator::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195840448"></a>
-Test two iterators for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_" title="buffers_iterator::operator+">buffers_iterator::operator+</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload1">buffers_iterator::operator+
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload2">buffers_iterator::operator+
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195859072"></a>
-Addition operator.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload1" title="buffers_iterator::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload1" title="buffers_iterator::operator+ (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload2" title="buffers_iterator::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload2" title="buffers_iterator::operator+ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload1" title="buffers_iterator::operator+ (1 of 2 overloads)">buffers_iterator::operator+
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Addition operator.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_plus_.overload1.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload1.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload2" title="buffers_iterator::operator+ (2 of 2 overloads)">buffers_iterator::operator+
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Addition operator.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_plus_.overload2.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus_.overload2.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus__plus_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_" title="buffers_iterator::operator++">buffers_iterator::operator++</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload1">buffers_iterator::operator++
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload2">buffers_iterator::operator++
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195918640"></a>
-Increment operator (prefix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload1" title="buffers_iterator::operator++ (1 of 2 overloads)">operator++</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload1" title="buffers_iterator::operator++ (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Increment operator (postfix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload2" title="buffers_iterator::operator++ (2 of 2 overloads)">operator++</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload2" title="buffers_iterator::operator++ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus__plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload1" title="buffers_iterator::operator++ (1 of 2 overloads)">buffers_iterator::operator++
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Increment operator (prefix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus__plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__plus_.overload2" title="buffers_iterator::operator++ (2 of 2 overloads)">buffers_iterator::operator++
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Increment operator (postfix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">++(</span>
- <span class="keyword">int</span> <span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_plus__eq_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_plus__eq_" title="buffers_iterator::operator+=">buffers_iterator::operator+=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp195944192"></a>
-Addition operator.
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">+=(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_" title="buffers_iterator::operator-">buffers_iterator::operator-</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload1">buffers_iterator::operator-
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload2">buffers_iterator::operator-
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp195953744"></a>
-Subtraction operator.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload1" title="buffers_iterator::operator- (1 of 2 overloads)">operator-</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload1" title="buffers_iterator::operator- (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">friend</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload2" title="buffers_iterator::operator- (2 of 2 overloads)">operator-</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload2" title="buffers_iterator::operator- (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload1" title="buffers_iterator::operator- (1 of 2 overloads)">buffers_iterator::operator-
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Subtraction operator.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">-(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_minus_.overload1.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload1.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload2" title="buffers_iterator::operator- (2 of 2 overloads)">buffers_iterator::operator-
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Subtraction operator.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="keyword">operator</span><span class="special">-(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_minus_.overload2.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus_.overload2.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus__minus_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_" title="buffers_iterator::operator--">buffers_iterator::operator--</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload1">buffers_iterator::operator--
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload2">buffers_iterator::operator--
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp196015920"></a>
-Decrement operator (prefix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload1" title="buffers_iterator::operator-- (1 of 2 overloads)">operator--</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload1" title="buffers_iterator::operator-- (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Decrement operator (postfix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload2" title="buffers_iterator::operator-- (2 of 2 overloads)">operator--</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload2" title="buffers_iterator::operator-- (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus__minus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload1" title="buffers_iterator::operator-- (1 of 2 overloads)">buffers_iterator::operator--
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Decrement operator (prefix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">--();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus__minus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__minus_.overload2" title="buffers_iterator::operator-- (2 of 2 overloads)">buffers_iterator::operator--
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Decrement operator (postfix).
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">--(</span>
- <span class="keyword">int</span> <span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_minus__eq_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_minus__eq_" title="buffers_iterator::operator-=">buffers_iterator::operator-=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196041600"></a>
-Subtraction operator.
- </p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">-=(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_arrow_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_arrow_" title="buffers_iterator::operator-&gt;">buffers_iterator::operator-&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196051184"></a>
-Dereference an iterator.
- </p>
-<pre class="programlisting"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">-&gt;()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt_" title="buffers_iterator::operator&lt;">buffers_iterator::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196058240"></a>
-Compare two iterators.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt__eq_" title="buffers_iterator::operator&lt;=">buffers_iterator::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196076800"></a>
-Compare two iterators.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_eq__eq_" title="buffers_iterator::operator==">buffers_iterator::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196095440"></a>
-Test two iterators for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt_" title="buffers_iterator::operator&gt;">buffers_iterator::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196114016"></a>
-Compare two iterators.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt__eq_" title="buffers_iterator::operator&gt;=">buffers_iterator::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196132576"></a>
-Compare two iterators.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.operator_lb__rb_"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.operator_lb__rb_" title="buffers_iterator::operator[]">buffers_iterator::operator[]</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196151104"></a>
-Access an individual element.
- </p>
-<pre class="programlisting"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">[](</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.pointer"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.pointer" title="buffers_iterator::pointer">buffers_iterator::pointer</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196161088"></a>
-The type of the result of applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">-&gt;()</span></code>
- to the iterator.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">const_or_non_const_ByteType</span> <span class="special">*</span> <span class="identifier">pointer</span><span class="special">;</span>
-</pre>
-<p>
- If the buffer sequence stores buffer objects that are convertible to <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>,
- this is a pointer to a non-const ByteType. Otherwise, a pointer to a const
- ByteType.
- </p>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.pointer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.pointer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.pointer.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.reference"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.reference" title="buffers_iterator::reference">buffers_iterator::reference</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196177776"></a>
-The type of the result of applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>
- to the iterator.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">const_or_non_const_ByteType</span> <span class="special">&amp;</span> <span class="identifier">reference</span><span class="special">;</span>
-</pre>
-<p>
- If the buffer sequence stores buffer objects that are convertible to <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>,
- this is a reference to a non-const ByteType. Otherwise, a reference to
- a const ByteType.
- </p>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.reference.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.reference.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.reference.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.buffers_iterator.value_type"></a><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.value_type" title="buffers_iterator::value_type">buffers_iterator::value_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp196194336"></a>
-The type of the value pointed to by the iterator.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ByteType</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.buffers_iterator.value_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.buffers_iterator.value_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.value_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.connect"></a><a class="link" href="reference.html#boost_asio.reference.connect" title="connect">connect</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload1">connect (1
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload2">connect (2
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload3">connect (3
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload4">connect (4
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload5">connect (5
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload6">connect (6
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload7">connect (7
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.connect.overload8">connect (8
- of 8 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp196206560"></a>
-Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload1" title="connect (1 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload1" title="connect (1 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload2" title="connect (2 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload2" title="connect (2 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload3" title="connect (3 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload3" title="connect (3 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload4" title="connect (4 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload4" title="connect (4 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload5" title="connect (5 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload5" title="connect (5 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload6" title="connect (6 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload6" title="connect (6 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload7" title="connect (7 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload7" title="connect (7 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <a class="link" href="reference.html#boost_asio.reference.connect.overload8" title="connect (8 of 8 overloads)">connect</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.connect.overload8" title="connect (8 of 8 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.connect.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/connect.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload1"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload1" title="connect (1 of 8 overloads)">connect (1
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload1.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
- Otherwise, contains the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
- This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload1.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload2"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload2" title="connect (2 of 8 overloads)">connect (2
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the sequence is empty,
- set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
- the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload2.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload2.remarks">Remarks</a>
- </h6>
-<p>
- This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
- This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload2.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload3"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload3" title="connect (3 of 8 overloads)">connect (3
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">end</span></dt>
-<dd><p>
- An iterator pointing to the end of a sequence of endpoints.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload3.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
- Otherwise, contains the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload3.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload4"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload4" title="connect (4 of 8 overloads)">connect (4
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">end</span></dt>
-<dd><p>
- An iterator pointing to the end of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the sequence is empty,
- set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
- the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload4.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload4.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload4.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload4.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload5"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload5" title="connect (5 of 8 overloads)">connect (5
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">connect_condition</span></dt>
-<dd>
-<p>
- A function object that is called prior to each connection attempt.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
- contains the result from the most recent connect operation. Before
- the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
- is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
- parameter is an iterator pointing to the next endpoint to be tried.
- The function object should return the next iterator, but is permitted
- to return a different iterator so that endpoints may be skipped.
- The implementation guarantees that the function object will never
- be called with the end iterator.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload5.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload5.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload5.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
- Otherwise, contains the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload5.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload5.remarks">Remarks</a>
- </h6>
-<p>
- This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
- This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload5.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload5.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload5.example">Example</a>
- </h6>
-<p>
- The following connect condition function object can be used to output information
- about the individual connection attempts:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
-<span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
- function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">my_connect_condition</span><span class="special">());</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload6"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload6" title="connect (6 of 8 overloads)">connect (6
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">connect_condition</span></dt>
-<dd>
-<p>
- A function object that is called prior to each connection attempt.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
- contains the result from the most recent connect operation. Before
- the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
- is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
- parameter is an iterator pointing to the next endpoint to be tried.
- The function object should return the next iterator, but is permitted
- to return a different iterator so that endpoints may be skipped.
- The implementation guarantees that the function object will never
- be called with the end iterator.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the sequence is empty,
- set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
- the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload6.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload6.remarks">Remarks</a>
- </h6>
-<p>
- This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
- This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload6.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload6.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload6.example">Example</a>
- </h6>
-<p>
- The following connect condition function object can be used to output information
- about the individual connection attempts:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
-<span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
- function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">my_connect_condition</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">else</span>
-<span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload7"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload7" title="connect (7 of 8 overloads)">connect (7
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">end</span></dt>
-<dd><p>
- An iterator pointing to the end of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">connect_condition</span></dt>
-<dd>
-<p>
- A function object that is called prior to each connection attempt.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
- contains the result from the most recent connect operation. Before
- the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
- is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
- parameter is an iterator pointing to the next endpoint to be tried.
- The function object should return the next iterator, but is permitted
- to return a different iterator so that endpoints may be skipped.
- The implementation guarantees that the function object will never
- be called with the end iterator.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload7.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload7.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload7.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
- Otherwise, contains the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload7.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload7.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload7.example">Example</a>
- </h6>
-<p>
- The following connect condition function object can be used to output information
- about the individual connection attempts:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
-<span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
- function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">my_connect_condition</span><span class="special">());</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.connect.overload8"></a><a class="link" href="reference.html#boost_asio.reference.connect.overload8" title="connect (8 of 8 overloads)">connect (8
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Establishes a socket connection by trying each endpoint in a sequence.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
-<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function attempts to connect a socket to one of a sequence of endpoints.
- It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
- member function, once for each endpoint in the sequence, until a connection
- is successfully established.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The socket to be connected. If the socket is already open, it will
- be closed.
- </p></dd>
-<dt><span class="term">begin</span></dt>
-<dd><p>
- An iterator pointing to the start of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">end</span></dt>
-<dd><p>
- An iterator pointing to the end of a sequence of endpoints.
- </p></dd>
-<dt><span class="term">connect_condition</span></dt>
-<dd>
-<p>
- A function object that is called prior to each connection attempt.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
- contains the result from the most recent connect operation. Before
- the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
- is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
- parameter is an iterator pointing to the next endpoint to be tried.
- The function object should return the next iterator, but is permitted
- to return a different iterator so that endpoints may be skipped.
- The implementation guarantees that the function object will never
- be called with the end iterator.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the sequence is empty,
- set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
- the error from the last connection attempt.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.connect.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload8.return_value">Return Value</a>
- </h6>
-<p>
- On success, an iterator denoting the successfully connected endpoint. Otherwise,
- the end iterator.
- </p>
-<h6>
-<a name="boost_asio.reference.connect.overload8.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.connect.overload8.example"></a></span><a class="link" href="reference.html#boost_asio.reference.connect.overload8.example">Example</a>
- </h6>
-<p>
- The following connect condition function object can be used to output information
- about the individual connection attempts:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
-<span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
- function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">my_connect_condition</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">else</span>
-<span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.const_buffer"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer" title="const_buffer">const_buffer</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.const_buffer">const_buffer::const_buffer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.operator_plus_">const_buffer::operator+</a></span></dt>
-</dl></div>
-<p>
- Holds a buffer that cannot be modified.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">const_buffer</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.const_buffer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffer.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer" title="const_buffer::const_buffer"><span class="bold"><strong>const_buffer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an empty buffer.
- </p>
- <p>
- Construct a buffer to represent a given memory range.
- </p>
- <p>
- Construct a non-modifiable buffer from a modifiable one.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.const_buffer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffer.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffer.related_functions">Related
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_" title="const_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new non-modifiable buffer that is offset from the start
- of another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.const_buffer" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>
- class provides a safe representation of a buffer that cannot be modified.
- It does not own the underlying data, and so is cheap to copy or assign.
- </p>
-<h5>
-<a name="boost_asio.reference.const_buffer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffer.accessing_buffer_contents"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffer.accessing_buffer_contents">Accessing
- Buffer Contents</a>
- </h5>
-<p>
- The contents of a buffer may be accessed using the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
-<span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<h5>
-<a name="boost_asio.reference.const_buffer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffer.const_buffer"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer" title="const_buffer::const_buffer">const_buffer::const_buffer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload1">const_buffer::const_buffer
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload2">const_buffer::const_buffer
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload3">const_buffer::const_buffer
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp197446304"></a>
-Construct an empty buffer.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload1" title="const_buffer::const_buffer (1 of 3 overloads)">const_buffer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload1" title="const_buffer::const_buffer (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a buffer to represent a given memory range.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload2" title="const_buffer::const_buffer (2 of 3 overloads)">const_buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload2" title="const_buffer::const_buffer (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a non-modifiable buffer from a modifiable one.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload3" title="const_buffer::const_buffer (3 of 3 overloads)">const_buffer</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload3" title="const_buffer::const_buffer (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffer.const_buffer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload1" title="const_buffer::const_buffer (1 of 3 overloads)">const_buffer::const_buffer
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an empty buffer.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffer.const_buffer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload2" title="const_buffer::const_buffer (2 of 3 overloads)">const_buffer::const_buffer
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a buffer to represent a given memory range.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffer.const_buffer.overload3"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer.overload3" title="const_buffer::const_buffer (3 of 3 overloads)">const_buffer::const_buffer
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a non-modifiable buffer from a modifiable one.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffer.operator_plus_"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_" title="const_buffer::operator+">const_buffer::operator+</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload1">const_buffer::operator+
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload2">const_buffer::operator+
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp197491952"></a>
-Create a new non-modifiable buffer that is offset
- from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload1" title="const_buffer::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload1" title="const_buffer::operator+ (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">const_buffer</span> <a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload2" title="const_buffer::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload2" title="const_buffer::operator+ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffer.operator_plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload1" title="const_buffer::operator+ (1 of 2 overloads)">const_buffer::operator+
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Create a new non-modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffer.operator_plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_.overload2" title="const_buffer::operator+ (2 of 2 overloads)">const_buffer::operator+
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Create a new non-modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.const_buffers_1"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1" title="const_buffers_1">const_buffers_1</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.begin">const_buffers_1::begin</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1">const_buffers_1::const_buffers_1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.const_iterator">const_buffers_1::const_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.end">const_buffers_1::end</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_">const_buffers_1::operator+</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.value_type">const_buffers_1::value_type</a></span></dt>
-</dl></div>
-<p>
- Adapts a single non-modifiable buffer so that it meets the requirements of
- the ConstBufferSequence concept.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">const_buffers_1</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">const_buffer</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.const_buffers_1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.types"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_iterator" title="const_buffers_1::const_iterator"><span class="bold"><strong>const_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A random-access iterator type that may be used to read elements.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.value_type" title="const_buffers_1::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type for each element in the list of buffers.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.const_buffers_1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.begin" title="const_buffers_1::begin"><span class="bold"><strong>begin</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a random-access iterator to the first element.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1" title="const_buffers_1::const_buffers_1"><span class="bold"><strong>const_buffers_1</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent a given memory range.
- </p>
- <p>
- Construct to represent a single non-modifiable buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.end" title="const_buffers_1::end"><span class="bold"><strong>end</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a random-access iterator for one past the last element.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.const_buffers_1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.related_functions">Related
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_" title="const_buffers_1::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new non-modifiable buffer that is offset from the start
- of another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.const_buffers_1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffers_1.begin"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.begin" title="const_buffers_1::begin">const_buffers_1::begin</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp197590592"></a>
-Get a random-access iterator to the first element.
- </p>
-<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffers_1.const_buffers_1"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1" title="const_buffers_1::const_buffers_1">const_buffers_1::const_buffers_1</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload1">const_buffers_1::const_buffers_1
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload2">const_buffers_1::const_buffers_1
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp197597632"></a>
-Construct to represent a given memory range.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload1" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">const_buffers_1</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload1" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct to represent a single non-modifiable buffer.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload2" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">const_buffers_1</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload2" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffers_1.const_buffers_1.overload1"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload1" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">const_buffers_1::const_buffers_1
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct to represent a given memory range.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffers_1.const_buffers_1.overload2"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_buffers_1.overload2" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">const_buffers_1::const_buffers_1
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct to represent a single non-modifiable buffer.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffers_1.const_iterator"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_iterator" title="const_buffers_1::const_iterator">const_buffers_1::const_iterator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp197636176"></a>
-A random-access iterator type that may be
- used to read elements.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">*</span> <span class="identifier">const_iterator</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.const_buffers_1.const_iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.const_iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.const_iterator.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffers_1.end"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.end" title="const_buffers_1::end">const_buffers_1::end</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp197649536"></a>
-Get a random-access iterator for one past the last element.
- </p>
-<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffers_1.operator_plus_"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_" title="const_buffers_1::operator+">const_buffers_1::operator+</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload1">const_buffers_1::operator+
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload2">const_buffers_1::operator+
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp197656496"></a>
-Create a new non-modifiable buffer that is offset
- from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload1" title="const_buffers_1::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload1" title="const_buffers_1::operator+ (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">const_buffer</span> <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload2" title="const_buffers_1::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload2" title="const_buffers_1::operator+ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffers_1.operator_plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload1" title="const_buffers_1::operator+ (1 of 2 overloads)">const_buffers_1::operator+
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from const_buffer.</em></span>
- </p>
-<p>
- Create a new non-modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.const_buffers_1.operator_plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.operator_plus_.overload2" title="const_buffers_1::operator+ (2 of 2 overloads)">const_buffers_1::operator+
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from const_buffer.</em></span>
- </p>
-<p>
- Create a new non-modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.const_buffers_1.value_type"></a><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.value_type" title="const_buffers_1::value_type">const_buffers_1::value_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp197703792"></a>
-The type for each element in the list of buffers.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">const_buffer</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.const_buffers_1.value_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.value_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffer.const_buffer" title="const_buffer::const_buffer"><span class="bold"><strong>const_buffer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an empty buffer.
- </p>
- <p>
- Construct a buffer to represent a given memory range.
- </p>
- <p>
- Construct a non-modifiable buffer from a modifiable one.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.const_buffers_1.value_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.value_type.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.const_buffer.operator_plus_" title="const_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new non-modifiable buffer that is offset from the start
- of another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.const_buffer" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>
- class provides a safe representation of a buffer that cannot be modified.
- It does not own the underlying data, and so is cheap to copy or assign.
- </p>
-<h6>
-<a name="boost_asio.reference.const_buffers_1.value_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.accessing_buffer_contents"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.value_type.accessing_buffer_contents">Accessing
- Buffer Contents</a>
- </h6>
-<p>
- The contents of a buffer may be accessed using the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
-<span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<h6>
-<a name="boost_asio.reference.const_buffers_1.value_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.const_buffers_1.value_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.coroutine"></a><a class="link" href="reference.html#boost_asio.reference.coroutine" title="coroutine">coroutine</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.coroutine.coroutine">coroutine::coroutine</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.coroutine.is_child">coroutine::is_child</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.coroutine.is_complete">coroutine::is_complete</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.coroutine.is_parent">coroutine::is_parent</a></span></dt>
-</dl></div>
-<p>
- Provides support for implementing stackless coroutines.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">coroutine</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.coroutine.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.coroutine.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.coroutine.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.coroutine.coroutine" title="coroutine::coroutine"><span class="bold"><strong>coroutine</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructs a coroutine in its initial state.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.coroutine.is_child" title="coroutine::is_child"><span class="bold"><strong>is_child</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Returns true if the coroutine is the child of a fork.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.coroutine.is_complete" title="coroutine::is_complete"><span class="bold"><strong>is_complete</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Returns true if the coroutine has reached its terminal state.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.coroutine.is_parent" title="coroutine::is_parent"><span class="bold"><strong>is_parent</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Returns true if the coroutine is the parent of a fork.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <code class="computeroutput"><span class="identifier">coroutine</span></code> class may be
- used to implement stackless coroutines. The class itself is used to store
- the current state of the coroutine.
- </p>
-<p>
- Coroutines are copy-constructible and assignable, and the space overhead
- is a single int. They can be used as a base class:
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">session</span> <span class="special">:</span> <span class="identifier">coroutine</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">};</span>
-</pre>
-<p>
- or as a data member:
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">session</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="identifier">coroutine</span> <span class="identifier">coro_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- or even bound in as a function argument using lambdas or <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>. The important thing is that as the application
- maintains a copy of the object for as long as the coroutine must be kept
- alive.
- </p>
-<h5>
-<a name="boost_asio.reference.coroutine.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.coroutine.pseudo_keywords"></a></span><a class="link" href="reference.html#boost_asio.reference.coroutine.pseudo_keywords">Pseudo-keywords</a>
- </h5>
-<p>
- A coroutine is used in conjunction with certain "pseudo-keywords",
- which are implemented as macros. These macros are defined by a header file:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">yield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- and may conversely be undefined as follows:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">unyield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- <span class="bold"><strong>reenter</strong></span>
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">reenter</span></code> macro is used
- to define the body of a coroutine. It takes a single argument: a pointer
- or reference to a coroutine object. For example, if the base class is a coroutine
- object you may write:
- </p>
-<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span> <span class="identifier">coroutine</span> <span class="identifier">body</span> <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- and if a data member or other variable you can write:
- </p>
-<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="identifier">coro_</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span> <span class="identifier">coroutine</span> <span class="identifier">body</span> <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- When <code class="computeroutput"><span class="identifier">reenter</span></code> is executed
- at runtime, control jumps to the location of the last <code class="computeroutput"><span class="identifier">yield</span></code>
- or <code class="computeroutput"><span class="identifier">fork</span></code>.
- </p>
-<p>
- The coroutine body may also be a single statement, such as:
- </p>
-<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span> <span class="keyword">for</span> <span class="special">(;;)</span>
-<span class="special">{</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- <span class="bold"><strong>Limitation:</strong></span> The <code class="computeroutput"><span class="identifier">reenter</span></code>
- macro is implemented using a switch. This means that you must take care when
- using local variables within the coroutine body. The local variable is not
- allowed in a position where reentering the coroutine could bypass the variable
- definition.
- </p>
-<p>
- <span class="bold"><strong>yield <span class="emphasis"><em>statement</em></span></strong></span>
- </p>
-<p>
- This form of the <code class="computeroutput"><span class="identifier">yield</span></code> keyword
- is often used with asynchronous operations:
- </p>
-<pre class="programlisting"><span class="identifier">yield</span> <span class="identifier">socket_</span><span class="special">-&gt;</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer_</span><span class="special">),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
-</pre>
-<p>
- This divides into four logical steps:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">yield</span></code> saves the current
- state of the coroutine.
- </li>
-<li class="listitem">
- The statement initiates the asynchronous operation.
- </li>
-<li class="listitem">
- The resume point is defined immediately following the statement.
- </li>
-<li class="listitem">
- Control is transferred to the end of the coroutine body.
- </li>
-</ul></div>
-<p>
- When the asynchronous operation completes, the function object is invoked
- and <code class="computeroutput"><span class="identifier">reenter</span></code> causes control
- to transfer to the resume point. It is important to remember to carry the
- coroutine state forward with the asynchronous operation. In the above snippet,
- the current class is a function object object with a coroutine object as
- base class or data member.
- </p>
-<p>
- The statement may also be a compound statement, and this permits us to define
- local variables with limited scope:
- </p>
-<pre class="programlisting"><span class="identifier">yield</span>
-<span class="special">{</span>
- <span class="identifier">mutable_buffers_1</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer_</span><span class="special">);</span>
- <span class="identifier">socket_</span><span class="special">-&gt;</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- <span class="bold"><strong>yield return <span class="emphasis"><em>expression</em></span> ;</strong></span>
- </p>
-<p>
- This form of <code class="computeroutput"><span class="identifier">yield</span></code> is often
- used in generators or coroutine-based parsers. For example, the function
- object:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">interleave</span> <span class="special">:</span> <span class="identifier">coroutine</span>
-<span class="special">{</span>
- <span class="identifier">istream</span><span class="special">&amp;</span> <span class="identifier">is1</span><span class="special">;</span>
- <span class="identifier">istream</span><span class="special">&amp;</span> <span class="identifier">is2</span><span class="special">;</span>
- <span class="keyword">char</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span> <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">yield</span> <span class="keyword">return</span> <span class="identifier">is1</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
- <span class="identifier">yield</span> <span class="keyword">return</span> <span class="identifier">is2</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- defines a trivial coroutine that interleaves the characters from two input
- streams.
- </p>
-<p>
- This type of <code class="computeroutput"><span class="identifier">yield</span></code> divides
- into three logical steps:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">yield</span></code> saves the current
- state of the coroutine.
- </li>
-<li class="listitem">
- The resume point is defined immediately following the semicolon.
- </li>
-<li class="listitem">
- The value of the expression is returned from the function.
- </li>
-</ul></div>
-<p>
- <span class="bold"><strong>yield ;</strong></span>
- </p>
-<p>
- This form of <code class="computeroutput"><span class="identifier">yield</span></code> is equivalent
- to the following steps:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">yield</span></code> saves the current
- state of the coroutine.
- </li>
-<li class="listitem">
- The resume point is defined immediately following the semicolon.
- </li>
-<li class="listitem">
- Control is transferred to the end of the coroutine body.
- </li>
-</ul></div>
-<p>
- This form might be applied when coroutines are used for cooperative threading
- and scheduling is explicitly managed. For example:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">task</span> <span class="special">:</span> <span class="identifier">coroutine</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span>
- <span class="special">{</span>
- <span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">while</span> <span class="special">(...</span> <span class="keyword">not</span> <span class="identifier">finished</span> <span class="special">...)</span>
- <span class="special">{</span>
- <span class="special">...</span> <span class="keyword">do</span> <span class="identifier">something</span> <span class="special">...</span>
- <span class="identifier">yield</span><span class="special">;</span>
- <span class="special">...</span> <span class="keyword">do</span> <span class="identifier">some</span> <span class="identifier">more</span> <span class="special">...</span>
- <span class="identifier">yield</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="special">...</span>
-<span class="special">};</span>
-<span class="special">...</span>
-<span class="identifier">task</span> <span class="identifier">t1</span><span class="special">,</span> <span class="identifier">t2</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(;;)</span>
-<span class="special">{</span>
- <span class="identifier">t1</span><span class="special">();</span>
- <span class="identifier">t2</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- <span class="bold"><strong>yield break ;</strong></span>
- </p>
-<p>
- The final form of <code class="computeroutput"><span class="identifier">yield</span></code> is
- used to explicitly terminate the coroutine. This form is comprised of two
- steps:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">yield</span></code> sets the coroutine
- state to indicate termination.
- </li>
-<li class="listitem">
- Control is transferred to the end of the coroutine body.
- </li>
-</ul></div>
-<p>
- Once terminated, calls to <code class="computeroutput"><span class="identifier">is_complete</span><span class="special">()</span></code> return true and the coroutine cannot be
- reentered.
- </p>
-<p>
- Note that a coroutine may also be implicitly terminated if the coroutine
- body is exited without a yield, e.g. by return, throw or by running to the
- end of the body.
- </p>
-<p>
- <span class="bold"><strong>fork <span class="emphasis"><em>statement</em></span></strong></span>
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">fork</span></code> pseudo-keyword is
- used when "forking" a coroutine, i.e. splitting it into two (or
- more) copies. One use of <code class="computeroutput"><span class="identifier">fork</span></code>
- is in a server, where a new coroutine is created to handle each client connection:
- </p>
-<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">do</span>
- <span class="special">{</span>
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service_</span><span class="special">));</span>
- <span class="identifier">yield</span> <span class="identifier">acceptor</span><span class="special">-&gt;</span><span class="identifier">async_accept</span><span class="special">(*</span><span class="identifier">socket_</span><span class="special">,</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
- <span class="identifier">fork</span> <span class="identifier">server</span><span class="special">(*</span><span class="keyword">this</span><span class="special">)();</span>
- <span class="special">}</span> <span class="keyword">while</span> <span class="special">(</span><span class="identifier">is_parent</span><span class="special">());</span>
- <span class="special">...</span> <span class="identifier">client</span><span class="special">-</span><span class="identifier">specific</span> <span class="identifier">handling</span> <span class="identifier">follows</span> <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- The logical steps involved in a <code class="computeroutput"><span class="identifier">fork</span></code>
- are:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">fork</span></code> saves the current
- state of the coroutine.
- </li>
-<li class="listitem">
- The statement creates a copy of the coroutine and either executes it
- immediately or schedules it for later execution.
- </li>
-<li class="listitem">
- The resume point is defined immediately following the semicolon.
- </li>
-<li class="listitem">
- For the "parent", control immediately continues from the next
- line.
- </li>
-</ul></div>
-<p>
- The functions <code class="computeroutput"><span class="identifier">is_parent</span><span class="special">()</span></code>
- and <code class="computeroutput"><span class="identifier">is_child</span><span class="special">()</span></code>
- can be used to differentiate between parent and child. You would use these
- functions to alter subsequent control flow.
- </p>
-<p>
- Note that <code class="computeroutput"><span class="identifier">fork</span></code> doesn't do
- the actual forking by itself. It is the application's responsibility to create
- a clone of the coroutine and call it. The clone can be called immediately,
- as above, or scheduled for delayed execution using something like <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.coroutine.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.coroutine.alternate_macro_names"></a></span><a class="link" href="reference.html#boost_asio.reference.coroutine.alternate_macro_names">Alternate
- macro names</a>
- </h5>
-<p>
- If preferred, an application can use macro names that follow a more typical
- naming convention, rather than the pseudo-keywords. These are:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">BOOST_ASIO_CORO_REENTER</span></code>
- instead of <code class="computeroutput"><span class="identifier">reenter</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">BOOST_ASIO_CORO_YIELD</span></code>
- instead of <code class="computeroutput"><span class="identifier">yield</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">BOOST_ASIO_CORO_FORK</span></code>
- instead of <code class="computeroutput"><span class="identifier">fork</span></code>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.reference.coroutine.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.coroutine.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.coroutine.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/coroutine.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.coroutine.coroutine"></a><a class="link" href="reference.html#boost_asio.reference.coroutine.coroutine" title="coroutine::coroutine">coroutine::coroutine</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198043520"></a>
-Constructs a coroutine in its initial state.
- </p>
-<pre class="programlisting"><span class="identifier">coroutine</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.coroutine.is_child"></a><a class="link" href="reference.html#boost_asio.reference.coroutine.is_child" title="coroutine::is_child">coroutine::is_child</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198048608"></a>
-Returns true if the coroutine is the child of a fork.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_child</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.coroutine.is_complete"></a><a class="link" href="reference.html#boost_asio.reference.coroutine.is_complete" title="coroutine::is_complete">coroutine::is_complete</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198055712"></a>
-Returns true if the coroutine has reached its terminal
- state.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_complete</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.coroutine.is_parent"></a><a class="link" href="reference.html#boost_asio.reference.coroutine.is_parent" title="coroutine::is_parent">coroutine::is_parent</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198062752"></a>
-Returns true if the coroutine is the parent of a fork.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.datagram_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service" title="datagram_socket_service">datagram_socket_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.assign">datagram_socket_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.async_connect">datagram_socket_service::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.async_receive">datagram_socket_service::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.async_receive_from">datagram_socket_service::async_receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.async_send">datagram_socket_service::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.async_send_to">datagram_socket_service::async_send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.at_mark">datagram_socket_service::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.available">datagram_socket_service::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.bind">datagram_socket_service::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.cancel">datagram_socket_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.close">datagram_socket_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.connect">datagram_socket_service::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.construct">datagram_socket_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.converting_move_construct">datagram_socket_service::converting_move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.datagram_socket_service">datagram_socket_service::datagram_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.destroy">datagram_socket_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.endpoint_type">datagram_socket_service::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.get_io_service">datagram_socket_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.get_option">datagram_socket_service::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.id">datagram_socket_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.implementation_type">datagram_socket_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.io_control">datagram_socket_service::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.is_open">datagram_socket_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.local_endpoint">datagram_socket_service::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.move_assign">datagram_socket_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.move_construct">datagram_socket_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native">datagram_socket_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native_handle">datagram_socket_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native_handle_type">datagram_socket_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking">datagram_socket_service::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native_type">datagram_socket_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking">datagram_socket_service::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.open">datagram_socket_service::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.protocol_type">datagram_socket_service::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.receive">datagram_socket_service::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.receive_from">datagram_socket_service::receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.remote_endpoint">datagram_socket_service::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.send">datagram_socket_service::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.send_to">datagram_socket_service::send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.set_option">datagram_socket_service::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.shutdown">datagram_socket_service::shutdown</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a datagram socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">datagram_socket_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.datagram_socket_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.endpoint_type" title="datagram_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.implementation_type" title="datagram_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a datagram socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle_type" title="datagram_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_type" title="datagram_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.protocol_type" title="datagram_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.datagram_socket_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.assign" title="datagram_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to a datagram socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_connect" title="datagram_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_receive" title="datagram_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_receive_from" title="datagram_socket_service::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive that will get the endpoint of the
- sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_send" title="datagram_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_send_to" title="datagram_socket_service::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.at_mark" title="datagram_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.available" title="datagram_socket_service::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.bind" title="datagram_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.cancel" title="datagram_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.close" title="datagram_socket_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a datagram socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.connect" title="datagram_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the datagram socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.construct" title="datagram_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new datagram socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.converting_move_construct" title="datagram_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new datagram socket implementation from another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.datagram_socket_service" title="datagram_socket_service::datagram_socket_service"><span class="bold"><strong>datagram_socket_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new datagram socket service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.destroy" title="datagram_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a datagram socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.get_io_service" title="datagram_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.get_option" title="datagram_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.io_control" title="datagram_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.is_open" title="datagram_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.local_endpoint" title="datagram_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.move_assign" title="datagram_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another datagram socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.move_construct" title="datagram_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new datagram socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native" title="datagram_socket_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle" title="datagram_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking" title="datagram_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking" title="datagram_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.open" title="datagram_socket_service::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.receive" title="datagram_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data from the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.receive_from" title="datagram_socket_service::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive a datagram with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.remote_endpoint" title="datagram_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.send" title="datagram_socket_service::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send the given data to the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.send_to" title="datagram_socket_service::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a datagram to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.set_option" title="datagram_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.shutdown" title="datagram_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.datagram_socket_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.id" title="datagram_socket_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.datagram_socket_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.assign" title="datagram_socket_service::assign">datagram_socket_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198248864"></a>
-Assign an existing native socket to a datagram
- socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_connect" title="datagram_socket_service::async_connect">datagram_socket_service::async_connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198270832"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_receive" title="datagram_socket_service::async_receive">datagram_socket_service::async_receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198288272"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.async_receive_from"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_receive_from" title="datagram_socket_service::async_receive_from">datagram_socket_service::async_receive_from</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198310704"></a>
-Start an asynchronous receive
- that will get the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.async_send"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_send" title="datagram_socket_service::async_send">datagram_socket_service::async_send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198335760"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.async_send_to"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.async_send_to" title="datagram_socket_service::async_send_to">datagram_socket_service::async_send_to</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198358160"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.at_mark" title="datagram_socket_service::at_mark">datagram_socket_service::at_mark</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198383840"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.available"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.available" title="datagram_socket_service::available">datagram_socket_service::available</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198398816"></a>
-Determine the number of bytes available
- for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.bind"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.bind" title="datagram_socket_service::bind">datagram_socket_service::bind</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198414944"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.cancel" title="datagram_socket_service::cancel">datagram_socket_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198433472"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.close"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.close" title="datagram_socket_service::close">datagram_socket_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198448816"></a>
-Close a datagram socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.connect"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.connect" title="datagram_socket_service::connect">datagram_socket_service::connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198464128"></a>
-Connect the datagram socket to the specified
- endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.construct" title="datagram_socket_service::construct">datagram_socket_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198482816"></a>
-Construct a new datagram socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.converting_move_construct"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.converting_move_construct" title="datagram_socket_service::converting_move_construct">datagram_socket_service::converting_move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198491248"></a>
-Move-construct a new datagram
- socket implementation from another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">datagram_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.datagram_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.datagram_socket_service" title="datagram_socket_service::datagram_socket_service">datagram_socket_service::datagram_socket_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198519136"></a>
-Construct a new datagram
- socket service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">datagram_socket_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.destroy" title="datagram_socket_service::destroy">datagram_socket_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198530752"></a>
-Destroy a datagram socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.endpoint_type" title="datagram_socket_service::endpoint_type">datagram_socket_service::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198539232"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.datagram_socket_service.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.get_io_service" title="datagram_socket_service::get_io_service">datagram_socket_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp198553248"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.get_option"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.get_option" title="datagram_socket_service::get_option">datagram_socket_service::get_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198563712"></a>
-Get a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.id"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.id" title="datagram_socket_service::id">datagram_socket_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198586864"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.implementation_type" title="datagram_socket_service::implementation_type">datagram_socket_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198596544"></a>
-The type of a datagram socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.datagram_socket_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.io_control"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.io_control" title="datagram_socket_service::io_control">datagram_socket_service::io_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198608832"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.is_open" title="datagram_socket_service::is_open">datagram_socket_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198629920"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.local_endpoint" title="datagram_socket_service::local_endpoint">datagram_socket_service::local_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198640368"></a>
-Get the local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.move_assign" title="datagram_socket_service::move_assign">datagram_socket_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198655456"></a>
-Move-assign from another datagram socket
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">datagram_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.move_construct" title="datagram_socket_service::move_construct">datagram_socket_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198669200"></a>
-Move-construct a new datagram socket
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native" title="datagram_socket_service::native">datagram_socket_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198680288"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle" title="datagram_socket_service::native_handle">datagram_socket_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198690336"></a>
-Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle_type" title="datagram_socket_service::native_handle_type">datagram_socket_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198698816"></a>
-The native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.datagram_socket_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking" title="datagram_socket_service::native_non_blocking">datagram_socket_service::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload1">datagram_socket_service::native_non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload2">datagram_socket_service::native_non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp198711232"></a>
-Gets the non-blocking mode of
- the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload1" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload1" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload2" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload2" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload1" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">datagram_socket_service::native_non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_non_blocking.overload2" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">datagram_socket_service::native_non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_type" title="datagram_socket_service::native_type">datagram_socket_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198764992"></a>
-(Deprecated: Use native_handle_type.)
- The native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.datagram_socket_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking" title="datagram_socket_service::non_blocking">datagram_socket_service::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload1">datagram_socket_service::non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload2">datagram_socket_service::non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp198777344"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload1" title="datagram_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload1" title="datagram_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload2" title="datagram_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload2" title="datagram_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.datagram_socket_service.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload1" title="datagram_socket_service::non_blocking (1 of 2 overloads)">datagram_socket_service::non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.datagram_socket_service.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.non_blocking.overload2" title="datagram_socket_service::non_blocking (2 of 2 overloads)">datagram_socket_service::non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.open"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.open" title="datagram_socket_service::open">datagram_socket_service::open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198830736"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.protocol_type" title="datagram_socket_service::protocol_type">datagram_socket_service::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198849344"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.datagram_socket_service.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.receive"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.receive" title="datagram_socket_service::receive">datagram_socket_service::receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198861520"></a>
-Receive some data from the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.receive_from"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.receive_from" title="datagram_socket_service::receive_from">datagram_socket_service::receive_from</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198885344"></a>
-Receive a datagram with the endpoint
- of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.remote_endpoint" title="datagram_socket_service::remote_endpoint">datagram_socket_service::remote_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198911888"></a>
-Get the remote endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.send"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.send" title="datagram_socket_service::send">datagram_socket_service::send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198926976"></a>
-Send the given data to the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.send_to"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.send_to" title="datagram_socket_service::send_to">datagram_socket_service::send_to</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198950864"></a>
-Send a datagram to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.set_option"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.set_option" title="datagram_socket_service::set_option">datagram_socket_service::set_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198977968"></a>
-Set a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.datagram_socket_service.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.datagram_socket_service.shutdown" title="datagram_socket_service::shutdown">datagram_socket_service::shutdown</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp198999904"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.deadline_timer"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer" title="deadline_timer">deadline_timer</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199018304"></a>
-Typedef for the typical usage of timer. Uses a UTC clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_deadline_timer</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span> <span class="special">&gt;</span> <span class="identifier">deadline_timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.types"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.duration_type" title="basic_deadline_timer::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation_type" title="basic_deadline_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service_type" title="basic_deadline_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.time_type" title="basic_deadline_timer::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.traits_type" title="basic_deadline_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer" title="basic_deadline_timer::basic_deadline_timer"><span class="bold"><strong>basic_deadline_timer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
- <p>
- Constructor to set a particular expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel" title="basic_deadline_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.cancel_one" title="basic_deadline_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_at" title="basic_deadline_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time as an absolute time.
- </p>
- <p>
- Set the timer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.expires_from_now" title="basic_deadline_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the timer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_io_service" title="basic_deadline_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait" title="basic_deadline_timer::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the timer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_implementation" title="basic_deadline_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.get_service" title="basic_deadline_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.implementation" title="basic_deadline_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.service" title="basic_deadline_timer::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer" title="basic_deadline_timer"><code class="computeroutput"><span class="identifier">basic_deadline_timer</span></code></a> class template
- provides the ability to perform a blocking or asynchronous wait for a timer
- to expire.
- </p>
-<p>
- A deadline timer is always in one of two states: "expired" or "not
- expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
- the wait operation will complete immediately.
- </p>
-<p>
- Most applications will use the <a class="link" href="reference.html#boost_asio.reference.deadline_timer" title="deadline_timer"><code class="computeroutput"><span class="identifier">deadline_timer</span></code></a> typedef.
- </p>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.examples">Examples</a>
- </h5>
-<p>
- Performing a blocking wait:
- </p>
-<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// Set an expiry time relative to now.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-
-<span class="comment">// Wait for the timer to expire.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Performing an asynchronous wait:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer expired.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a timer with an absolute expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_from_string</span><span class="special">(</span><span class="string">"2005-12-07 23:59:59.000"</span><span class="special">));</span>
-
-<span class="comment">// Start an asynchronous wait.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.changing_an_active_deadline_timer_s_expiry_time"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.changing_an_active_deadline_timer_s_expiry_time">Changing
- an active deadline_timer's expiry time</a>
- </h5>
-<p>
- Changing the expiry time of a timer while there are pending asynchronous
- waits causes those wait operations to be cancelled. To ensure that the action
- associated with the timer is performed only once, use something like this:
- used:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
- <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="comment">// Too late, timer has already expired!</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer was not cancelled, take necessary action.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_deadline_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- function cancels any pending asynchronous waits, and returns the number
- of asynchronous waits that were cancelled. If it returns 0 then you were
- too late and the wait handler has already been executed, or will soon
- be executed. If it returns 1 then the wait handler was successfully cancelled.
- </li>
-<li class="listitem">
- If a wait handler is cancelled, the boost::system::error_code passed
- to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.deadline_timer_service"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service" title="deadline_timer_service">deadline_timer_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.async_wait">deadline_timer_service::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.cancel">deadline_timer_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.cancel_one">deadline_timer_service::cancel_one</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.construct">deadline_timer_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.deadline_timer_service">deadline_timer_service::deadline_timer_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.destroy">deadline_timer_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.duration_type">deadline_timer_service::duration_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.expires_at">deadline_timer_service::expires_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now">deadline_timer_service::expires_from_now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.get_io_service">deadline_timer_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.id">deadline_timer_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.implementation_type">deadline_timer_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.time_type">deadline_timer_service::time_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.traits_type">deadline_timer_service::traits_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.wait">deadline_timer_service::wait</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a timer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">TimeType</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.TimeTraits" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">TimeType</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">deadline_timer_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.deadline_timer_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.duration_type" title="deadline_timer_service::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.implementation_type" title="deadline_timer_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The implementation type of the deadline timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.time_type" title="deadline_timer_service::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.traits_type" title="deadline_timer_service::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.async_wait" title="deadline_timer_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.cancel" title="deadline_timer_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous wait operations associated with the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.cancel_one" title="deadline_timer_service::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous wait operation associated with the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.construct" title="deadline_timer_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new timer implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.deadline_timer_service" title="deadline_timer_service::deadline_timer_service"><span class="bold"><strong>deadline_timer_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new timer service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.destroy" title="deadline_timer_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a timer implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at" title="deadline_timer_service::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the expiry time for the timer as an absolute time.
- </p>
- <p>
- Set the expiry time for the timer as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now" title="deadline_timer_service::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the expiry time for the timer relative to now.
- </p>
- <p>
- Set the expiry time for the timer relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.get_io_service" title="deadline_timer_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.wait" title="deadline_timer_service::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.id" title="deadline_timer_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.deadline_timer_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.async_wait" title="deadline_timer_service::async_wait">deadline_timer_service::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199328800"></a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.cancel" title="deadline_timer_service::cancel">deadline_timer_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199342896"></a>
-Cancel any asynchronous wait operations associated
- with the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.cancel_one"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.cancel_one" title="deadline_timer_service::cancel_one">deadline_timer_service::cancel_one</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199357088"></a>
-Cancels one asynchronous wait operation
- associated with the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.construct" title="deadline_timer_service::construct">deadline_timer_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199371312"></a>
-Construct a new timer implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.deadline_timer_service"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.deadline_timer_service" title="deadline_timer_service::deadline_timer_service">deadline_timer_service::deadline_timer_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199379792"></a>
-Construct a new timer service
- for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">deadline_timer_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.destroy" title="deadline_timer_service::destroy">deadline_timer_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199391344"></a>
-Destroy a timer implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.duration_type"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.duration_type" title="deadline_timer_service::duration_type">deadline_timer_service::duration_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199399888"></a>
-The duration type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.deadline_timer_service.duration_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.duration_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.duration_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.expires_at"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at" title="deadline_timer_service::expires_at">deadline_timer_service::expires_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload1">deadline_timer_service::expires_at
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload2">deadline_timer_service::expires_at
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp199413152"></a>
-Get the expiry time for the timer as an
- absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload1" title="deadline_timer_service::expires_at (1 of 2 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload1" title="deadline_timer_service::expires_at (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the expiry time for the timer as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload2" title="deadline_timer_service::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload2" title="deadline_timer_service::expires_at (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.deadline_timer_service.expires_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload1" title="deadline_timer_service::expires_at (1 of 2 overloads)">deadline_timer_service::expires_at
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the expiry time for the timer as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.deadline_timer_service.expires_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_at.overload2" title="deadline_timer_service::expires_at (2 of 2 overloads)">deadline_timer_service::expires_at
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the expiry time for the timer as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.expires_from_now"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now" title="deadline_timer_service::expires_from_now">deadline_timer_service::expires_from_now</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload1">deadline_timer_service::expires_from_now
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload2">deadline_timer_service::expires_from_now
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp199467120"></a>
-Get the expiry time for the timer
- relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload1" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload1" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the expiry time for the timer relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload2" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload2" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.deadline_timer_service.expires_from_now.overload1"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload1" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">deadline_timer_service::expires_from_now
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the expiry time for the timer relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.deadline_timer_service.expires_from_now.overload2"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.expires_from_now.overload2" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">deadline_timer_service::expires_from_now
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the expiry time for the timer relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.get_io_service" title="deadline_timer_service::get_io_service">deadline_timer_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp199521840"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.id"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.id" title="deadline_timer_service::id">deadline_timer_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199532240"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.implementation_type" title="deadline_timer_service::implementation_type">deadline_timer_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199541920"></a>
-The implementation type of the
- deadline timer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.deadline_timer_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.time_type"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.time_type" title="deadline_timer_service::time_type">deadline_timer_service::time_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199554352"></a>
-The time type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.deadline_timer_service.time_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.time_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.time_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.traits_type"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.traits_type" title="deadline_timer_service::traits_type">deadline_timer_service::traits_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199567552"></a>
-The time traits type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.deadline_timer_service.traits_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.traits_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.traits_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.deadline_timer_service.wait"></a><a class="link" href="reference.html#boost_asio.reference.deadline_timer_service.wait" title="deadline_timer_service::wait">deadline_timer_service::wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp199579664"></a>
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__addrinfo_category"></a><a class="link" href="reference.html#boost_asio.reference.error__addrinfo_category" title="error::addrinfo_category">error::addrinfo_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199593104"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">addrinfo_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_addrinfo_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__addrinfo_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__addrinfo_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__addrinfo_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__addrinfo_errors"></a><a class="link" href="reference.html#boost_asio.reference.error__addrinfo_errors" title="error::addrinfo_errors">error::addrinfo_errors</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199612928"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">addrinfo_errors</span>
-</pre>
-<p>
- <a class="indexterm" name="idp199616032"></a>
- <a class="indexterm" name="idp199617136"></a>
- </p>
-<h5>
-<a name="boost_asio.reference.error__addrinfo_errors.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__addrinfo_errors.values"></a></span><a class="link" href="reference.html#boost_asio.reference.error__addrinfo_errors.values">Values</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">service_not_found</span></dt>
-<dd><p>
- The service is not supported for the given socket type.
- </p></dd>
-<dt><span class="term">socket_type_not_supported</span></dt>
-<dd><p>
- The socket type is not supported.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.error__addrinfo_errors.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.error__addrinfo_errors.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__addrinfo_errors.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__basic_errors"></a><a class="link" href="reference.html#boost_asio.reference.error__basic_errors" title="error::basic_errors">error::basic_errors</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199632656"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">basic_errors</span>
-</pre>
-<p>
- <a class="indexterm" name="idp199635760"></a>
- <a class="indexterm" name="idp199636864"></a>
- <a class="indexterm" name="idp199637984"></a>
- <a class="indexterm" name="idp199639088"></a>
- <a class="indexterm" name="idp199640192"></a>
- <a class="indexterm" name="idp199641296"></a>
- <a class="indexterm" name="idp199642400"></a>
- <a class="indexterm" name="idp199643504"></a>
- <a class="indexterm" name="idp199644608"></a>
- <a class="indexterm" name="idp199645712"></a>
- <a class="indexterm" name="idp199646816"></a>
- <a class="indexterm" name="idp199647920"></a>
- <a class="indexterm" name="idp199649024"></a>
- <a class="indexterm" name="idp199650128"></a>
- <a class="indexterm" name="idp199651232"></a>
- <a class="indexterm" name="idp199652336"></a>
- <a class="indexterm" name="idp199653440"></a>
- <a class="indexterm" name="idp199654544"></a>
- <a class="indexterm" name="idp199655648"></a>
- <a class="indexterm" name="idp199656752"></a>
- <a class="indexterm" name="idp199657856"></a>
- <a class="indexterm" name="idp199658960"></a>
- <a class="indexterm" name="idp199660064"></a>
- <a class="indexterm" name="idp199661168"></a>
- <a class="indexterm" name="idp199662272"></a>
- <a class="indexterm" name="idp199663376"></a>
- <a class="indexterm" name="idp199664480"></a>
- <a class="indexterm" name="idp199665584"></a>
- <a class="indexterm" name="idp199666688"></a>
- <a class="indexterm" name="idp199667792"></a>
- <a class="indexterm" name="idp199668896"></a>
- <a class="indexterm" name="idp199670000"></a>
- <a class="indexterm" name="idp199671104"></a>
- <a class="indexterm" name="idp199672208"></a>
- </p>
-<h5>
-<a name="boost_asio.reference.error__basic_errors.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__basic_errors.values"></a></span><a class="link" href="reference.html#boost_asio.reference.error__basic_errors.values">Values</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">access_denied</span></dt>
-<dd><p>
- Permission denied.
- </p></dd>
-<dt><span class="term">address_family_not_supported</span></dt>
-<dd><p>
- Address family not supported by protocol.
- </p></dd>
-<dt><span class="term">address_in_use</span></dt>
-<dd><p>
- Address already in use.
- </p></dd>
-<dt><span class="term">already_connected</span></dt>
-<dd><p>
- Transport endpoint is already connected.
- </p></dd>
-<dt><span class="term">already_started</span></dt>
-<dd><p>
- Operation already in progress.
- </p></dd>
-<dt><span class="term">broken_pipe</span></dt>
-<dd><p>
- Broken pipe.
- </p></dd>
-<dt><span class="term">connection_aborted</span></dt>
-<dd><p>
- A connection has been aborted.
- </p></dd>
-<dt><span class="term">connection_refused</span></dt>
-<dd><p>
- Connection refused.
- </p></dd>
-<dt><span class="term">connection_reset</span></dt>
-<dd><p>
- Connection reset by peer.
- </p></dd>
-<dt><span class="term">bad_descriptor</span></dt>
-<dd><p>
- Bad file descriptor.
- </p></dd>
-<dt><span class="term">fault</span></dt>
-<dd><p>
- Bad address.
- </p></dd>
-<dt><span class="term">host_unreachable</span></dt>
-<dd><p>
- No route to host.
- </p></dd>
-<dt><span class="term">in_progress</span></dt>
-<dd><p>
- Operation now in progress.
- </p></dd>
-<dt><span class="term">interrupted</span></dt>
-<dd><p>
- Interrupted system call.
- </p></dd>
-<dt><span class="term">invalid_argument</span></dt>
-<dd><p>
- Invalid argument.
- </p></dd>
-<dt><span class="term">message_size</span></dt>
-<dd><p>
- Message too long.
- </p></dd>
-<dt><span class="term">name_too_long</span></dt>
-<dd><p>
- The name was too long.
- </p></dd>
-<dt><span class="term">network_down</span></dt>
-<dd><p>
- Network is down.
- </p></dd>
-<dt><span class="term">network_reset</span></dt>
-<dd><p>
- Network dropped connection on reset.
- </p></dd>
-<dt><span class="term">network_unreachable</span></dt>
-<dd><p>
- Network is unreachable.
- </p></dd>
-<dt><span class="term">no_descriptors</span></dt>
-<dd><p>
- Too many open files.
- </p></dd>
-<dt><span class="term">no_buffer_space</span></dt>
-<dd><p>
- No buffer space available.
- </p></dd>
-<dt><span class="term">no_memory</span></dt>
-<dd><p>
- Cannot allocate memory.
- </p></dd>
-<dt><span class="term">no_permission</span></dt>
-<dd><p>
- Operation not permitted.
- </p></dd>
-<dt><span class="term">no_protocol_option</span></dt>
-<dd><p>
- Protocol not available.
- </p></dd>
-<dt><span class="term">no_such_device</span></dt>
-<dd><p>
- No such device.
- </p></dd>
-<dt><span class="term">not_connected</span></dt>
-<dd><p>
- Transport endpoint is not connected.
- </p></dd>
-<dt><span class="term">not_socket</span></dt>
-<dd><p>
- Socket operation on non-socket.
- </p></dd>
-<dt><span class="term">operation_aborted</span></dt>
-<dd><p>
- Operation cancelled.
- </p></dd>
-<dt><span class="term">operation_not_supported</span></dt>
-<dd><p>
- Operation not supported.
- </p></dd>
-<dt><span class="term">shut_down</span></dt>
-<dd><p>
- Cannot send after transport endpoint shutdown.
- </p></dd>
-<dt><span class="term">timed_out</span></dt>
-<dd><p>
- Connection timed out.
- </p></dd>
-<dt><span class="term">try_again</span></dt>
-<dd><p>
- Resource temporarily unavailable.
- </p></dd>
-<dt><span class="term">would_block</span></dt>
-<dd><p>
- The socket is marked non-blocking and the requested operation would
- block.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.error__basic_errors.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.error__basic_errors.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__basic_errors.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__get_addrinfo_category"></a><a class="link" href="reference.html#boost_asio.reference.error__get_addrinfo_category" title="error::get_addrinfo_category">error::get_addrinfo_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199740128"></a>
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_addrinfo_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__get_addrinfo_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__get_addrinfo_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__get_addrinfo_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__get_misc_category"></a><a class="link" href="reference.html#boost_asio.reference.error__get_misc_category" title="error::get_misc_category">error::get_misc_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199755056"></a>
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_misc_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__get_misc_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__get_misc_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__get_misc_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__get_netdb_category"></a><a class="link" href="reference.html#boost_asio.reference.error__get_netdb_category" title="error::get_netdb_category">error::get_netdb_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199769776"></a>
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_netdb_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__get_netdb_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__get_netdb_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__get_netdb_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__get_ssl_category"></a><a class="link" href="reference.html#boost_asio.reference.error__get_ssl_category" title="error::get_ssl_category">error::get_ssl_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199784544"></a>
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_ssl_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__get_ssl_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__get_ssl_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__get_ssl_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__get_system_category"></a><a class="link" href="reference.html#boost_asio.reference.error__get_system_category" title="error::get_system_category">error::get_system_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199799392"></a>
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_system_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__get_system_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__get_system_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__get_system_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__make_error_code"></a><a class="link" href="reference.html#boost_asio.reference.error__make_error_code" title="error::make_error_code">error::make_error_code</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__make_error_code.overload1">error::make_error_code
- (1 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__make_error_code.overload2">error::make_error_code
- (2 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__make_error_code.overload3">error::make_error_code
- (3 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__make_error_code.overload4">error::make_error_code
- (4 of 5 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.error__make_error_code.overload5">error::make_error_code
- (5 of 5 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp199814032"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload1" title="error::make_error_code (1 of 5 overloads)">make_error_code</a><span class="special">(</span>
- <span class="identifier">basic_errors</span> <span class="identifier">e</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload1" title="error::make_error_code (1 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload2" title="error::make_error_code (2 of 5 overloads)">make_error_code</a><span class="special">(</span>
- <span class="identifier">netdb_errors</span> <span class="identifier">e</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload2" title="error::make_error_code (2 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload3" title="error::make_error_code (3 of 5 overloads)">make_error_code</a><span class="special">(</span>
- <span class="identifier">addrinfo_errors</span> <span class="identifier">e</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload3" title="error::make_error_code (3 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload4" title="error::make_error_code (4 of 5 overloads)">make_error_code</a><span class="special">(</span>
- <span class="identifier">misc_errors</span> <span class="identifier">e</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload4" title="error::make_error_code (4 of 5 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload5" title="error::make_error_code (5 of 5 overloads)">make_error_code</a><span class="special">(</span>
- <span class="identifier">ssl_errors</span> <span class="identifier">e</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload5" title="error::make_error_code (5 of 5 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__make_error_code.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__make_error_code.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__make_error_code.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.error__make_error_code.overload1"></a><a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload1" title="error::make_error_code (1 of 5 overloads)">error::make_error_code
- (1 of 5 overloads)</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
- <span class="identifier">basic_errors</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.error__make_error_code.overload2"></a><a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload2" title="error::make_error_code (2 of 5 overloads)">error::make_error_code
- (2 of 5 overloads)</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
- <span class="identifier">netdb_errors</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.error__make_error_code.overload3"></a><a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload3" title="error::make_error_code (3 of 5 overloads)">error::make_error_code
- (3 of 5 overloads)</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
- <span class="identifier">addrinfo_errors</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.error__make_error_code.overload4"></a><a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload4" title="error::make_error_code (4 of 5 overloads)">error::make_error_code
- (4 of 5 overloads)</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
- <span class="identifier">misc_errors</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.error__make_error_code.overload5"></a><a class="link" href="reference.html#boost_asio.reference.error__make_error_code.overload5" title="error::make_error_code (5 of 5 overloads)">error::make_error_code
- (5 of 5 overloads)</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
- <span class="identifier">ssl_errors</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__misc_category"></a><a class="link" href="reference.html#boost_asio.reference.error__misc_category" title="error::misc_category">error::misc_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199902480"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">misc_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_misc_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__misc_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__misc_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__misc_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__misc_errors"></a><a class="link" href="reference.html#boost_asio.reference.error__misc_errors" title="error::misc_errors">error::misc_errors</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199922272"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">misc_errors</span>
-</pre>
-<p>
- <a class="indexterm" name="idp199925376"></a>
- <a class="indexterm" name="idp199926480"></a>
- <a class="indexterm" name="idp199927552"></a>
- <a class="indexterm" name="idp199928656"></a>
- </p>
-<h5>
-<a name="boost_asio.reference.error__misc_errors.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__misc_errors.values"></a></span><a class="link" href="reference.html#boost_asio.reference.error__misc_errors.values">Values</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">already_open</span></dt>
-<dd><p>
- Already open.
- </p></dd>
-<dt><span class="term">eof</span></dt>
-<dd><p>
- End of file or stream.
- </p></dd>
-<dt><span class="term">not_found</span></dt>
-<dd><p>
- Element not found.
- </p></dd>
-<dt><span class="term">fd_set_failure</span></dt>
-<dd><p>
- The descriptor cannot fit into the select system call's fd_set.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.error__misc_errors.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.error__misc_errors.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__misc_errors.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__netdb_category"></a><a class="link" href="reference.html#boost_asio.reference.error__netdb_category" title="error::netdb_category">error::netdb_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199947712"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">netdb_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_netdb_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__netdb_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__netdb_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__netdb_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__netdb_errors"></a><a class="link" href="reference.html#boost_asio.reference.error__netdb_errors" title="error::netdb_errors">error::netdb_errors</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199967520"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">netdb_errors</span>
-</pre>
-<p>
- <a class="indexterm" name="idp199970624"></a>
- <a class="indexterm" name="idp199971728"></a>
- <a class="indexterm" name="idp199972848"></a>
- <a class="indexterm" name="idp199973952"></a>
- </p>
-<h5>
-<a name="boost_asio.reference.error__netdb_errors.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__netdb_errors.values"></a></span><a class="link" href="reference.html#boost_asio.reference.error__netdb_errors.values">Values</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">host_not_found</span></dt>
-<dd><p>
- Host not found (authoritative).
- </p></dd>
-<dt><span class="term">host_not_found_try_again</span></dt>
-<dd><p>
- Host not found (non-authoritative).
- </p></dd>
-<dt><span class="term">no_data</span></dt>
-<dd><p>
- The query is valid but does not have associated address data.
- </p></dd>
-<dt><span class="term">no_recovery</span></dt>
-<dd><p>
- A non-recoverable error occurred.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.error__netdb_errors.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.error__netdb_errors.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__netdb_errors.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__ssl_category"></a><a class="link" href="reference.html#boost_asio.reference.error__ssl_category" title="error::ssl_category">error::ssl_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp199992880"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">ssl_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_ssl_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__ssl_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__ssl_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__ssl_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__ssl_errors"></a><a class="link" href="reference.html#boost_asio.reference.error__ssl_errors" title="error::ssl_errors">error::ssl_errors</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp200012688"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">ssl_errors</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__ssl_errors.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__ssl_errors.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__ssl_errors.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.error__system_category"></a><a class="link" href="reference.html#boost_asio.reference.error__system_category" title="error::system_category">error::system_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp200023328"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">system_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.error__system_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.error__system_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.error__system_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint">generic::basic_endpoint</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint">generic::basic_endpoint::basic_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity">generic::basic_endpoint::capacity</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.data">generic::basic_endpoint::data</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type">generic::basic_endpoint::data_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_">generic::basic_endpoint::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_">generic::basic_endpoint::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_">generic::basic_endpoint::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_">generic::basic_endpoint::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_">generic::basic_endpoint::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_">generic::basic_endpoint::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_">generic::basic_endpoint::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol">generic::basic_endpoint::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type">generic::basic_endpoint::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.resize">generic::basic_endpoint::resize</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.size">generic::basic_endpoint::size</a></span></dt>
-</dl></div>
-<p>
- Describes an endpoint for any socket type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__basic_endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on the
- underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__basic_endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint from the specified socket address.
- </p>
- <p>
- Construct an endpoint from the specific endpoint type.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.size" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__basic_endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template describes
- an endpoint that may be associated with any socket type.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__basic_endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.remarks">Remarks</a>
- </h5>
-<p>
- The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code>
- structure.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__basic_endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__basic_endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint" title="generic::basic_endpoint::basic_endpoint">generic::basic_endpoint::basic_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload1">generic::basic_endpoint::basic_endpoint
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload2">generic::basic_endpoint::basic_endpoint
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload3">generic::basic_endpoint::basic_endpoint
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload4">generic::basic_endpoint::basic_endpoint
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp200143392"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload1" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">basic_endpoint</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload1" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an endpoint from the specified socket address.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload2" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">socket_address</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">socket_address_size</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload2" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an endpoint from the specific endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Endpoint" title="Endpoint requirements">Endpoint</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload3" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload3" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload4" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload4" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload1" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">generic::basic_endpoint::basic_endpoint
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload2" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">generic::basic_endpoint::basic_endpoint
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an endpoint from the specified socket address.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">socket_address</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">socket_address_size</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload3"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload3" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">generic::basic_endpoint::basic_endpoint
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an endpoint from the specific endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Endpoint" title="Endpoint requirements">Endpoint</a><span class="special">&gt;</span>
-<span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload4"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload4" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">generic::basic_endpoint::basic_endpoint
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.capacity"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity" title="generic::basic_endpoint::capacity">generic::basic_endpoint::capacity</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200216576"></a>
-Get the capacity of the endpoint in the
- native type.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">capacity</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.data"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data" title="generic::basic_endpoint::data">generic::basic_endpoint::data</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload1">generic::basic_endpoint::data
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload2">generic::basic_endpoint::data
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp200224752"></a>
-Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload1" title="generic::basic_endpoint::data (1 of 2 overloads)">data</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload1" title="generic::basic_endpoint::data (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload2" title="generic::basic_endpoint::data (2 of 2 overloads)">data</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload2" title="generic::basic_endpoint::data (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.data.overload1"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload1" title="generic::basic_endpoint::data (1 of 2 overloads)">generic::basic_endpoint::data
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.data.overload2"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data.overload2" title="generic::basic_endpoint::data (2 of 2 overloads)">generic::basic_endpoint::data
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.data_type"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type" title="generic::basic_endpoint::data_type">generic::basic_endpoint::data_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200251760"></a>
-The type of the endpoint structure. This
- type is dependent on the underlying implementation of the socket layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">data_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.data_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.data_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_" title="generic::basic_endpoint::operator!=">generic::basic_endpoint::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200264048"></a>
-Compare two endpoints for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_" title="generic::basic_endpoint::operator&lt;">generic::basic_endpoint::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200286960"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_" title="generic::basic_endpoint::operator&lt;=">generic::basic_endpoint::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200309584"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_" title="generic::basic_endpoint::operator=">generic::basic_endpoint::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200332304"></a>
-Assign from another endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_" title="generic::basic_endpoint::operator==">generic::basic_endpoint::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200342144"></a>
-Compare two endpoints for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_" title="generic::basic_endpoint::operator&gt;">generic::basic_endpoint::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200364736"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_" title="generic::basic_endpoint::operator&gt;=">generic::basic_endpoint::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200387136"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol" title="generic::basic_endpoint::protocol">generic::basic_endpoint::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200409824"></a>
-The protocol associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">protocol_type</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type" title="generic::basic_endpoint::protocol_type">generic::basic_endpoint::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200416912"></a>
-The protocol type associated with the
- endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__basic_endpoint.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.resize"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize" title="generic::basic_endpoint::resize">generic::basic_endpoint::resize</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200429072"></a>
-Set the underlying size of the endpoint in
- the native type.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resize</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">new_size</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__basic_endpoint.size"></a><a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.size" title="generic::basic_endpoint::size">generic::basic_endpoint::size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200437776"></a>
-Get the underlying size of the endpoint in the
- native type.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol" title="generic::datagram_protocol">generic::datagram_protocol</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol">generic::datagram_protocol::datagram_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint">generic::datagram_protocol::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.family">generic::datagram_protocol::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_not__eq_">generic::datagram_protocol::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_eq__eq_">generic::datagram_protocol::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.protocol">generic::datagram_protocol::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.socket">generic::datagram_protocol::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.type">generic::datagram_protocol::type</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for a generic datagram-oriented socket.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">datagram_protocol</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__datagram_protocol.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint" title="generic::datagram_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of an endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket" title="generic::datagram_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The generic socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__datagram_protocol.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol" title="generic::datagram_protocol::datagram_protocol"><span class="bold"><strong>datagram_protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a protocol object for a specific address family and protocol.
- </p>
- <p>
- Construct a generic protocol object from a specific protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.family" title="generic::datagram_protocol::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.protocol" title="generic::datagram_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.type" title="generic::datagram_protocol::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__datagram_protocol.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_not__eq_" title="generic::datagram_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_eq__eq_" title="generic::datagram_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol" title="generic::datagram_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code></a> class contains
- flags necessary for datagram-oriented sockets of any address family and protocol.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__datagram_protocol.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.examples">Examples</a>
- </h5>
-<p>
- Constructing using a native address family and socket protocol:
- </p>
-<pre class="programlisting"><span class="identifier">datagram_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_UDP</span><span class="special">);</span>
-</pre>
-<p>
- Constructing from a specific protocol type:
- </p>
-<pre class="programlisting"><span class="identifier">datagram_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__datagram_protocol.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__datagram_protocol.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol" title="generic::datagram_protocol::datagram_protocol">generic::datagram_protocol::datagram_protocol</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload1">generic::datagram_protocol::datagram_protocol
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2">generic::datagram_protocol::datagram_protocol
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp200529168"></a>
-Construct a protocol object
- for a specific address family and protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload1" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">datagram_protocol</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload1" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">datagram_protocol</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload1"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload1" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">generic::datagram_protocol::datagram_protocol
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a protocol object for a specific address family and protocol.
- </p>
-<pre class="programlisting"><span class="identifier">datagram_protocol</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">generic::datagram_protocol::datagram_protocol
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="identifier">datagram_protocol</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">@c</span></dt>
-<dd><p>
- bad_cast Thrown if the source protocol is not datagram-oriented.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint" title="generic::datagram_protocol::endpoint">generic::datagram_protocol::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200574496"></a>
-The type of an endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint from the specified socket address.
- </p>
- <p>
- Construct an endpoint from the specific endpoint type.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.size" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with any socket type.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint.remarks">Remarks</a>
- </h6>
-<p>
- The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.family"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.family" title="generic::datagram_protocol::family">generic::datagram_protocol::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200673392"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_not__eq_" title="generic::datagram_protocol::operator!=">generic::datagram_protocol::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200680416"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_eq__eq_" title="generic::datagram_protocol::operator==">generic::datagram_protocol::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200699360"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.protocol" title="generic::datagram_protocol::protocol">generic::datagram_protocol::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200718096"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.socket"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket" title="generic::datagram_protocol::socket">generic::datagram_protocol::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200725168"></a>
-The generic socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_datagram_socket without opening it.
- </p>
- <p>
- Construct and open a basic_datagram_socket.
- </p>
- <p>
- Construct a basic_datagram_socket, opening it and binding it
- to the given local endpoint.
- </p>
- <p>
- Construct a basic_datagram_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_datagram_socket from another.
- </p>
- <p>
- Move-construct a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.is_open" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_datagram_socket from another.
- </p>
- <p>
- Move-assign a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive a datagram with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a datagram to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
- provides asynchronous and blocking datagram-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__datagram_protocol.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__datagram_protocol.type"></a><a class="link" href="reference.html#boost_asio.reference.generic__datagram_protocol.type" title="generic::datagram_protocol::type">generic::datagram_protocol::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp200994688"></a>
-Obtain an identifier for the type of the
- protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.generic__raw_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol" title="generic::raw_protocol">generic::raw_protocol</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint">generic::raw_protocol::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.family">generic::raw_protocol::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.operator_not__eq_">generic::raw_protocol::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.operator_eq__eq_">generic::raw_protocol::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.protocol">generic::raw_protocol::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol">generic::raw_protocol::raw_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.socket">generic::raw_protocol::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.type">generic::raw_protocol::type</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for a generic raw socket.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">raw_protocol</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__raw_protocol.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint" title="generic::raw_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of an endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket" title="generic::raw_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The generic socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__raw_protocol.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.family" title="generic::raw_protocol::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.protocol" title="generic::raw_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol" title="generic::raw_protocol::raw_protocol"><span class="bold"><strong>raw_protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a protocol object for a specific address family and protocol.
- </p>
- <p>
- Construct a generic protocol object from a specific protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.type" title="generic::raw_protocol::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__raw_protocol.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_not__eq_" title="generic::raw_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_eq__eq_" title="generic::raw_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol" title="generic::raw_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">raw_protocol</span></code></a> class contains flags
- necessary for raw sockets of any address family and protocol.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__raw_protocol.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.examples">Examples</a>
- </h5>
-<p>
- Constructing using a native address family and socket protocol:
- </p>
-<pre class="programlisting"><span class="identifier">raw_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_ICMP</span><span class="special">);</span>
-</pre>
-<p>
- Constructing from a specific protocol type:
- </p>
-<pre class="programlisting"><span class="identifier">raw_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__raw_protocol.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__raw_protocol.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint" title="generic::raw_protocol::endpoint">generic::raw_protocol::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201084544"></a>
-The type of an endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">raw_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint from the specified socket address.
- </p>
- <p>
- Construct an endpoint from the specific endpoint type.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.size" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with any socket type.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint.remarks">Remarks</a>
- </h6>
-<p>
- The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.family"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.family" title="generic::raw_protocol::family">generic::raw_protocol::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201183376"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_not__eq_" title="generic::raw_protocol::operator!=">generic::raw_protocol::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201190384"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_eq__eq_" title="generic::raw_protocol::operator==">generic::raw_protocol::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201209248"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.protocol" title="generic::raw_protocol::protocol">generic::raw_protocol::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201228000"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.raw_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol" title="generic::raw_protocol::raw_protocol">generic::raw_protocol::raw_protocol</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload1">generic::raw_protocol::raw_protocol
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload2">generic::raw_protocol::raw_protocol
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp201235056"></a>
-Construct a protocol object for a specific
- address family and protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload1" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">raw_protocol</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload1" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload2" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">raw_protocol</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload2" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload1"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload1" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">generic::raw_protocol::raw_protocol
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a protocol object for a specific address family and protocol.
- </p>
-<pre class="programlisting"><span class="identifier">raw_protocol</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload2"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload2" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">generic::raw_protocol::raw_protocol
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="identifier">raw_protocol</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">@c</span></dt>
-<dd><p>
- bad_cast Thrown if the source protocol is not raw-oriented.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.socket"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket" title="generic::raw_protocol::socket">generic::raw_protocol::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201279904"></a>
-The generic socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">raw_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast" title="basic_raw_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable" title="basic_raw_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.debug" title="basic_raw_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route" title="basic_raw_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted" title="basic_raw_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type" title="basic_raw_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type" title="basic_raw_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive" title="basic_raw_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.linger" title="basic_raw_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type" title="basic_raw_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_flags" title="basic_raw_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type" title="basic_raw_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_type" title="basic_raw_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io" title="basic_raw_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type" title="basic_raw_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size" title="basic_raw_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark" title="basic_raw_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address" title="basic_raw_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size" title="basic_raw_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark" title="basic_raw_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service_type" title="basic_raw_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type" title="basic_raw_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign" title="basic_raw_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect" title="basic_raw_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive" title="basic_raw_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from" title="basic_raw_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send" title="basic_raw_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to" title="basic_raw_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark" title="basic_raw_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available" title="basic_raw_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket" title="basic_raw_socket::basic_raw_socket"><span class="bold"><strong>basic_raw_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_raw_socket without opening it.
- </p>
- <p>
- Construct and open a basic_raw_socket.
- </p>
- <p>
- Construct a basic_raw_socket, opening it and binding it to the
- given local endpoint.
- </p>
- <p>
- Construct a basic_raw_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_raw_socket from another.
- </p>
- <p>
- Move-construct a basic_raw_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind" title="basic_raw_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel" title="basic_raw_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close" title="basic_raw_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect" title="basic_raw_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service" title="basic_raw_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option" title="basic_raw_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control" title="basic_raw_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.is_open" title="basic_raw_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint" title="basic_raw_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer" title="basic_raw_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native" title="basic_raw_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle" title="basic_raw_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking" title="basic_raw_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking" title="basic_raw_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open" title="basic_raw_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_" title="basic_raw_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_raw_socket from another.
- </p>
- <p>
- Move-assign a basic_raw_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive" title="basic_raw_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from" title="basic_raw_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive raw data with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint" title="basic_raw_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send" title="basic_raw_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to" title="basic_raw_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send raw data to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option" title="basic_raw_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown" title="basic_raw_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation" title="basic_raw_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service" title="basic_raw_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.max_connections" title="basic_raw_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_do_not_route" title="basic_raw_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_end_of_record" title="basic_raw_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_out_of_band" title="basic_raw_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_peek" title="basic_raw_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation" title="basic_raw_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service" title="basic_raw_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> class template
- provides asynchronous and blocking raw-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__raw_protocol.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__raw_protocol.type"></a><a class="link" href="reference.html#boost_asio.reference.generic__raw_protocol.type" title="generic::raw_protocol::type">generic::raw_protocol::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201548288"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol" title="generic::seq_packet_protocol">generic::seq_packet_protocol</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint">generic::seq_packet_protocol::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.family">generic::seq_packet_protocol::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_">generic::seq_packet_protocol::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_">generic::seq_packet_protocol::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.protocol">generic::seq_packet_protocol::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol">generic::seq_packet_protocol::seq_packet_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket">generic::seq_packet_protocol::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.type">generic::seq_packet_protocol::type</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for a generic sequenced packet socket.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">seq_packet_protocol</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__seq_packet_protocol.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint" title="generic::seq_packet_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of an endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket" title="generic::seq_packet_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The generic socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__seq_packet_protocol.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.family" title="generic::seq_packet_protocol::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.protocol" title="generic::seq_packet_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol" title="generic::seq_packet_protocol::seq_packet_protocol"><span class="bold"><strong>seq_packet_protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a protocol object for a specific address family and protocol.
- </p>
- <p>
- Construct a generic protocol object from a specific protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.type" title="generic::seq_packet_protocol::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__seq_packet_protocol.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_" title="generic::seq_packet_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_" title="generic::seq_packet_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol" title="generic::seq_packet_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">seq_packet_protocol</span></code></a> class contains
- flags necessary for seq_packet-oriented sockets of any address family and
- protocol.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__seq_packet_protocol.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.examples">Examples</a>
- </h5>
-<p>
- Constructing using a native address family and socket protocol:
- </p>
-<pre class="programlisting"><span class="identifier">seq_packet_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_SCTP</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__seq_packet_protocol.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__seq_packet_protocol.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint" title="generic::seq_packet_protocol::endpoint">generic::seq_packet_protocol::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201630496"></a>
-The type of an endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint from the specified socket address.
- </p>
- <p>
- Construct an endpoint from the specific endpoint type.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.size" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with any socket type.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.remarks">Remarks</a>
- </h6>
-<p>
- The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.family"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.family" title="generic::seq_packet_protocol::family">generic::seq_packet_protocol::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201729824"></a>
-Obtain an identifier for the protocol
- family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_" title="generic::seq_packet_protocol::operator!=">generic::seq_packet_protocol::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201736912"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_" title="generic::seq_packet_protocol::operator==">generic::seq_packet_protocol::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201755872"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.protocol" title="generic::seq_packet_protocol::protocol">generic::seq_packet_protocol::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201774592"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol" title="generic::seq_packet_protocol::seq_packet_protocol">generic::seq_packet_protocol::seq_packet_protocol</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload1">generic::seq_packet_protocol::seq_packet_protocol
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2">generic::seq_packet_protocol::seq_packet_protocol
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp201781680"></a>
-Construct a protocol object
- for a specific address family and protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload1" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">seq_packet_protocol</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload1" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">seq_packet_protocol</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload1"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload1" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">generic::seq_packet_protocol::seq_packet_protocol
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a protocol object for a specific address family and protocol.
- </p>
-<pre class="programlisting"><span class="identifier">seq_packet_protocol</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">generic::seq_packet_protocol::seq_packet_protocol
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="identifier">seq_packet_protocol</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">@c</span></dt>
-<dd><p>
- bad_cast Thrown if the source protocol is not based around sequenced
- packets.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket" title="generic::seq_packet_protocol::socket">generic::seq_packet_protocol::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp201826976"></a>
-The generic socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.broadcast" title="basic_seq_packet_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable" title="basic_seq_packet_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.debug" title="basic_seq_packet_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.do_not_route" title="basic_seq_packet_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted" title="basic_seq_packet_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type" title="basic_seq_packet_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation_type" title="basic_seq_packet_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.keep_alive" title="basic_seq_packet_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.linger" title="basic_seq_packet_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type" title="basic_seq_packet_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_flags" title="basic_seq_packet_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type" title="basic_seq_packet_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_type" title="basic_seq_packet_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io" title="basic_seq_packet_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.protocol_type" title="basic_seq_packet_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size" title="basic_seq_packet_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark" title="basic_seq_packet_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.reuse_address" title="basic_seq_packet_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size" title="basic_seq_packet_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark" title="basic_seq_packet_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service_type" title="basic_seq_packet_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type" title="basic_seq_packet_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.assign" title="basic_seq_packet_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_connect" title="basic_seq_packet_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_receive" title="basic_seq_packet_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.async_send" title="basic_seq_packet_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.at_mark" title="basic_seq_packet_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.available" title="basic_seq_packet_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket" title="basic_seq_packet_socket::basic_seq_packet_socket"><span class="bold"><strong>basic_seq_packet_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_seq_packet_socket without opening it.
- </p>
- <p>
- Construct and open a basic_seq_packet_socket.
- </p>
- <p>
- Construct a basic_seq_packet_socket, opening it and binding it
- to the given local endpoint.
- </p>
- <p>
- Construct a basic_seq_packet_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_seq_packet_socket from another.
- </p>
- <p>
- Move-construct a basic_seq_packet_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.bind" title="basic_seq_packet_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.cancel" title="basic_seq_packet_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.close" title="basic_seq_packet_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.connect" title="basic_seq_packet_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_io_service" title="basic_seq_packet_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_option" title="basic_seq_packet_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.io_control" title="basic_seq_packet_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.is_open" title="basic_seq_packet_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint" title="basic_seq_packet_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer" title="basic_seq_packet_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native" title="basic_seq_packet_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_handle" title="basic_seq_packet_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking" title="basic_seq_packet_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.non_blocking" title="basic_seq_packet_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.open" title="basic_seq_packet_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_" title="basic_seq_packet_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_seq_packet_socket from another.
- </p>
- <p>
- Move-assign a basic_seq_packet_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.receive" title="basic_seq_packet_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on the socket.
- </p>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint" title="basic_seq_packet_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.send" title="basic_seq_packet_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.set_option" title="basic_seq_packet_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.shutdown" title="basic_seq_packet_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_implementation" title="basic_seq_packet_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.get_service" title="basic_seq_packet_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.max_connections" title="basic_seq_packet_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_do_not_route" title="basic_seq_packet_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_end_of_record" title="basic_seq_packet_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_out_of_band" title="basic_seq_packet_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.message_peek" title="basic_seq_packet_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.implementation" title="basic_seq_packet_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket.service" title="basic_seq_packet_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_seq_packet_socket" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> class
- template provides asynchronous and blocking sequenced packet socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__seq_packet_protocol.type"></a><a class="link" href="reference.html#boost_asio.reference.generic__seq_packet_protocol.type" title="generic::seq_packet_protocol::type">generic::seq_packet_protocol::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202084032"></a>
-Obtain an identifier for the type of the
- protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.generic__stream_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol" title="generic::stream_protocol">generic::stream_protocol</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint">generic::stream_protocol::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.family">generic::stream_protocol::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.iostream">generic::stream_protocol::iostream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.operator_not__eq_">generic::stream_protocol::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.operator_eq__eq_">generic::stream_protocol::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.protocol">generic::stream_protocol::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.socket">generic::stream_protocol::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol">generic::stream_protocol::stream_protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.type">generic::stream_protocol::type</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for a generic stream-oriented socket.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_protocol</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__stream_protocol.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint" title="generic::stream_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of an endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream" title="generic::stream_protocol::iostream"><span class="bold"><strong>iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The generic socket iostream type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket" title="generic::stream_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The generic socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__stream_protocol.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.family" title="generic::stream_protocol::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.protocol" title="generic::stream_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol" title="generic::stream_protocol::stream_protocol"><span class="bold"><strong>stream_protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a protocol object for a specific address family and protocol.
- </p>
- <p>
- Construct a generic protocol object from a specific protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.type" title="generic::stream_protocol::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.generic__stream_protocol.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_not__eq_" title="generic::stream_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_eq__eq_" title="generic::stream_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol" title="generic::stream_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span></code></a> class contains flags
- necessary for stream-oriented sockets of any address family and protocol.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__stream_protocol.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.examples">Examples</a>
- </h5>
-<p>
- Constructing using a native address family and socket protocol:
- </p>
-<pre class="programlisting"><span class="identifier">stream_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_TCP</span><span class="special">);</span>
-</pre>
-<p>
- Constructing from a specific protocol type:
- </p>
-<pre class="programlisting"><span class="identifier">stream_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.generic__stream_protocol.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.generic__stream_protocol.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint" title="generic::stream_protocol::endpoint">generic::stream_protocol::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202177184"></a>
-The type of an endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data_type" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol_type" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.basic_endpoint" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint from the specified socket address.
- </p>
- <p>
- Construct an endpoint from the specific endpoint type.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.capacity" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.data" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq_" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.protocol" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.resize" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.size" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt_" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt_" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.generic__basic_endpoint" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with any socket type.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint.remarks">Remarks</a>
- </h6>
-<p>
- The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.family"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.family" title="generic::stream_protocol::family">generic::stream_protocol::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202276096"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.iostream"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream" title="generic::stream_protocol::iostream">generic::stream_protocol::iostream</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202283120"></a>
-The generic socket iostream type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_iostream</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">iostream</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.iostream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.iostream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.iostream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.iostream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket_iostream without establishing a connection.
- </p>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.close" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the connection.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.connect" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the last error associated with the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the stream's expiry time as an absolute time.
- </p>
- <p>
- Set the stream's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the stream's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Return a pointer to the underlying streambuf.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.iostream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.iostream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.iostream.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_not__eq_" title="generic::stream_protocol::operator!=">generic::stream_protocol::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202345536"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_eq__eq_" title="generic::stream_protocol::operator==">generic::stream_protocol::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202364464"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.protocol" title="generic::stream_protocol::protocol">generic::stream_protocol::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202383232"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.socket"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket" title="generic::stream_protocol::socket">generic::stream_protocol::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202390240"></a>
-The generic socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_type" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service_type" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_socket without opening it.
- </p>
- <p>
- Construct and open a basic_stream_socket.
- </p>
- <p>
- Construct a basic_stream_socket, opening it and binding it to
- the given local endpoint.
- </p>
- <p>
- Construct a basic_stream_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_stream_socket from another.
- </p>
- <p>
- Move-construct a basic_stream_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.is_open" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_socket from another.
- </p>
- <p>
- Move-assign a basic_stream_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on the socket.
- </p>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.max_connections" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_peek" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
- provides asynchronous and blocking stream-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.stream_protocol"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol" title="generic::stream_protocol::stream_protocol">generic::stream_protocol::stream_protocol</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload1">generic::stream_protocol::stream_protocol
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload2">generic::stream_protocol::stream_protocol
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp202659568"></a>
-Construct a protocol object for
- a specific address family and protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload1" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">stream_protocol</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload1" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload2" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">stream_protocol</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload2" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload1"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload1" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">generic::stream_protocol::stream_protocol
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a protocol object for a specific address family and protocol.
- </p>
-<pre class="programlisting"><span class="identifier">stream_protocol</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload2"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload2" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">generic::stream_protocol::stream_protocol
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a generic protocol object from a specific protocol.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="identifier">stream_protocol</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">@c</span></dt>
-<dd><p>
- bad_cast Thrown if the source protocol is not stream-oriented.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.generic__stream_protocol.type"></a><a class="link" href="reference.html#boost_asio.reference.generic__stream_protocol.type" title="generic::stream_protocol::type">generic::stream_protocol::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202704512"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.handler_type"></a><a class="link" href="reference.html#boost_asio.reference.handler_type" title="handler_type">handler_type</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.handler_type.type">handler_type::type</a></span></dt></dl></div>
-<p>
- Default handler type traits provided for all handlers.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Signature</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">handler_type</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.handler_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.handler_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.handler_type.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.handler_type.type" title="handler_type::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The handler type for the specific signature.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.handler_type" title="handler_type"><code class="computeroutput"><span class="identifier">handler_type</span></code></a>
- traits class is used for determining the concrete handler type to be used
- for an asynchronous operation. It allows the handler type to be determined
- at the point where the specific completion handler signature is known.
- </p>
-<p>
- This template may be specialised for user-defined handler types.
- </p>
-<h5>
-<a name="boost_asio.reference.handler_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.handler_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.handler_type.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_type.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.handler_type.type"></a><a class="link" href="reference.html#boost_asio.reference.handler_type.type" title="handler_type::type">handler_type::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp202739248"></a>
-The handler type for the specific signature.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Handler</span> <span class="identifier">type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.handler_type.type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.handler_type.type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.handler_type.type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_type.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.has_service"></a><a class="link" href="reference.html#boost_asio.reference.has_service" title="has_service">has_service</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp202751328"></a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">has_service</span><span class="special">(</span>
- <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to determine whether the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains a service object
- corresponding to the given service type.
- </p>
-<h5>
-<a name="boost_asio.reference.has_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.has_service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.has_service.parameters">Parameters</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ios</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object that owns the service.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.has_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.has_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.has_service.return_value">Return
- Value</a>
- </h5>
-<p>
- A boolean indicating whether the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains the service.
- </p>
-<h5>
-<a name="boost_asio.reference.has_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.has_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.has_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.high_resolution_timer"></a><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer" title="high_resolution_timer">high_resolution_timer</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp202781904"></a>
-Typedef for a timer based on the high resolution clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span> <span class="identifier">high_resolution_timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.types"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The clock type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.duration" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time point type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The wait traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
- <p>
- Constructor to set a particular expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time as an absolute time.
- </p>
- <p>
- Set the timer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the timer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the timer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
- provides the ability to perform a blocking or asynchronous wait for a timer
- to expire.
- </p>
-<p>
- A waitable timer is always in one of two states: "expired" or "not
- expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
- the wait operation will complete immediately.
- </p>
-<p>
- Most applications will use one of the <a class="link" href="reference.html#boost_asio.reference.steady_timer" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="reference.html#boost_asio.reference.system_timer" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="reference.html#boost_asio.reference.high_resolution_timer" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
- </p>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.remarks">Remarks</a>
- </h5>
-<p>
- This waitable timer functionality is for use with the C++11 standard library's
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
- </p>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.examples">Examples</a>
- </h5>
-<p>
- Performing a blocking wait (C++11):
- </p>
-<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// Set an expiry time relative to now.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-
-<span class="comment">// Wait for the timer to expire.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Performing an asynchronous wait (C++11):
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer expired.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a timer with an absolute expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
-
-<span class="comment">// Start an asynchronous wait.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
- an active waitable timer's expiry time</a>
- </h5>
-<p>
- Changing the expiry time of a timer while there are pending asynchronous
- waits causes those wait operations to be cancelled. To ensure that the action
- associated with the timer is performed only once, use something like this:
- used:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
- <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="comment">// Too late, timer has already expired!</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer was not cancelled, take necessary action.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- function cancels any pending asynchronous waits, and returns the number
- of asynchronous waits that were cancelled. If it returns 0 then you were
- too late and the wait handler has already been executed, or will soon
- be executed. If it returns 1 then the wait handler was successfully cancelled.
- </li>
-<li class="listitem">
- If a wait handler is cancelled, the boost::system::error_code passed
- to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<p>
- This typedef uses the C++11 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code>
- standard library facility, if available. Otherwise, it may use the Boost.Chrono
- library. To explicitly utilise Boost.Chrono, use the <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> template directly:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">&gt;</span> <span class="identifier">timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.high_resolution_timer.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.high_resolution_timer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/high_resolution_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.invalid_service_owner"></a><a class="link" href="reference.html#boost_asio.reference.invalid_service_owner" title="invalid_service_owner">invalid_service_owner</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.invalid_service_owner.invalid_service_owner">invalid_service_owner::invalid_service_owner</a></span></dt></dl></div>
-<p>
- Exception thrown when trying to add a service object to an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> where the service has
- a different owner.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">invalid_service_owner</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.invalid_service_owner.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.invalid_service_owner.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.invalid_service_owner.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.invalid_service_owner.invalid_service_owner" title="invalid_service_owner::invalid_service_owner"><span class="bold"><strong>invalid_service_owner</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.invalid_service_owner.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.invalid_service_owner.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.invalid_service_owner.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.invalid_service_owner.invalid_service_owner"></a><a class="link" href="reference.html#boost_asio.reference.invalid_service_owner.invalid_service_owner" title="invalid_service_owner::invalid_service_owner">invalid_service_owner::invalid_service_owner</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203046320"></a>
- </p>
-<pre class="programlisting"><span class="identifier">invalid_service_owner</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.io_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.add_service">io_service::add_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.dispatch">io_service::dispatch</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.fork_event">io_service::fork_event</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.has_service">io_service::has_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.io_service">io_service::io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.notify_fork">io_service::notify_fork</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.poll">io_service::poll</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.poll_one">io_service::poll_one</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.post">io_service::post</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.reset">io_service::reset</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.run">io_service::run</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.run_one">io_service::run_one</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.stop">io_service::stop</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.stopped">io_service::stopped</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.use_service">io_service::use_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.wrap">io_service::wrap</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service._io_service">io_service::~io_service</a></span></dt>
-</dl></div>
-<p>
- Provides core I/O functionality.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">io_service</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__id" title="io_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Class used to uniquely identify a service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__service" title="io_service::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Base class for all io_service services.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand"><span class="bold"><strong>strand</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Provides serialised handler execution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__work" title="io_service::work"><span class="bold"><strong>work</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Class to inform the io_service when it has work to do.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.fork_event" title="io_service::fork_event"><span class="bold"><strong>fork_event</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Fork-related event notifications.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.io_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.dispatch" title="io_service::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Request the io_service to invoke the given handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.io_service" title="io_service::io_service"><span class="bold"><strong>io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.notify_fork" title="io_service::notify_fork"><span class="bold"><strong>notify_fork</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Notify the io_service of a fork-related event.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.poll" title="io_service::poll"><span class="bold"><strong>poll</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Run the io_service object's event processing loop to execute ready
- handlers.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.poll_one" title="io_service::poll_one"><span class="bold"><strong>poll_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Run the io_service object's event processing loop to execute one
- ready handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.post" title="io_service::post"><span class="bold"><strong>post</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Request the io_service to invoke the given handler and return immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.reset" title="io_service::reset"><span class="bold"><strong>reset</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Reset the io_service in preparation for a subsequent run() invocation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run"><span class="bold"><strong>run</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Run the io_service object's event processing loop.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.run_one" title="io_service::run_one"><span class="bold"><strong>run_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Run the io_service object's event processing loop to execute at
- most one handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.stop" title="io_service::stop"><span class="bold"><strong>stop</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Stop the io_service object's event processing loop.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.stopped" title="io_service::stopped"><span class="bold"><strong>stopped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the io_service object has been stopped.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.wrap" title="io_service::wrap"><span class="bold"><strong>wrap</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new handler that automatically dispatches the wrapped
- handler on the io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service._io_service" title="io_service::~io_service"><span class="bold"><strong>~io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.io_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.add_service" title="io_service::add_service"><span class="bold"><strong>add_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add a service object to the io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.has_service" title="io_service::has_service"><span class="bold"><strong>has_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine if an io_service contains a specified service type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service.use_service" title="io_service::use_service"><span class="bold"><strong>use_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain the service object corresponding to the given type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- class provides the core I/O functionality for users of the asynchronous I/O
- objects, including:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span></code>
- </li>
-<li class="listitem">
- <a class="link" href="reference.html#boost_asio.reference.deadline_timer" title="deadline_timer"><code class="computeroutput"><span class="identifier">deadline_timer</span></code></a>.
- </li>
-</ul></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- class also includes facilities intended for developers of custom asynchronous
- services.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe, with the
- specific exceptions of the <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">notify_fork</span><span class="special">()</span></code> functions. Calling <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code> while there are unfinished <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- calls results in undefined behaviour. The <code class="computeroutput"><span class="identifier">notify_fork</span><span class="special">()</span></code> function should not be called while any
- <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- function, or any function on an I/O object that is associated with the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>,
- is being called in another thread.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.synchronous_and_asynchronous_operations"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.synchronous_and_asynchronous_operations">Synchronous
- and asynchronous operations</a>
- </h5>
-<p>
- Synchronous operations on I/O objects implicitly run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object for an individual
- operation. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> functions <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- must be called for the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to perform asynchronous
- operations on behalf of a C++ program. Notification that an asynchronous
- operation has completed is delivered by invocation of the associated handler.
- Handlers are invoked only by a thread that is currently calling any overload
- of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- for the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.effect_of_exceptions_thrown_from_handlers"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.effect_of_exceptions_thrown_from_handlers">Effect
- of exceptions thrown from handlers</a>
- </h5>
-<p>
- If an exception is thrown from a handler, the exception is allowed to propagate
- through the throwing thread's invocation of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>. No other threads that are calling any
- of these functions are affected. It is then the responsibility of the application
- to catch the exception.
- </p>
-<p>
- After the exception has been caught, the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> call may be restarted <span class="emphasis"><em>without</em></span>
- the need for an intervening call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>. This allows the thread to rejoin the
- <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object's thread pool without impacting any other threads in the pool.
- </p>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-<span class="special">...</span>
-<span class="keyword">for</span> <span class="special">(;;)</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="keyword">break</span><span class="special">;</span> <span class="comment">// run() exited normally</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">my_exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Deal with exception as appropriate.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.stopping_the_io_service_from_running_out_of_work"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.stopping_the_io_service_from_running_out_of_work">Stopping
- the io_service from running out of work</a>
- </h5>
-<p>
- Some applications may need to prevent an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> call
- from returning when there is no more work to do. For example, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> may be being run in a
- background thread that is launched prior to the application's asynchronous
- operations. The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- call may be kept running by creating an object of type <a class="link" href="reference.html#boost_asio.reference.io_service__work" title="io_service::work"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span></code></a>:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span> <span class="identifier">work</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-</pre>
-<p>
- To effect a shutdown, the application will then need to call the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code>
- member function. This will cause the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> call to return as soon as possible, abandoning
- unfinished operations and without permitting ready handlers to be dispatched.
- </p>
-<p>
- Alternatively, if the application requires that all operations and handlers
- be allowed to finish normally, the work object may be explicitly destroyed.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-<span class="identifier">auto_ptr</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span><span class="special">&gt;</span> <span class="identifier">work</span><span class="special">(</span>
- <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
-<span class="special">...</span>
-<span class="identifier">work</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span> <span class="comment">// Allow run() to exit. </span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.the_io_service_class_and_i_o_services"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.the_io_service_class_and_i_o_services">The
- io_service class and I/O services</a>
- </h5>
-<p>
- Class <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- implements an extensible, type-safe, polymorphic set of I/O services, indexed
- by service type. An object of class <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> must be initialised before
- I/O objects such as sockets, resolvers and timers can be used. These I/O
- objects are distinguished by having constructors that accept an <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
- parameter.
- </p>
-<p>
- I/O services exist to manage the logical interface to the operating system
- on behalf of the I/O objects. In particular, there are resources that are
- shared across a class of I/O objects. For example, timers may be implemented
- in terms of a single timer queue. The I/O services manage these shared resources.
- </p>
-<p>
- Access to the services of an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> is via three function
- templates, <code class="computeroutput"><span class="identifier">use_service</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">add_service</span><span class="special">()</span></code>
- and <code class="computeroutput"><span class="identifier">has_service</span><span class="special">()</span></code>.
- </p>
-<p>
- In a call to <code class="computeroutput"><span class="identifier">use_service</span><span class="special">&lt;</span><span class="identifier">Service</span><span class="special">&gt;()</span></code>, the type argument chooses a service,
- making available all members of the named type. If <code class="computeroutput"><span class="identifier">Service</span></code>
- is not present in an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, an object of type <code class="computeroutput"><span class="identifier">Service</span></code> is created and added to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- A C++ program can check if an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> implements a particular
- service with the function template <code class="computeroutput"><span class="identifier">has_service</span><span class="special">&lt;</span><span class="identifier">Service</span><span class="special">&gt;()</span></code>.
- </p>
-<p>
- Service objects may be explicitly added to an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> using the function template
- <code class="computeroutput"><span class="identifier">add_service</span><span class="special">&lt;</span><span class="identifier">Service</span><span class="special">&gt;()</span></code>.
- If the <code class="computeroutput"><span class="identifier">Service</span></code> is already
- present, the <a class="link" href="reference.html#boost_asio.reference.service_already_exists" title="service_already_exists"><code class="computeroutput"><span class="identifier">service_already_exists</span></code></a> exception
- is thrown. If the owner of the service is not the same object as the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- parameter, the <a class="link" href="reference.html#boost_asio.reference.invalid_service_owner" title="invalid_service_owner"><code class="computeroutput"><span class="identifier">invalid_service_owner</span></code></a> exception
- is thrown.
- </p>
-<p>
- Once a service reference is obtained from an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object by calling <code class="computeroutput"><span class="identifier">use_service</span><span class="special">()</span></code>,
- that reference remains usable as long as the owning <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object exists.
- </p>
-<p>
- All I/O service implementations have <a class="link" href="reference.html#boost_asio.reference.io_service__service" title="io_service::service"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span></code></a> as a public base class.
- Custom I/O services may be implemented by deriving from this class and then
- added to an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> using the facilities
- described above.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.add_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service.add_service" title="io_service::add_service">io_service::add_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203370336"></a>
-Add a service object to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">add_service</span><span class="special">(</span>
- <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">,</span>
- <span class="identifier">Service</span> <span class="special">*</span> <span class="identifier">svc</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to add a service to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.add_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.add_service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.add_service.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ios</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
- the service.
- </p></dd>
-<dt><span class="term">svc</span></dt>
-<dd>
-<p>
- The service object. On success, ownership of the service object is
- transferred to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. When the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object is destroyed, it will destroy the service object by performing:
-</p>
-<pre class="programlisting"><span class="keyword">delete</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">*&gt;(</span><span class="identifier">svc</span><span class="special">)</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.add_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.add_service.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.add_service.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::asio::service_already_exists</span></dt>
-<dd><p>
- Thrown if a service of the given type is already present in the
- <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p></dd>
-<dt><span class="term">boost::asio::invalid_service_owner</span></dt>
-<dd><p>
- Thrown if the service's owning <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> is not the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object specified by the ios parameter.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.add_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.add_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.add_service.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.dispatch"></a><a class="link" href="reference.html#boost_asio.reference.io_service.dispatch" title="io_service::dispatch">io_service::dispatch</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203423968"></a>
-Request the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to invoke the given
- handler.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">dispatch</span><span class="special">(</span>
- <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to ask the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to execute the given
- handler.
- </p>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- guarantees that the handler will only be called in a thread in which the
- <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- member functions is currently being invoked. The handler may be executed
- inside this function if the guarantee can be met.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.dispatch.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.dispatch.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.dispatch.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will make a copy
- of the handler object as required. The function signature of the
- handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.dispatch.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.dispatch.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.dispatch.remarks">Remarks</a>
- </h6>
-<p>
- This function throws an exception only if:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- the handler's <code class="computeroutput"><span class="identifier">asio_handler_allocate</span></code>
- function; or
- </li>
-<li class="listitem">
- the handler's copy constructor
- </li>
-</ul></div>
-<p>
- throws an exception.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.fork_event"></a><a class="link" href="reference.html#boost_asio.reference.io_service.fork_event" title="io_service::fork_event">io_service::fork_event</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203464304"></a>
-Fork-related event notifications.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">fork_event</span>
-</pre>
-<p>
- <a class="indexterm" name="idp203467696"></a>
- <a class="indexterm" name="idp203468800"></a>
- <a class="indexterm" name="idp203469904"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.fork_event.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.fork_event.values"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.fork_event.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">fork_prepare</span></dt>
-<dd><p>
- Notify the io_service that the process is about to fork.
- </p></dd>
-<dt><span class="term">fork_parent</span></dt>
-<dd><p>
- Notify the io_service that the process has forked and is the parent.
- </p></dd>
-<dt><span class="term">fork_child</span></dt>
-<dd><p>
- Notify the io_service that the process has forked and is the child.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.has_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service.has_service" title="io_service::has_service">io_service::has_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203481680"></a>
-Determine if an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains a specified
- service type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="keyword">bool</span> <span class="identifier">has_service</span><span class="special">(</span>
- <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to determine whether the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains a service
- object corresponding to the given service type.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.has_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.has_service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.has_service.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ios</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
- the service.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.has_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.has_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.has_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A boolean indicating whether the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains the service.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.has_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.has_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.has_service.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.io_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service.io_service" title="io_service::io_service">io_service::io_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.io_service.overload1">io_service::io_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.io_service.overload2">io_service::io_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp203515024"></a>
-Constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload1" title="io_service::io_service (1 of 2 overloads)">io_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload1" title="io_service::io_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload2" title="io_service::io_service (2 of 2 overloads)">io_service</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">concurrency_hint</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload2" title="io_service::io_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.io_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload1" title="io_service::io_service (1 of 2 overloads)">io_service::io_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.io_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload2" title="io_service::io_service (2 of 2 overloads)">io_service::io_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">io_service</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">concurrency_hint</span><span class="special">);</span>
-</pre>
-<p>
- Construct with a hint about the required level of concurrency.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.io_service.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.io_service.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.io_service.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">concurrency_hint</span></dt>
-<dd><p>
- A suggestion to the implementation on how many threads it should
- allow to run simultaneously.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.notify_fork"></a><a class="link" href="reference.html#boost_asio.reference.io_service.notify_fork" title="io_service::notify_fork">io_service::notify_fork</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203544608"></a>
-Notify the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> of a fork-related event.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">notify_fork</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_event</span> <span class="identifier">event</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to inform the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that the process is
- about to fork, or has just forked. This allows the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, and the services it
- contains, to perform any necessary housekeeping to ensure correct operation
- following a fork.
- </p>
-<p>
- This function must not be called while any other <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> function, or any function
- on an I/O object associated with the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, is being called in
- another thread. It is, however, safe to call this function from within
- a completion handler, provided no other thread is accessing the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.notify_fork.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.notify_fork.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">event</span></dt>
-<dd><p>
- A fork-related event.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.notify_fork.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.notify_fork.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the notification fails the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object should
- no longer be used and should be destroyed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.notify_fork.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.example"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.notify_fork.example">Example</a>
- </h6>
-<p>
- The following code illustrates how to incorporate the <code class="computeroutput"><span class="identifier">notify_fork</span><span class="special">()</span></code> function:
- </p>
-<pre class="programlisting"><span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_prepare</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">fork</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// This is the child process.</span>
- <span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_child</span><span class="special">);</span>
-<span class="special">}</span>
-<span class="keyword">else</span>
-<span class="special">{</span>
- <span class="comment">// This is the parent process.</span>
- <span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_parent</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.io_service.notify_fork.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.notify_fork.remarks">Remarks</a>
- </h6>
-<p>
- For each service object <code class="computeroutput"><span class="identifier">svc</span></code>
- in the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- set, performs <code class="computeroutput"><span class="identifier">svc</span><span class="special">-&gt;</span><span class="identifier">fork_service</span><span class="special">();</span></code>.
- When processing the fork_prepare event, services are visited in reverse
- order of the beginning of service object lifetime. Otherwise, services
- are visited in order of the beginning of service object lifetime.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.poll"></a><a class="link" href="reference.html#boost_asio.reference.io_service.poll" title="io_service::poll">io_service::poll</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.poll.overload1">io_service::poll
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.poll.overload2">io_service::poll
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp203621920"></a>
-Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute ready handlers.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload1" title="io_service::poll (1 of 2 overloads)">poll</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload1" title="io_service::poll (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload2" title="io_service::poll (2 of 2 overloads)">poll</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload2" title="io_service::poll (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.poll.overload1"></a><a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload1" title="io_service::poll (1 of 2 overloads)">io_service::poll
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute ready handlers.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll</span><span class="special">();</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- function runs handlers that are ready to run, without blocking, until
- the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- has been stopped or there are no more ready handlers.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.poll.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.poll.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.poll.overload2"></a><a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload2" title="io_service::poll (2 of 2 overloads)">io_service::poll
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute ready handlers.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- function runs handlers that are ready to run, without blocking, until
- the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- has been stopped or there are no more ready handlers.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.poll.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.poll.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.poll_one"></a><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one" title="io_service::poll_one">io_service::poll_one</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.poll_one.overload1">io_service::poll_one
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.poll_one.overload2">io_service::poll_one
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp203685584"></a>
-Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute one ready handler.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload1" title="io_service::poll_one (1 of 2 overloads)">poll_one</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload1" title="io_service::poll_one (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload2" title="io_service::poll_one (2 of 2 overloads)">poll_one</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload2" title="io_service::poll_one (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.poll_one.overload1"></a><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload1" title="io_service::poll_one (1 of 2 overloads)">io_service::poll_one
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute one ready handler.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll_one</span><span class="special">();</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- function runs at most one handler that is ready to run, without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.poll_one.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.poll_one.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.poll_one.overload2"></a><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload2" title="io_service::poll_one (2 of 2 overloads)">io_service::poll_one
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute one ready handler.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll_one</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- function runs at most one handler that is ready to run, without blocking.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.poll_one.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.poll_one.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.poll_one.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.post"></a><a class="link" href="reference.html#boost_asio.reference.io_service.post" title="io_service::post">io_service::post</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203745904"></a>
-Request the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to invoke the given
- handler and return immediately.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">post</span><span class="special">(</span>
- <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to ask the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to execute the given
- handler, but without allowing the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to call the handler
- from inside this function.
- </p>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- guarantees that the handler will only be called in a thread in which the
- <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- member functions is currently being invoked.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.post.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.post.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.post.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will make a copy
- of the handler object as required. The function signature of the
- handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.post.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.post.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.post.remarks">Remarks</a>
- </h6>
-<p>
- This function throws an exception only if:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- the handler's <code class="computeroutput"><span class="identifier">asio_handler_allocate</span></code>
- function; or
- </li>
-<li class="listitem">
- the handler's copy constructor
- </li>
-</ul></div>
-<p>
- throws an exception.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.reset"></a><a class="link" href="reference.html#boost_asio.reference.io_service.reset" title="io_service::reset">io_service::reset</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp203787568"></a>
-Reset the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> in preparation for
- a subsequent <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- invocation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reset</span><span class="special">();</span>
-</pre>
-<p>
- This function must be called prior to any second or later set of invocations
- of the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- functions when a previous invocation of these functions returned due to
- the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- being stopped or running out of work. After a call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
- function will return <code class="computeroutput"><span class="keyword">false</span></code>.
- </p>
-<p>
- This function must not be called while there are any unfinished calls to
- the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- functions.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.run"></a><a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.run.overload1">io_service::run
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.run.overload2">io_service::run
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp203818688"></a>
-Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.run.overload1" title="io_service::run (1 of 2 overloads)">run</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.run.overload1" title="io_service::run (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.run.overload2" title="io_service::run (2 of 2 overloads)">run</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.run.overload2" title="io_service::run (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.run.overload1"></a><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload1" title="io_service::run (1 of 2 overloads)">io_service::run
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run</span><span class="special">();</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function blocks until all work has finished and there are no more handlers
- to be dispatched, or until the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> has been stopped.
- </p>
-<p>
- Multiple threads may call the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function to set up a pool of threads
- from which the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> may execute handlers.
- All threads that are waiting in the pool are equivalent and the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- may choose any one of them to invoke a handler.
- </p>
-<p>
- A normal exit from the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function implies that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
- (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
- function returns <code class="computeroutput"><span class="keyword">true</span></code>).
- Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
- is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.run.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function must not be called from a thread that is currently calling one
- of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- on the same <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- function may also be used to dispatch ready handlers, but without blocking.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.run.overload2"></a><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload2" title="io_service::run (2 of 2 overloads)">io_service::run
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function blocks until all work has finished and there are no more handlers
- to be dispatched, or until the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> has been stopped.
- </p>
-<p>
- Multiple threads may call the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function to set up a pool of threads
- from which the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> may execute handlers.
- All threads that are waiting in the pool are equivalent and the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- may choose any one of them to invoke a handler.
- </p>
-<p>
- A normal exit from the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function implies that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
- (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
- function returns <code class="computeroutput"><span class="keyword">true</span></code>).
- Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
- is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.run.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function must not be called from a thread that is currently calling one
- of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- on the same <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- function may also be used to dispatch ready handlers, but without blocking.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.run_one"></a><a class="link" href="reference.html#boost_asio.reference.io_service.run_one" title="io_service::run_one">io_service::run_one</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.run_one.overload1">io_service::run_one
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service.run_one.overload2">io_service::run_one
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp203952912"></a>
-Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute at most one handler.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload1" title="io_service::run_one (1 of 2 overloads)">run_one</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload1" title="io_service::run_one (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload2" title="io_service::run_one (2 of 2 overloads)">run_one</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload2" title="io_service::run_one (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.run_one.overload1"></a><a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload1" title="io_service::run_one (1 of 2 overloads)">io_service::run_one
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute at most one handler.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run_one</span><span class="special">();</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>
- function blocks until one handler has been dispatched, or until the
- <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- has been stopped.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run_one.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run_one.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed. A zero return value implies
- that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
- (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
- function returns <code class="computeroutput"><span class="keyword">true</span></code>).
- Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
- is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run_one.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run_one.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service.run_one.overload2"></a><a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload2" title="io_service::run_one (2 of 2 overloads)">io_service::run_one
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop to execute at most one handler.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run_one</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>
- function blocks until one handler has been dispatched, or until the
- <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- has been stopped.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.run_one.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.run_one.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.run_one.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of handlers that were executed. A zero return value implies
- that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
- (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
- function returns <code class="computeroutput"><span class="keyword">true</span></code>).
- Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
- is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
- </p>
-<p>
- The number of handlers that were executed.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.stop"></a><a class="link" href="reference.html#boost_asio.reference.io_service.stop" title="io_service::stop">io_service::stop</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204037168"></a>
-Stop the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
- loop.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">stop</span><span class="special">();</span>
-</pre>
-<p>
- This function does not block, but instead simply signals the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to stop. All invocations
- of its <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>
- member functions should return as soon as possible. Subsequent calls to
- <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
- will return immediately until <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code> is called.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.stopped"></a><a class="link" href="reference.html#boost_asio.reference.io_service.stopped" title="io_service::stopped">io_service::stopped</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204058320"></a>
-Determine whether the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object has been stopped.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">stopped</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to determine whether an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object has been stopped,
- either through an explicit call to <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code>, or due to running out of work. When
- an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object is stopped, calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately without invoking
- any handlers.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.stopped.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.stopped.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.stopped.return_value">Return Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped,
- otherwise <code class="computeroutput"><span class="keyword">false</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.use_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service.use_service" title="io_service::use_service">io_service::use_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204086224"></a>
-Obtain the service object corresponding to the given
- type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a><span class="special">&gt;</span>
-<span class="keyword">friend</span> <span class="identifier">Service</span> <span class="special">&amp;</span> <span class="identifier">use_service</span><span class="special">(</span>
- <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to locate a service object that corresponds to the
- given service type. If there is no existing implementation of the service,
- then the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will create a new instance
- of the service.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.use_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.use_service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.use_service.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ios</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
- the service.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.use_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.use_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.use_service.return_value">Return
- Value</a>
- </h6>
-<p>
- The service interface implementing the specified service type. Ownership
- of the service interface is not transferred to the caller.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.use_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.use_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.use_service.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service.wrap"></a><a class="link" href="reference.html#boost_asio.reference.io_service.wrap" title="io_service::wrap">io_service::wrap</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204117424"></a>
-Create a new handler that automatically dispatches the wrapped
- handler on the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="identifier">unspecified</span> <span class="identifier">wrap</span><span class="special">(</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to create a new handler function object that, when
- invoked, will automatically pass the wrapped handler to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's dispatch function.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service.wrap.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.wrap.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.wrap.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be wrapped. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will make a copy
- of the handler object as required. The function signature of the
- handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service.wrap.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service.wrap.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service.wrap.return_value">Return
- Value</a>
- </h6>
-<p>
- A function object that, when invoked, passes the wrapped handler to the
- <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object's dispatch function. Given a function object with the signature:
- </p>
-<pre class="programlisting"><span class="identifier">R</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
-</pre>
-<p>
- If this function object is passed to the wrap function like so:
- </p>
-<pre class="programlisting"><span class="identifier">io_service</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
-</pre>
-<p>
- then the return value is a function object with the signature
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
-</pre>
-<p>
- that, when invoked, executes code equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">io_service</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">an</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service._io_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service._io_service" title="io_service::~io_service">io_service::~io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204178432"></a>
-Destructor.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">io_service</span><span class="special">();</span>
-</pre>
-<p>
- On destruction, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> performs the following
- sequence of operations:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- For each service object <code class="computeroutput"><span class="identifier">svc</span></code>
- in the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> set, in reverse
- order of the beginning of service object lifetime, performs <code class="computeroutput"><span class="identifier">svc</span><span class="special">-&gt;</span><span class="identifier">shutdown_service</span><span class="special">()</span></code>.
- </li>
-<li class="listitem">
- Uninvoked handler objects that were scheduled for deferred invocation
- on the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, or any associated
- strand, are destroyed.
- </li>
-<li class="listitem">
- For each service object <code class="computeroutput"><span class="identifier">svc</span></code>
- in the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> set, in reverse
- order of the beginning of service object lifetime, performs <code class="computeroutput"><span class="keyword">delete</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">*&gt;(</span><span class="identifier">svc</span><span class="special">)</span></code>.
- </li>
-</ul></div>
-<h6>
-<a name="boost_asio.reference.io_service._io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service._io_service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service._io_service.remarks">Remarks</a>
- </h6>
-<p>
- The destruction sequence described above permits programs to simplify their
- resource management by using <code class="computeroutput"><span class="identifier">shared_ptr</span><span class="special">&lt;&gt;</span></code>. Where an object's lifetime is
- tied to the lifetime of a connection (or some other sequence of asynchronous
- operations), a <code class="computeroutput"><span class="identifier">shared_ptr</span></code>
- to the object would be bound into the handlers for all asynchronous operations
- associated with it. This works as follows:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- When a single connection ends, all associated asynchronous operations
- complete. The corresponding handler objects are destroyed, and all
- <code class="computeroutput"><span class="identifier">shared_ptr</span></code> references
- to the objects are destroyed.
- </li>
-<li class="listitem">
- To shut down the whole program, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code>
- is called to terminate any <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> calls as soon as possible. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- destructor defined above destroys all handlers, causing all <code class="computeroutput"><span class="identifier">shared_ptr</span></code> references to all connection
- objects to be destroyed.
- </li>
-</ul></div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.io_service__id"></a><a class="link" href="reference.html#boost_asio.reference.io_service__id" title="io_service::id">io_service::id</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__id.id">io_service::id::id</a></span></dt></dl></div>
-<p>
- Class used to uniquely identify a service.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">id</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service__id.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__id.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__id.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__id.id" title="io_service::id::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.io_service__id.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__id.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__id.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__id.id"></a><a class="link" href="reference.html#boost_asio.reference.io_service__id.id" title="io_service::id::id">io_service::id::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204243424"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">id</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.io_service__service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__service" title="io_service::service">io_service::service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__service.get_io_service">io_service::service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__service.service">io_service::service::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__service._service">io_service::service::~service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__service.fork_service">io_service::service::fork_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__service.shutdown_service">io_service::service::shutdown_service</a></span></dt>
-</dl></div>
-<p>
- Base class for all <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> services.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">service</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service__service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__service.get_io_service" title="io_service::service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.io_service__service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__service.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__service.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__service.service" title="io_service::service::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__service._service" title="io_service::service::~service"><span class="bold"><strong>~service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.io_service__service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__service.private_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__service.private_member_functions">Private
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__service.fork_service" title="io_service::service::fork_service"><span class="bold"><strong>fork_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Handle notification of a fork-related event to perform any necessary
- housekeeping.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__service.shutdown_service" title="io_service::service::shutdown_service"><span class="bold"><strong>shutdown_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy all user-defined handler objects owned by the service.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.io_service__service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__service.get_io_service" title="io_service::service::get_io_service">io_service::service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204299216"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__service.service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__service.service" title="io_service::service::service">io_service::service::service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204309504"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">owner</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.io_service__service.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__service.service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__service.service.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">owner</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
- the service.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__service._service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__service._service" title="io_service::service::~service">io_service::service::~service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204326112"></a>
-Destructor.
- </p>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__service.fork_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__service.fork_service" title="io_service::service::fork_service">io_service::service::fork_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204332480"></a>
-Handle notification of a fork-related event
- to perform any necessary housekeeping.
- </p>
-<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">fork_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_event</span> <span class="identifier">event</span><span class="special">);</span>
-</pre>
-<p>
- This function is not a pure virtual so that services only have to implement
- it if necessary. The default implementation does nothing.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__service.shutdown_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__service.shutdown_service" title="io_service::service::shutdown_service">io_service::service::shutdown_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204344832"></a>
-Destroy all user-defined handler objects
- owned by the service.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown_service</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.io_service__strand"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand">io_service::strand</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand.dispatch">io_service::strand::dispatch</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand.get_io_service">io_service::strand::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand.post">io_service::strand::post</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand.running_in_this_thread">io_service::strand::running_in_this_thread</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand.strand">io_service::strand::strand</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand.wrap">io_service::strand::wrap</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__strand._strand">io_service::strand::~strand</a></span></dt>
-</dl></div>
-<p>
- Provides serialised handler execution.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">strand</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service__strand.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.dispatch" title="io_service::strand::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Request the strand to invoke the given handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.get_io_service" title="io_service::strand::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the strand.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.post" title="io_service::strand::post"><span class="bold"><strong>post</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Request the strand to invoke the given handler and return immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.running_in_this_thread" title="io_service::strand::running_in_this_thread"><span class="bold"><strong>running_in_this_thread</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the strand is running in the current thread.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.strand" title="io_service::strand::strand"><span class="bold"><strong>strand</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.wrap" title="io_service::strand::wrap"><span class="bold"><strong>wrap</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new handler that automatically dispatches the wrapped
- handler on the strand.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand._strand" title="io_service::strand::~strand"><span class="bold"><strong>~strand</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> class provides the ability
- to post and dispatch handlers with the guarantee that none of those handlers
- will execute concurrently.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service__strand.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.order_of_handler_invocation"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.order_of_handler_invocation">Order
- of handler invocation</a>
- </h5>
-<p>
- Given:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- a strand object <code class="computeroutput"><span class="identifier">s</span></code>
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">a</span></code> meeting completion
- handler requirements
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">a1</span></code> which is
- an arbitrary copy of <code class="computeroutput"><span class="identifier">a</span></code>
- made by the implementation
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">b</span></code> meeting completion
- handler requirements
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">b1</span></code> which is
- an arbitrary copy of <code class="computeroutput"><span class="identifier">b</span></code>
- made by the implementation
- </li>
-</ul></div>
-<p>
- if any of the following conditions are true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- where the latter is performed outside the strand
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- where the former is performed outside the strand
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- where both are performed outside the strand
- </li>
-</ul></div>
-<p>
- then <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
- <span class="special">&amp;</span><span class="identifier">a1</span><span class="special">)</span></code> happens-before <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">b1</span><span class="special">,</span>
- <span class="special">&amp;</span><span class="identifier">b1</span><span class="special">)</span></code>.
- </p>
-<p>
- Note that in the following case:
- </p>
-<pre class="programlisting"><span class="identifier">async_op_1</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">a</span><span class="special">));</span>
-<span class="identifier">async_op_2</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span>
-</pre>
-<p>
- the completion of the first async operation will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>,
- and the second will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- but the order in which those are performed is unspecified. That is, you cannot
- state whether one happens-before the other. Therefore none of the above conditions
- are met and no ordering guarantee is made.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service__strand.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.remarks">Remarks</a>
- </h5>
-<p>
- The implementation makes no guarantee that handlers posted or dispatched
- through different <code class="computeroutput"><span class="identifier">strand</span></code>
- objects will be invoked concurrently.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service__strand.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.thread_safety">Thread Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service__strand.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/strand.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand.dispatch"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand.dispatch" title="io_service::strand::dispatch">io_service::strand::dispatch</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204481632"></a>
-Request the strand to invoke the given handler.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">dispatch</span><span class="special">(</span>
- <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to ask the strand to execute the given handler.
- </p>
-<p>
- The strand object guarantees that handlers posted or dispatched through
- the strand will not be executed concurrently. The handler may be executed
- inside this function if the guarantee can be met. If this function is called
- from within a handler that was posted or dispatched through the same strand,
- then the new handler will be executed immediately.
- </p>
-<p>
- The strand's guarantee is in addition to the guarantee provided by the
- underlying <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> guarantees that the
- handler will only be called in a thread in which the io_service's run member
- function is currently being invoked.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service__strand.dispatch.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.dispatch.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.dispatch.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called. The strand will make a copy of the handler
- object as required. The function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand.get_io_service" title="io_service::strand::get_io_service">io_service::strand::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204506144"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- strand.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the strand
- uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service__strand.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the strand
- will use to dispatch handlers. Ownership is not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand.post"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand.post" title="io_service::strand::post">io_service::strand::post</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204523760"></a>
-Request the strand to invoke the given handler and
- return immediately.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.CompletionHandler" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">post</span><span class="special">(</span>
- <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to ask the strand to execute the given handler, but
- without allowing the strand to call the handler from inside this function.
- </p>
-<p>
- The strand object guarantees that handlers posted or dispatched through
- the strand will not be executed concurrently. The strand's guarantee is
- in addition to the guarantee provided by the underlying <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> guarantees that the
- handler will only be called in a thread in which the io_service's run member
- function is currently being invoked.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service__strand.post.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.post.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.post.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called. The strand will make a copy of the handler
- object as required. The function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand.running_in_this_thread"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand.running_in_this_thread" title="io_service::strand::running_in_this_thread">io_service::strand::running_in_this_thread</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204547472"></a>
-Determine whether the strand is
- running in the current thread.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">running_in_this_thread</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.io_service__strand.running_in_this_thread.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.running_in_this_thread.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.running_in_this_thread.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the current thread
- is executing a handler that was submitted to the strand using <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>,
- <code class="computeroutput"><span class="identifier">dispatch</span><span class="special">()</span></code>
- or <code class="computeroutput"><span class="identifier">wrap</span><span class="special">()</span></code>.
- Otherwise returns <code class="computeroutput"><span class="keyword">false</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand.strand"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand.strand" title="io_service::strand::strand">io_service::strand::strand</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204565104"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">strand</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- Constructs the strand.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service__strand.strand.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.strand.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.strand.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the
- strand will use to dispatch handlers that are ready to be run.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand.wrap"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand.wrap" title="io_service::strand::wrap">io_service::strand::wrap</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204582112"></a>
-Create a new handler that automatically dispatches
- the wrapped handler on the strand.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="identifier">unspecified</span> <span class="identifier">wrap</span><span class="special">(</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to create a new handler function object that, when
- invoked, will automatically pass the wrapped handler to the strand's dispatch
- function.
- </p>
-<h6>
-<a name="boost_asio.reference.io_service__strand.wrap.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.wrap.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.wrap.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be wrapped. The strand will make a copy of the handler
- object as required. The function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.io_service__strand.wrap.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__strand.wrap.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__strand.wrap.return_value">Return
- Value</a>
- </h6>
-<p>
- A function object that, when invoked, passes the wrapped handler to the
- strand's dispatch function. Given a function object with the signature:
- </p>
-<pre class="programlisting"><span class="identifier">R</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
-</pre>
-<p>
- If this function object is passed to the wrap function like so:
- </p>
-<pre class="programlisting"><span class="identifier">strand</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
-</pre>
-<p>
- then the return value is a function object with the signature
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
-</pre>
-<p>
- that, when invoked, executes code equivalent to:
- </p>
-<pre class="programlisting"><span class="identifier">strand</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">an</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__strand._strand"></a><a class="link" href="reference.html#boost_asio.reference.io_service__strand._strand" title="io_service::strand::~strand">io_service::strand::~strand</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204636544"></a>
-Destructor.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">strand</span><span class="special">();</span>
-</pre>
-<p>
- Destroys a strand.
- </p>
-<p>
- Handlers posted through the strand that have not yet been invoked will
- still be dispatched in a way that meets the guarantee of non-concurrency.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.io_service__work"></a><a class="link" href="reference.html#boost_asio.reference.io_service__work" title="io_service::work">io_service::work</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__work.get_io_service">io_service::work::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__work.work">io_service::work::work</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__work._work">io_service::work::~work</a></span></dt>
-</dl></div>
-<p>
- Class to inform the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> when it has work to do.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">work</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.io_service__work.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__work.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__work.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__work.get_io_service" title="io_service::work::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the work.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__work.work" title="io_service::work::work"><span class="bold"><strong>work</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor notifies the io_service that work is starting.
- </p>
- <p>
- Copy constructor notifies the io_service that work is starting.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__work._work" title="io_service::work::~work"><span class="bold"><strong>~work</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor notifies the io_service that the work is complete.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The work class is used to inform the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> when work starts and
- finishes. This ensures that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function
- will not exit while work is underway, and that it does exit when there is
- no unfinished work remaining.
- </p>
-<p>
- The work class is copy-constructible so that it may be used as a data member
- in a handler class. It is not assignable.
- </p>
-<h5>
-<a name="boost_asio.reference.io_service__work.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.io_service__work.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.io_service__work.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__work.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.io_service__work.get_io_service" title="io_service::work::get_io_service">io_service::work::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204678272"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- work.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__work.work"></a><a class="link" href="reference.html#boost_asio.reference.io_service__work.work" title="io_service::work::work">io_service::work::work</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__work.work.overload1">io_service::work::work
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.io_service__work.work.overload2">io_service::work::work
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp204688656"></a>
-Constructor notifies the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.io_service__work.work.overload1" title="io_service::work::work (1 of 2 overloads)">work</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service__work.work.overload1" title="io_service::work::work (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor notifies the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.io_service__work.work.overload2" title="io_service::work::work (2 of 2 overloads)">work</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">work</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.io_service__work.work.overload2" title="io_service::work::work (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service__work.work.overload1"></a><a class="link" href="reference.html#boost_asio.reference.io_service__work.work.overload1" title="io_service::work::work (1 of 2 overloads)">io_service::work::work
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor notifies the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
- </p>
-<pre class="programlisting"><span class="identifier">work</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- The constructor is used to inform the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that some work has
- begun. This ensures that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function will not exit while the work is underway.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.io_service__work.work.overload2"></a><a class="link" href="reference.html#boost_asio.reference.io_service__work.work.overload2" title="io_service::work::work (2 of 2 overloads)">io_service::work::work
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor notifies the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
- </p>
-<pre class="programlisting"><span class="identifier">work</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">work</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- The constructor is used to inform the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that some work has
- begun. This ensures that the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function will not exit while the work is underway.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.io_service__work._work"></a><a class="link" href="reference.html#boost_asio.reference.io_service__work._work" title="io_service::work::~work">io_service::work::~work</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp204741504"></a>
-Destructor notifies the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that the work is complete.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">work</span><span class="special">();</span>
-</pre>
-<p>
- The destructor is used to inform the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that some work has
- finished. Once the count of unfinished work reaches zero, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
- function is permitted to exit.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__address"></a><a class="link" href="reference.html#boost_asio.reference.ip__address" title="ip::address">ip::address</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.address">ip::address::address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.from_string">ip::address::from_string</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.is_loopback">ip::address::is_loopback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.is_multicast">ip::address::is_multicast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.is_unspecified">ip::address::is_unspecified</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.is_v4">ip::address::is_v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.is_v6">ip::address::is_v6</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_not__eq_">ip::address::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_lt_">ip::address::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_lt__lt_">ip::address::operator&lt;&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_lt__eq_">ip::address::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_eq_">ip::address::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_eq__eq_">ip::address::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_gt_">ip::address::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_gt__eq_">ip::address::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.to_string">ip::address::to_string</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.to_v4">ip::address::to_v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.to_v6">ip::address::to_v6</a></span></dt>
-</dl></div>
-<p>
- Implements version-independent IP addresses.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">address</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.address" title="ip::address::address"><span class="bold"><strong>address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an address from an IPv4 address.
- </p>
- <p>
- Construct an address from an IPv6 address.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string" title="ip::address::from_string"><span class="bold"><strong>from_string</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an address from an IPv4 address string in dotted decimal
- form, or from an IPv6 address in hexadecimal notation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.is_loopback" title="ip::address::is_loopback"><span class="bold"><strong>is_loopback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a loopback address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.is_multicast" title="ip::address::is_multicast"><span class="bold"><strong>is_multicast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.is_unspecified" title="ip::address::is_unspecified"><span class="bold"><strong>is_unspecified</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is unspecified.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.is_v4" title="ip::address::is_v4"><span class="bold"><strong>is_v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get whether the address is an IP version 4 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.is_v6" title="ip::address::is_v6"><span class="bold"><strong>is_v6</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get whether the address is an IP version 6 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_" title="ip::address::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another address.
- </p>
- <p>
- Assign from an IPv4 address.
- </p>
- <p>
- Assign from an IPv6 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.to_string" title="ip::address::to_string"><span class="bold"><strong>to_string</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address as a string in dotted decimal format.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.to_v4" title="ip::address::to_v4"><span class="bold"><strong>to_v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address as an IP version 4 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.to_v6" title="ip::address::to_v6"><span class="bold"><strong>to_v6</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address as an IP version 6 address.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_not__eq_" title="ip::address::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two addresses for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt_" title="ip::address::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__eq_" title="ip::address::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq__eq_" title="ip::address::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two addresses for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_gt_" title="ip::address::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_gt__eq_" title="ip::address::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.related_functions">Related
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__lt_" title="ip::address::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an address as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__address" title="ip::address"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span></code></a>
- class provides the ability to use either IP version 4 or version 6 addresses.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__address.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__address.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.address"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.address" title="ip::address::address">ip::address::address</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.address.overload1">ip::address::address
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.address.overload2">ip::address::address
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.address.overload3">ip::address::address
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.address.overload4">ip::address::address
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp204856624"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload1" title="ip::address::address (1 of 4 overloads)">address</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload1" title="ip::address::address (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an address from an IPv4 address.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload2" title="ip::address::address (2 of 4 overloads)">address</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload2" title="ip::address::address (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an address from an IPv6 address.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload3" title="ip::address::address (3 of 4 overloads)">address</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload3" title="ip::address::address (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload4" title="ip::address::address (4 of 4 overloads)">address</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload4" title="ip::address::address (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.address.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload1" title="ip::address::address (1 of 4 overloads)">ip::address::address
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">address</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.address.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload2" title="ip::address::address (2 of 4 overloads)">ip::address::address
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an address from an IPv4 address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.address.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload3" title="ip::address::address (3 of 4 overloads)">ip::address::address
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an address from an IPv6 address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.address.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.address.overload4" title="ip::address::address (4 of 4 overloads)">ip::address::address
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><span class="identifier">address</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.from_string"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.from_string" title="ip::address::from_string">ip::address::from_string</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.from_string.overload1">ip::address::from_string
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.from_string.overload2">ip::address::from_string
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.from_string.overload3">ip::address::from_string
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.from_string.overload4">ip::address::from_string
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp204923296"></a>
-Create an address from an IPv4 address string in
- dotted decimal form, or from an IPv6 address in hexadecimal notation.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload1" title="ip::address::from_string (1 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload1" title="ip::address::from_string (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload2" title="ip::address::from_string (2 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload2" title="ip::address::from_string (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload3" title="ip::address::from_string (3 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload3" title="ip::address::from_string (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload4" title="ip::address::from_string (4 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload4" title="ip::address::from_string (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.from_string.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload1" title="ip::address::from_string (1 of 4 overloads)">ip::address::from_string
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IPv4 address string in dotted decimal form,
- or from an IPv6 address in hexadecimal notation.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.from_string.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload2" title="ip::address::from_string (2 of 4 overloads)">ip::address::from_string
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IPv4 address string in dotted decimal form,
- or from an IPv6 address in hexadecimal notation.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.from_string.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload3" title="ip::address::from_string (3 of 4 overloads)">ip::address::from_string
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IPv4 address string in dotted decimal form,
- or from an IPv6 address in hexadecimal notation.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.from_string.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.from_string.overload4" title="ip::address::from_string (4 of 4 overloads)">ip::address::from_string
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IPv4 address string in dotted decimal form,
- or from an IPv6 address in hexadecimal notation.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.is_loopback"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.is_loopback" title="ip::address::is_loopback">ip::address::is_loopback</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205014976"></a>
-Determine whether the address is a loopback address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_loopback</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.is_multicast"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.is_multicast" title="ip::address::is_multicast">ip::address::is_multicast</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205022016"></a>
-Determine whether the address is a multicast address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.is_unspecified"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.is_unspecified" title="ip::address::is_unspecified">ip::address::is_unspecified</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205029056"></a>
-Determine whether the address is unspecified.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_unspecified</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.is_v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.is_v4" title="ip::address::is_v4">ip::address::is_v4</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205036000"></a>
-Get whether the address is an IP version 4 address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.is_v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.is_v6" title="ip::address::is_v6">ip::address::is_v6</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205043024"></a>
-Get whether the address is an IP version 6 address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v6</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_not__eq_" title="ip::address::operator!=">ip::address::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205050064"></a>
-Compare two addresses for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt_" title="ip::address::operator&lt;">ip::address::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205068688"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_lt__lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__lt_" title="ip::address::operator&lt;&lt;">ip::address::operator&lt;&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205087264"></a>
-Output an address as a string.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-<p>
- Used to output a human-readable string for a specified address.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_lt__lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt__lt_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__lt_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">os</span></dt>
-<dd><p>
- The output stream to which the string will be written.
- </p></dd>
-<dt><span class="term">addr</span></dt>
-<dd><p>
- The address to be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_lt__lt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt__lt_.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__lt_.return_value">Return
- Value</a>
- </h6>
-<p>
- The output stream.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__eq_" title="ip::address::operator&lt;=">ip::address::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205123856"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_" title="ip::address::operator=">ip::address::operator=</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload1">ip::address::operator=
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload2">ip::address::operator=
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload3">ip::address::operator=
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp205142336"></a>
-Assign from another address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload1" title="ip::address::operator= (1 of 3 overloads)">operator=</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload1" title="ip::address::operator= (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Assign from an IPv4 address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload2" title="ip::address::operator= (2 of 3 overloads)">operator=</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload2" title="ip::address::operator= (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Assign from an IPv6 address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload3" title="ip::address::operator= (3 of 3 overloads)">operator=</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload3" title="ip::address::operator= (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.operator_eq_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload1" title="ip::address::operator= (1 of 3 overloads)">ip::address::operator=
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign from another address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.operator_eq_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload2" title="ip::address::operator= (2 of 3 overloads)">ip::address::operator=
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign from an IPv4 address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.operator_eq_.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq_.overload3" title="ip::address::operator= (3 of 3 overloads)">ip::address::operator=
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign from an IPv6 address.
- </p>
-<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq__eq_" title="ip::address::operator==">ip::address::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205209408"></a>
-Compare two addresses for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_gt_" title="ip::address::operator&gt;">ip::address::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205228016"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_gt__eq_" title="ip::address::operator&gt;=">ip::address::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205246656"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.to_string"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.to_string" title="ip::address::to_string">ip::address::to_string</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.to_string.overload1">ip::address::to_string
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address.to_string.overload2">ip::address::to_string
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp205265280"></a>
-Get the address as a string in dotted decimal format.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.to_string.overload1" title="ip::address::to_string (1 of 2 overloads)">to_string</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.to_string.overload1" title="ip::address::to_string (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__address.to_string.overload2" title="ip::address::to_string (2 of 2 overloads)">to_string</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address.to_string.overload2" title="ip::address::to_string (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.to_string.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.to_string.overload1" title="ip::address::to_string (1 of 2 overloads)">ip::address::to_string
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the address as a string in dotted decimal format.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address.to_string.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.to_string.overload2" title="ip::address::to_string (2 of 2 overloads)">ip::address::to_string
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the address as a string in dotted decimal format.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.to_v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.to_v4" title="ip::address::to_v4">ip::address::to_v4</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205303968"></a>
-Get the address as an IP version 4 address.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="identifier">to_v4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address.to_v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__address.to_v6" title="ip::address::to_v6">ip::address::to_v6</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205314144"></a>
-Get the address as an IP version 6 address.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="identifier">to_v6</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__address_v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4" title="ip::address_v4">ip::address_v4</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.address_v4">ip::address_v4::address_v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.any">ip::address_v4::any</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.broadcast">ip::address_v4::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.bytes_type">ip::address_v4::bytes_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.from_string">ip::address_v4::from_string</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.is_class_a">ip::address_v4::is_class_a</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.is_class_b">ip::address_v4::is_class_b</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.is_class_c">ip::address_v4::is_class_c</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.is_loopback">ip::address_v4::is_loopback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.is_multicast">ip::address_v4::is_multicast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.is_unspecified">ip::address_v4::is_unspecified</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.loopback">ip::address_v4::loopback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.netmask">ip::address_v4::netmask</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_not__eq_">ip::address_v4::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_lt_">ip::address_v4::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__lt_">ip::address_v4::operator&lt;&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__eq_">ip::address_v4::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_eq_">ip::address_v4::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_eq__eq_">ip::address_v4::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_gt_">ip::address_v4::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.operator_gt__eq_">ip::address_v4::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.to_bytes">ip::address_v4::to_bytes</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.to_string">ip::address_v4::to_string</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.to_ulong">ip::address_v4::to_ulong</a></span></dt>
-</dl></div>
-<p>
- Implements IP version 4 style addresses.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">address_v4</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__address_v4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.bytes_type" title="ip::address_v4::bytes_type"><span class="bold"><strong>bytes_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used to represent an address as an array of bytes.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address_v4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4" title="ip::address_v4::address_v4"><span class="bold"><strong>address_v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an address from raw bytes.
- </p>
- <p>
- Construct an address from a unsigned long in host byte order.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.any" title="ip::address_v4::any"><span class="bold"><strong>any</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an address object that represents any address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast" title="ip::address_v4::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an address object that represents the broadcast address.
- </p>
- <p>
- Obtain an address object that represents the broadcast address
- that corresponds to the specified address and netmask.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string" title="ip::address_v4::from_string"><span class="bold"><strong>from_string</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an address from an IP address string in dotted decimal form.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_class_a" title="ip::address_v4::is_class_a"><span class="bold"><strong>is_class_a</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a class A address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_class_b" title="ip::address_v4::is_class_b"><span class="bold"><strong>is_class_b</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a class B address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_class_c" title="ip::address_v4::is_class_c"><span class="bold"><strong>is_class_c</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a class C address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_loopback" title="ip::address_v4::is_loopback"><span class="bold"><strong>is_loopback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a loopback address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_multicast" title="ip::address_v4::is_multicast"><span class="bold"><strong>is_multicast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_unspecified" title="ip::address_v4::is_unspecified"><span class="bold"><strong>is_unspecified</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is unspecified.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.loopback" title="ip::address_v4::loopback"><span class="bold"><strong>loopback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an address object that represents the loopback address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.netmask" title="ip::address_v4::netmask"><span class="bold"><strong>netmask</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain the netmask that corresponds to the address, based on its
- address class.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq_" title="ip::address_v4::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_bytes" title="ip::address_v4::to_bytes"><span class="bold"><strong>to_bytes</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address in bytes, in network byte order.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string" title="ip::address_v4::to_string"><span class="bold"><strong>to_string</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address as a string in dotted decimal format.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_ulong" title="ip::address_v4::to_ulong"><span class="bold"><strong>to_ulong</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address as an unsigned long in host byte order.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address_v4.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_not__eq_" title="ip::address_v4::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two addresses for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt_" title="ip::address_v4::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__eq_" title="ip::address_v4::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq__eq_" title="ip::address_v4::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two addresses for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt_" title="ip::address_v4::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt__eq_" title="ip::address_v4::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address_v4.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.related_functions">Related Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__lt_" title="ip::address_v4::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an address as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__address_v4" title="ip::address_v4"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span></code></a>
- class provides the ability to use and manipulate IP version 4 addresses.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__address_v4.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__address_v4.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.address_v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4" title="ip::address_v4::address_v4">ip::address_v4::address_v4</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload1">ip::address_v4::address_v4
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload2">ip::address_v4::address_v4
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload3">ip::address_v4::address_v4
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload4">ip::address_v4::address_v4
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp205454432"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload1" title="ip::address_v4::address_v4 (1 of 4 overloads)">address_v4</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload1" title="ip::address_v4::address_v4 (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an address from raw bytes.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload2" title="ip::address_v4::address_v4 (2 of 4 overloads)">address_v4</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload2" title="ip::address_v4::address_v4 (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an address from a unsigned long in host byte order.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload3" title="ip::address_v4::address_v4 (3 of 4 overloads)">address_v4</a><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">addr</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload3" title="ip::address_v4::address_v4 (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload4" title="ip::address_v4::address_v4 (4 of 4 overloads)">address_v4</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload4" title="ip::address_v4::address_v4 (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.address_v4.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload1" title="ip::address_v4::address_v4 (1 of 4 overloads)">ip::address_v4::address_v4
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.address_v4.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload2" title="ip::address_v4::address_v4 (2 of 4 overloads)">ip::address_v4::address_v4
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an address from raw bytes.
- </p>
-<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.address_v4.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload3" title="ip::address_v4::address_v4 (3 of 4 overloads)">ip::address_v4::address_v4
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an address from a unsigned long in host byte order.
- </p>
-<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.address_v4.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.address_v4.overload4" title="ip::address_v4::address_v4 (4 of 4 overloads)">ip::address_v4::address_v4
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.any"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.any" title="ip::address_v4::any">ip::address_v4::any</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205508480"></a>
-Obtain an address object that represents any address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">any</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast" title="ip::address_v4::broadcast">ip::address_v4::broadcast</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload1">ip::address_v4::broadcast
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload2">ip::address_v4::broadcast
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp205514928"></a>
-Obtain an address object that represents the broadcast
- address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload1" title="ip::address_v4::broadcast (1 of 2 overloads)">broadcast</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload1" title="ip::address_v4::broadcast (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Obtain an address object that represents the broadcast address that corresponds
- to the specified address and netmask.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload2" title="ip::address_v4::broadcast (2 of 2 overloads)">broadcast</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload2" title="ip::address_v4::broadcast (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.broadcast.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload1" title="ip::address_v4::broadcast (1 of 2 overloads)">ip::address_v4::broadcast
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Obtain an address object that represents the broadcast address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">broadcast</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.broadcast.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.broadcast.overload2" title="ip::address_v4::broadcast (2 of 2 overloads)">ip::address_v4::broadcast
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Obtain an address object that represents the broadcast address that corresponds
- to the specified address and netmask.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">broadcast</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.bytes_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.bytes_type" title="ip::address_v4::bytes_type">ip::address_v4::bytes_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205552208"></a>
-The type used to represent an address as an array
- of bytes.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="number">4</span> <span class="special">&gt;</span> <span class="identifier">bytes_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.bytes_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.bytes_type.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.bytes_type.remarks">Remarks</a>
- </h6>
-<p>
- This type is defined in terms of the C++0x template <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>
- when it is available. Otherwise, it uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">:</span><span class="identifier">array</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.bytes_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.bytes_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.bytes_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.from_string"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string" title="ip::address_v4::from_string">ip::address_v4::from_string</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload1">ip::address_v4::from_string
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload2">ip::address_v4::from_string
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload3">ip::address_v4::from_string
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload4">ip::address_v4::from_string
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp205575904"></a>
-Create an address from an IP address string in
- dotted decimal form.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload1" title="ip::address_v4::from_string (1 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload1" title="ip::address_v4::from_string (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload2" title="ip::address_v4::from_string (2 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload2" title="ip::address_v4::from_string (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload3" title="ip::address_v4::from_string (3 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload3" title="ip::address_v4::from_string (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload4" title="ip::address_v4::from_string (4 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload4" title="ip::address_v4::from_string (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.from_string.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload1" title="ip::address_v4::from_string (1 of 4 overloads)">ip::address_v4::from_string
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string in dotted decimal form.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.from_string.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload2" title="ip::address_v4::from_string (2 of 4 overloads)">ip::address_v4::from_string
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string in dotted decimal form.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.from_string.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload3" title="ip::address_v4::from_string (3 of 4 overloads)">ip::address_v4::from_string
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string in dotted decimal form.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.from_string.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.from_string.overload4" title="ip::address_v4::from_string (4 of 4 overloads)">ip::address_v4::from_string
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string in dotted decimal form.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.is_class_a"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_class_a" title="ip::address_v4::is_class_a">ip::address_v4::is_class_a</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205667776"></a>
-Determine whether the address is a class A address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_class_a</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.is_class_b"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_class_b" title="ip::address_v4::is_class_b">ip::address_v4::is_class_b</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205674880"></a>
-Determine whether the address is a class B address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_class_b</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.is_class_c"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_class_c" title="ip::address_v4::is_class_c">ip::address_v4::is_class_c</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205681920"></a>
-Determine whether the address is a class C address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_class_c</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.is_loopback"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_loopback" title="ip::address_v4::is_loopback">ip::address_v4::is_loopback</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205689024"></a>
-Determine whether the address is a loopback address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_loopback</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.is_multicast"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_multicast" title="ip::address_v4::is_multicast">ip::address_v4::is_multicast</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205696064"></a>
-Determine whether the address is a multicast
- address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.is_unspecified"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.is_unspecified" title="ip::address_v4::is_unspecified">ip::address_v4::is_unspecified</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205703120"></a>
-Determine whether the address is unspecified.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_unspecified</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.loopback"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.loopback" title="ip::address_v4::loopback">ip::address_v4::loopback</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205710160"></a>
-Obtain an address object that represents the loopback
- address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">loopback</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.netmask"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.netmask" title="ip::address_v4::netmask">ip::address_v4::netmask</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205716672"></a>
-Obtain the netmask that corresponds to the address,
- based on its address class.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">netmask</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_not__eq_" title="ip::address_v4::operator!=">ip::address_v4::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205726496"></a>
-Compare two addresses for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt_" title="ip::address_v4::operator&lt;">ip::address_v4::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205745344"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_lt__lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__lt_" title="ip::address_v4::operator&lt;&lt;">ip::address_v4::operator&lt;&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205764048"></a>
-Output an address as a string.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-<p>
- Used to output a human-readable string for a specified address.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__lt_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">os</span></dt>
-<dd><p>
- The output stream to which the string will be written.
- </p></dd>
-<dt><span class="term">addr</span></dt>
-<dd><p>
- The address to be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__lt_.return_value">Return
- Value</a>
- </h6>
-<p>
- The output stream.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__eq_" title="ip::address_v4::operator&lt;=">ip::address_v4::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205800496"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq_" title="ip::address_v4::operator=">ip::address_v4::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205819120"></a>
-Assign from another address.
- </p>
-<pre class="programlisting"><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq__eq_" title="ip::address_v4::operator==">ip::address_v4::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205828944"></a>
-Compare two addresses for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt_" title="ip::address_v4::operator&gt;">ip::address_v4::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205847552"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt__eq_" title="ip::address_v4::operator&gt;=">ip::address_v4::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205866192"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v4.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.to_bytes"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_bytes" title="ip::address_v4::to_bytes">ip::address_v4::to_bytes</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205884816"></a>
-Get the address in bytes, in network byte order.
- </p>
-<pre class="programlisting"><span class="identifier">bytes_type</span> <span class="identifier">to_bytes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.to_string"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string" title="ip::address_v4::to_string">ip::address_v4::to_string</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload1">ip::address_v4::to_string
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload2">ip::address_v4::to_string
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp205891840"></a>
-Get the address as a string in dotted decimal format.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload1" title="ip::address_v4::to_string (1 of 2 overloads)">to_string</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload1" title="ip::address_v4::to_string (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload2" title="ip::address_v4::to_string (2 of 2 overloads)">to_string</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload2" title="ip::address_v4::to_string (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.to_string.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload1" title="ip::address_v4::to_string (1 of 2 overloads)">ip::address_v4::to_string
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the address as a string in dotted decimal format.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v4.to_string.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_string.overload2" title="ip::address_v4::to_string (2 of 2 overloads)">ip::address_v4::to_string
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the address as a string in dotted decimal format.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v4.to_ulong"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v4.to_ulong" title="ip::address_v4::to_ulong">ip::address_v4::to_ulong</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp205930704"></a>
-Get the address as an unsigned long in host byte
- order.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">to_ulong</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__address_v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6" title="ip::address_v6">ip::address_v6</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.address_v6">ip::address_v6::address_v6</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.any">ip::address_v6::any</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.bytes_type">ip::address_v6::bytes_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.from_string">ip::address_v6::from_string</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_link_local">ip::address_v6::is_link_local</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_loopback">ip::address_v6::is_loopback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_multicast">ip::address_v6::is_multicast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_global">ip::address_v6::is_multicast_global</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_link_local">ip::address_v6::is_multicast_link_local</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_node_local">ip::address_v6::is_multicast_node_local</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_org_local">ip::address_v6::is_multicast_org_local</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_site_local">ip::address_v6::is_multicast_site_local</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_site_local">ip::address_v6::is_site_local</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_unspecified">ip::address_v6::is_unspecified</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_v4_compatible">ip::address_v6::is_v4_compatible</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.is_v4_mapped">ip::address_v6::is_v4_mapped</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.loopback">ip::address_v6::loopback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_not__eq_">ip::address_v6::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_lt_">ip::address_v6::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__lt_">ip::address_v6::operator&lt;&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__eq_">ip::address_v6::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_eq_">ip::address_v6::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_eq__eq_">ip::address_v6::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_gt_">ip::address_v6::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.operator_gt__eq_">ip::address_v6::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.scope_id">ip::address_v6::scope_id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.to_bytes">ip::address_v6::to_bytes</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.to_string">ip::address_v6::to_string</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.to_v4">ip::address_v6::to_v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.v4_compatible">ip::address_v6::v4_compatible</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.v4_mapped">ip::address_v6::v4_mapped</a></span></dt>
-</dl></div>
-<p>
- Implements IP version 6 style addresses.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">address_v6</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__address_v6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.bytes_type" title="ip::address_v6::bytes_type"><span class="bold"><strong>bytes_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used to represent an address as an array of bytes.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address_v6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6" title="ip::address_v6::address_v6"><span class="bold"><strong>address_v6</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an address from raw bytes and scope ID.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.any" title="ip::address_v6::any"><span class="bold"><strong>any</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an address object that represents any address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string" title="ip::address_v6::from_string"><span class="bold"><strong>from_string</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an address from an IP address string.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_link_local" title="ip::address_v6::is_link_local"><span class="bold"><strong>is_link_local</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is link local.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_loopback" title="ip::address_v6::is_loopback"><span class="bold"><strong>is_loopback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a loopback address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast" title="ip::address_v6::is_multicast"><span class="bold"><strong>is_multicast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_global" title="ip::address_v6::is_multicast_global"><span class="bold"><strong>is_multicast_global</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a global multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_link_local" title="ip::address_v6::is_multicast_link_local"><span class="bold"><strong>is_multicast_link_local</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a link-local multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_node_local" title="ip::address_v6::is_multicast_node_local"><span class="bold"><strong>is_multicast_node_local</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a node-local multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_org_local" title="ip::address_v6::is_multicast_org_local"><span class="bold"><strong>is_multicast_org_local</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a org-local multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_site_local" title="ip::address_v6::is_multicast_site_local"><span class="bold"><strong>is_multicast_site_local</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a site-local multicast address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_site_local" title="ip::address_v6::is_site_local"><span class="bold"><strong>is_site_local</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is site local.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_unspecified" title="ip::address_v6::is_unspecified"><span class="bold"><strong>is_unspecified</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is unspecified.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_v4_compatible" title="ip::address_v6::is_v4_compatible"><span class="bold"><strong>is_v4_compatible</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is an IPv4-compatible address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_v4_mapped" title="ip::address_v6::is_v4_mapped"><span class="bold"><strong>is_v4_mapped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the address is a mapped IPv4 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.loopback" title="ip::address_v6::loopback"><span class="bold"><strong>loopback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an address object that represents the loopback address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq_" title="ip::address_v6::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id" title="ip::address_v6::scope_id"><span class="bold"><strong>scope_id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The scope ID of the address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_bytes" title="ip::address_v6::to_bytes"><span class="bold"><strong>to_bytes</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address in bytes, in network byte order.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string" title="ip::address_v6::to_string"><span class="bold"><strong>to_string</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the address as a string.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_v4" title="ip::address_v6::to_v4"><span class="bold"><strong>to_v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Converts an IPv4-mapped or IPv4-compatible address to an IPv4 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.v4_compatible" title="ip::address_v6::v4_compatible"><span class="bold"><strong>v4_compatible</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an IPv4-compatible IPv6 address.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.v4_mapped" title="ip::address_v6::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an IPv4-mapped IPv6 address.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address_v6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_not__eq_" title="ip::address_v6::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two addresses for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt_" title="ip::address_v6::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__eq_" title="ip::address_v6::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq__eq_" title="ip::address_v6::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two addresses for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt_" title="ip::address_v6::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt__eq_" title="ip::address_v6::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare addresses for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__address_v6.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.related_functions">Related Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__lt_" title="ip::address_v6::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an address as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__address_v6" title="ip::address_v6"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span></code></a>
- class provides the ability to use and manipulate IP version 6 addresses.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__address_v6.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__address_v6.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.address_v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6" title="ip::address_v6::address_v6">ip::address_v6::address_v6</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload1">ip::address_v6::address_v6
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload2">ip::address_v6::address_v6
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload3">ip::address_v6::address_v6
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206091632"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload1" title="ip::address_v6::address_v6 (1 of 3 overloads)">address_v6</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload1" title="ip::address_v6::address_v6 (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an address from raw bytes and scope ID.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload2" title="ip::address_v6::address_v6 (2 of 3 overloads)">address_v6</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">scope_id</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload2" title="ip::address_v6::address_v6 (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload3" title="ip::address_v6::address_v6 (3 of 3 overloads)">address_v6</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload3" title="ip::address_v6::address_v6 (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.address_v6.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload1" title="ip::address_v6::address_v6 (1 of 3 overloads)">ip::address_v6::address_v6
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">address_v6</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.address_v6.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload2" title="ip::address_v6::address_v6 (2 of 3 overloads)">ip::address_v6::address_v6
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an address from raw bytes and scope ID.
- </p>
-<pre class="programlisting"><span class="identifier">address_v6</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">scope_id</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.address_v6.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.address_v6.overload3" title="ip::address_v6::address_v6 (3 of 3 overloads)">ip::address_v6::address_v6
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><span class="identifier">address_v6</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.any"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.any" title="ip::address_v6::any">ip::address_v6::any</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206139760"></a>
-Obtain an address object that represents any address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">any</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.bytes_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.bytes_type" title="ip::address_v6::bytes_type">ip::address_v6::bytes_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206146144"></a>
-The type used to represent an address as an array
- of bytes.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="number">16</span> <span class="special">&gt;</span> <span class="identifier">bytes_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.bytes_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.bytes_type.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.bytes_type.remarks">Remarks</a>
- </h6>
-<p>
- This type is defined in terms of the C++0x template <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>
- when it is available. Otherwise, it uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">:</span><span class="identifier">array</span></code>.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.bytes_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.bytes_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.bytes_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.from_string"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string" title="ip::address_v6::from_string">ip::address_v6::from_string</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload1">ip::address_v6::from_string
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload2">ip::address_v6::from_string
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload3">ip::address_v6::from_string
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload4">ip::address_v6::from_string
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206169776"></a>
-Create an address from an IP address string.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload1" title="ip::address_v6::from_string (1 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload1" title="ip::address_v6::from_string (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload2" title="ip::address_v6::from_string (2 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload2" title="ip::address_v6::from_string (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload3" title="ip::address_v6::from_string (3 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload3" title="ip::address_v6::from_string (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload4" title="ip::address_v6::from_string (4 of 4 overloads)">from_string</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload4" title="ip::address_v6::from_string (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.from_string.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload1" title="ip::address_v6::from_string (1 of 4 overloads)">ip::address_v6::from_string
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.from_string.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload2" title="ip::address_v6::from_string (2 of 4 overloads)">ip::address_v6::from_string
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.from_string.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload3" title="ip::address_v6::from_string (3 of 4 overloads)">ip::address_v6::from_string
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.from_string.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.from_string.overload4" title="ip::address_v6::from_string (4 of 4 overloads)">ip::address_v6::from_string
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an address from an IP address string.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_link_local"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_link_local" title="ip::address_v6::is_link_local">ip::address_v6::is_link_local</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206261360"></a>
-Determine whether the address is link local.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_link_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_loopback"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_loopback" title="ip::address_v6::is_loopback">ip::address_v6::is_loopback</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206268384"></a>
-Determine whether the address is a loopback address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_loopback</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_multicast"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast" title="ip::address_v6::is_multicast">ip::address_v6::is_multicast</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206275488"></a>
-Determine whether the address is a multicast
- address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_multicast_global"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_global" title="ip::address_v6::is_multicast_global">ip::address_v6::is_multicast_global</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206282608"></a>
-Determine whether the address is a global
- multicast address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_global</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_multicast_link_local"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_link_local" title="ip::address_v6::is_multicast_link_local">ip::address_v6::is_multicast_link_local</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206289744"></a>
-Determine whether the address is a
- link-local multicast address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_link_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_multicast_node_local"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_node_local" title="ip::address_v6::is_multicast_node_local">ip::address_v6::is_multicast_node_local</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206296928"></a>
-Determine whether the address is a
- node-local multicast address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_node_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_multicast_org_local"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_org_local" title="ip::address_v6::is_multicast_org_local">ip::address_v6::is_multicast_org_local</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206304048"></a>
-Determine whether the address is a
- org-local multicast address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_org_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_multicast_site_local"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_multicast_site_local" title="ip::address_v6::is_multicast_site_local">ip::address_v6::is_multicast_site_local</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206311168"></a>
-Determine whether the address is a
- site-local multicast address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_site_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_site_local"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_site_local" title="ip::address_v6::is_site_local">ip::address_v6::is_site_local</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206318288"></a>
-Determine whether the address is site local.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_site_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_unspecified"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_unspecified" title="ip::address_v6::is_unspecified">ip::address_v6::is_unspecified</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206325312"></a>
-Determine whether the address is unspecified.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_unspecified</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_v4_compatible"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_v4_compatible" title="ip::address_v6::is_v4_compatible">ip::address_v6::is_v4_compatible</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206332272"></a>
-Determine whether the address is an IPv4-compatible
- address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v4_compatible</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.is_v4_mapped"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.is_v4_mapped" title="ip::address_v6::is_v4_mapped">ip::address_v6::is_v4_mapped</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206339392"></a>
-Determine whether the address is a mapped IPv4
- address.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v4_mapped</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.loopback"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.loopback" title="ip::address_v6::loopback">ip::address_v6::loopback</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206346448"></a>
-Obtain an address object that represents the loopback
- address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">loopback</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_not__eq_" title="ip::address_v6::operator!=">ip::address_v6::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206352976"></a>
-Compare two addresses for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt_" title="ip::address_v6::operator&lt;">ip::address_v6::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206371760"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_lt__lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__lt_" title="ip::address_v6::operator&lt;&lt;">ip::address_v6::operator&lt;&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206390464"></a>
-Output an address as a string.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-<p>
- Used to output a human-readable string for a specified address.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__lt_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">os</span></dt>
-<dd><p>
- The output stream to which the string will be written.
- </p></dd>
-<dt><span class="term">addr</span></dt>
-<dd><p>
- The address to be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__lt_.return_value">Return
- Value</a>
- </h6>
-<p>
- The output stream.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__eq_" title="ip::address_v6::operator&lt;=">ip::address_v6::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206426976"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq_" title="ip::address_v6::operator=">ip::address_v6::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206445600"></a>
-Assign from another address.
- </p>
-<pre class="programlisting"><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq__eq_" title="ip::address_v6::operator==">ip::address_v6::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206455360"></a>
-Compare two addresses for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt_" title="ip::address_v6::operator&gt;">ip::address_v6::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206473984"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt__eq_" title="ip::address_v6::operator&gt;=">ip::address_v6::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206492688"></a>
-Compare addresses for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__address_v6.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.scope_id"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id" title="ip::address_v6::scope_id">ip::address_v6::scope_id</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload1">ip::address_v6::scope_id
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload2">ip::address_v6::scope_id
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206511376"></a>
-The scope ID of the address.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">long</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload1" title="ip::address_v6::scope_id (1 of 2 overloads)">scope_id</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload1" title="ip::address_v6::scope_id (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload2" title="ip::address_v6::scope_id (2 of 2 overloads)">scope_id</a><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">id</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload2" title="ip::address_v6::scope_id (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.scope_id.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload1" title="ip::address_v6::scope_id (1 of 2 overloads)">ip::address_v6::scope_id
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- The scope ID of the address.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">scope_id</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the scope ID associated with the IPv6 address.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.scope_id.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.scope_id.overload2" title="ip::address_v6::scope_id (2 of 2 overloads)">ip::address_v6::scope_id
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- The scope ID of the address.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">scope_id</span><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">id</span><span class="special">);</span>
-</pre>
-<p>
- Modifies the scope ID associated with the IPv6 address.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.to_bytes"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_bytes" title="ip::address_v6::to_bytes">ip::address_v6::to_bytes</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206541536"></a>
-Get the address in bytes, in network byte order.
- </p>
-<pre class="programlisting"><span class="identifier">bytes_type</span> <span class="identifier">to_bytes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.to_string"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string" title="ip::address_v6::to_string">ip::address_v6::to_string</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload1">ip::address_v6::to_string
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload2">ip::address_v6::to_string
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206548560"></a>
-Get the address as a string.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload1" title="ip::address_v6::to_string (1 of 2 overloads)">to_string</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload1" title="ip::address_v6::to_string (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload2" title="ip::address_v6::to_string (2 of 2 overloads)">to_string</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload2" title="ip::address_v6::to_string (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.to_string.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload1" title="ip::address_v6::to_string (1 of 2 overloads)">ip::address_v6::to_string
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the address as a string.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__address_v6.to_string.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_string.overload2" title="ip::address_v6::to_string (2 of 2 overloads)">ip::address_v6::to_string
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the address as a string.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.to_v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.to_v4" title="ip::address_v6::to_v4">ip::address_v6::to_v4</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206587376"></a>
-Converts an IPv4-mapped or IPv4-compatible address to
- an IPv4 address.
- </p>
-<pre class="programlisting"><span class="identifier">address_v4</span> <span class="identifier">to_v4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.v4_compatible"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.v4_compatible" title="ip::address_v6::v4_compatible">ip::address_v6::v4_compatible</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206594512"></a>
-Create an IPv4-compatible IPv6 address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">v4_compatible</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__address_v6.v4_mapped"></a><a class="link" href="reference.html#boost_asio.reference.ip__address_v6.v4_mapped" title="ip::address_v6::v4_mapped">ip::address_v6::v4_mapped</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206604288"></a>
-Create an IPv4-mapped IPv6 address.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">v4_mapped</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint" title="ip::basic_endpoint">ip::basic_endpoint</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.address">ip::basic_endpoint::address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint">ip::basic_endpoint::basic_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity">ip::basic_endpoint::capacity</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.data">ip::basic_endpoint::data</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type">ip::basic_endpoint::data_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_">ip::basic_endpoint::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_">ip::basic_endpoint::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_">ip::basic_endpoint::operator&lt;&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_">ip::basic_endpoint::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_">ip::basic_endpoint::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_">ip::basic_endpoint::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_">ip::basic_endpoint::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_">ip::basic_endpoint::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.port">ip::basic_endpoint::port</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol">ip::basic_endpoint::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type">ip::basic_endpoint::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.resize">ip::basic_endpoint::resize</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.size">ip::basic_endpoint::size</a></span></dt>
-</dl></div>
-<p>
- Describes an endpoint for a version-independent IP socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__basic_endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on the
- underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the IP address associated with the endpoint.
- </p>
- <p>
- Set the IP address associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using a port number, specified in the host's
- byte order. The IP address will be the any address (i.e. INADDR_ANY
- or in6addr_any). This constructor would typically be used for accepting
- new connections.
- </p>
- <p>
- Construct an endpoint using a port number and an IP address. This
- constructor may be used for accepting connections on a specific
- interface or for making a connection to a remote endpoint.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the port associated with the endpoint. The port number is always
- in the host's byte order.
- </p>
- <p>
- Set the port associated with the endpoint. The port number is always
- in the host's byte order.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.resize" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.size" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.related_functions">Related
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a>
- class template describes an endpoint that may be associated with a particular
- socket.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.thread_safety">Thread Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.address"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address" title="ip::basic_endpoint::address">ip::basic_endpoint::address</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload1">ip::basic_endpoint::address
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload2">ip::basic_endpoint::address
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206728160"></a>
-Get the IP address associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload1" title="ip::basic_endpoint::address (1 of 2 overloads)">address</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload1" title="ip::basic_endpoint::address (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the IP address associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload2" title="ip::basic_endpoint::address (2 of 2 overloads)">address</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload2" title="ip::basic_endpoint::address (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.address.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload1" title="ip::basic_endpoint::address (1 of 2 overloads)">ip::basic_endpoint::address
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the IP address associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="identifier">address</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.address.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address.overload2" title="ip::basic_endpoint::address (2 of 2 overloads)">ip::basic_endpoint::address
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the IP address associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">address</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint" title="ip::basic_endpoint::basic_endpoint">ip::basic_endpoint::basic_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1">ip::basic_endpoint::basic_endpoint
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2">ip::basic_endpoint::basic_endpoint
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3">ip::basic_endpoint::basic_endpoint
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4">ip::basic_endpoint::basic_endpoint
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206771680"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">basic_endpoint</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an endpoint using a port number, specified in the host's byte
- order. The IP address will be the any address (i.e. INADDR_ANY or in6addr_any).
- This constructor would typically be used for accepting new connections.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">InternetProtocol</span> <span class="special">&amp;</span> <span class="identifier">internet_protocol</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an endpoint using a port number and an IP address. This constructor
- may be used for accepting connections on a specific interface or for making
- a connection to a remote endpoint.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">ip::basic_endpoint::basic_endpoint
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">ip::basic_endpoint::basic_endpoint
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an endpoint using a port number, specified in the host's byte
- order. The IP address will be the any address (i.e. INADDR_ANY or in6addr_any).
- This constructor would typically be used for accepting new connections.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">InternetProtocol</span> <span class="special">&amp;</span> <span class="identifier">internet_protocol</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2.examples">Examples</a>
- </h6>
-<p>
- To initialise an IPv4 TCP endpoint for port 1234, use:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">ep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">1234</span><span class="special">);</span>
-</pre>
-<p>
- To specify an IPv6 UDP endpoint for port 9876, use:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">ep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v6</span><span class="special">(),</span> <span class="number">9876</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">ip::basic_endpoint::basic_endpoint
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an endpoint using a port number and an IP address. This constructor
- may be used for accepting connections on a specific interface or for
- making a connection to a remote endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">ip::basic_endpoint::basic_endpoint
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.capacity"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity" title="ip::basic_endpoint::capacity">ip::basic_endpoint::capacity</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206873920"></a>
-Get the capacity of the endpoint in the native
- type.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">capacity</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.data"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data" title="ip::basic_endpoint::data">ip::basic_endpoint::data</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload1">ip::basic_endpoint::data
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload2">ip::basic_endpoint::data
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp206882032"></a>
-Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload1" title="ip::basic_endpoint::data (1 of 2 overloads)">data</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload1" title="ip::basic_endpoint::data (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload2" title="ip::basic_endpoint::data (2 of 2 overloads)">data</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload2" title="ip::basic_endpoint::data (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.data.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload1" title="ip::basic_endpoint::data (1 of 2 overloads)">ip::basic_endpoint::data
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.data.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data.overload2" title="ip::basic_endpoint::data (2 of 2 overloads)">ip::basic_endpoint::data
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.data_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type" title="ip::basic_endpoint::data_type">ip::basic_endpoint::data_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206908800"></a>
-The type of the endpoint structure. This type
- is dependent on the underlying implementation of the socket layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">data_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.data_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.data_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_" title="ip::basic_endpoint::operator!=">ip::basic_endpoint::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206921120"></a>
-Compare two endpoints for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_" title="ip::basic_endpoint::operator&lt;">ip::basic_endpoint::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206943712"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_" title="ip::basic_endpoint::operator&lt;&lt;">ip::basic_endpoint::operator&lt;&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206966192"></a>
-Output an endpoint as a string.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- Used to output a human-readable string for a specified endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">os</span></dt>
-<dd><p>
- The output stream to which the string will be written.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- The endpoint to be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.return_value">Return
- Value</a>
- </h6>
-<p>
- The output stream.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_" title="ip::basic_endpoint::operator&lt;=">ip::basic_endpoint::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp206999760"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_" title="ip::basic_endpoint::operator=">ip::basic_endpoint::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207022304"></a>
-Assign from another endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_" title="ip::basic_endpoint::operator==">ip::basic_endpoint::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207032080"></a>
-Compare two endpoints for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_" title="ip::basic_endpoint::operator&gt;">ip::basic_endpoint::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207054672"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_" title="ip::basic_endpoint::operator&gt;=">ip::basic_endpoint::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207077200"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.port"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port" title="ip::basic_endpoint::port">ip::basic_endpoint::port</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload1">ip::basic_endpoint::port
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload2">ip::basic_endpoint::port
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp207099792"></a>
-Get the port associated with the endpoint. The port
- number is always in the host's byte order.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">short</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload1" title="ip::basic_endpoint::port (1 of 2 overloads)">port</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload1" title="ip::basic_endpoint::port (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the port associated with the endpoint. The port number is always in
- the host's byte order.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload2" title="ip::basic_endpoint::port (2 of 2 overloads)">port</a><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload2" title="ip::basic_endpoint::port (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.port.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload1" title="ip::basic_endpoint::port (1 of 2 overloads)">ip::basic_endpoint::port
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the port associated with the endpoint. The port number is always
- in the host's byte order.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.port.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port.overload2" title="ip::basic_endpoint::port (2 of 2 overloads)">ip::basic_endpoint::port
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the port associated with the endpoint. The port number is always
- in the host's byte order.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">port</span><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.protocol"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol" title="ip::basic_endpoint::protocol">ip::basic_endpoint::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207130352"></a>
-The protocol associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">protocol_type</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type" title="ip::basic_endpoint::protocol_type">ip::basic_endpoint::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207137376"></a>
-The protocol type associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_endpoint.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.resize"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.resize" title="ip::basic_endpoint::resize">ip::basic_endpoint::resize</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207149536"></a>
-Set the underlying size of the endpoint in the
- native type.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resize</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">new_size</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_endpoint.size"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.size" title="ip::basic_endpoint::size">ip::basic_endpoint::size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207158400"></a>
-Get the underlying size of the endpoint in the native
- type.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__basic_resolver"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver">ip::basic_resolver</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve">ip::basic_resolver::async_resolve</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver">ip::basic_resolver::basic_resolver</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.cancel">ip::basic_resolver::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type">ip::basic_resolver::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation">ip::basic_resolver::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service">ip::basic_resolver::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_service">ip::basic_resolver::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.implementation">ip::basic_resolver::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type">ip::basic_resolver::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.iterator">ip::basic_resolver::iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type">ip::basic_resolver::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.query">ip::basic_resolver::query</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.resolve">ip::basic_resolver::resolve</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.service">ip::basic_resolver::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.service_type">ip::basic_resolver::service_type</a></span></dt>
-</dl></div>
-<p>
- Provides endpoint resolution functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolverService" title="Resolver service requirements">ResolverService</a> <span class="special">=</span> <span class="identifier">resolver_service</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_resolver</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">ResolverService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The query type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Asynchronously perform forward resolution of a query to a list
- of entries.
- </p>
- <p>
- Asynchronously perform reverse resolution of an endpoint to a list
- of entries.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.cancel" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the resolver.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform forward resolution of a query to a list of entries.
- </p>
- <p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a>
- class template provides the ability to resolve a query to a list of endpoints.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.thread_safety">Thread Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve" title="ip::basic_resolver::async_resolve">ip::basic_resolver::async_resolve</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1">ip::basic_resolver::async_resolve
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2">ip::basic_resolver::async_resolve
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp207276496"></a>
-Asynchronously perform forward resolution
- of a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">async_resolve</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Asynchronously perform reverse resolution of an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">async_resolve</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">ip::basic_resolver::async_resolve
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Asynchronously perform forward resolution of a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously resolve a query into a list of
- endpoint entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">q</span></dt>
-<dd><p>
- A query object that determines what endpoints will be returned.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the resolve operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span> <span class="comment">// Forward-only iterator that can</span>
- <span class="comment">// be used to traverse the list</span>
- <span class="comment">// of endpoint entries.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1.remarks">Remarks</a>
- </h6>
-<p>
- A default constructed iterator represents the end of the list.
- </p>
-<p>
- A successful resolve operation is guaranteed to pass at least one entry
- to the handler.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">ip::basic_resolver::async_resolve
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Asynchronously perform reverse resolution of an endpoint to a list of
- entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously resolve an endpoint into a list
- of endpoint entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">e</span></dt>
-<dd><p>
- An endpoint object that determines what endpoints will be returned.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the resolve operation completes.
- Copies will be made of the handler as required. The function signature
- of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span> <span class="comment">// Forward-only iterator that can</span>
- <span class="comment">// be used to traverse the list</span>
- <span class="comment">// of endpoint entries.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2.remarks">Remarks</a>
- </h6>
-<p>
- A default constructed iterator represents the end of the list.
- </p>
-<p>
- A successful resolve operation is guaranteed to pass at least one entry
- to the handler.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.basic_resolver"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver" title="ip::basic_resolver::basic_resolver">ip::basic_resolver::basic_resolver</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207394192"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a>.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.basic_resolver.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.basic_resolver.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the
- resolver will use to dispatch handlers for any asynchronous operations
- performed on the timer.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.cancel"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.cancel" title="ip::basic_resolver::cancel">ip::basic_resolver::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207414016"></a>
-Cancel any asynchronous operations that are waiting
- on the resolver.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function forces the completion of any pending asynchronous operations
- on the host resolver. The handler for each cancelled operation will be
- invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
- error code.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type" title="ip::basic_resolver::endpoint_type">ip::basic_resolver::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207424928"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation" title="ip::basic_resolver::get_implementation">ip::basic_resolver::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload1">ip::basic_resolver::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload2">ip::basic_resolver::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp207438208"></a>
-Get the underlying implementation of
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload1" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload1" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload2" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload2" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload1" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">ip::basic_resolver::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation.overload2" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">ip::basic_resolver::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service" title="ip::basic_resolver::get_io_service">ip::basic_resolver::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp207467808"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service" title="ip::basic_resolver::get_service">ip::basic_resolver::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload1">ip::basic_resolver::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload2">ip::basic_resolver::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp207485520"></a>
-Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload1" title="ip::basic_resolver::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload1" title="ip::basic_resolver::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload2" title="ip::basic_resolver::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload2" title="ip::basic_resolver::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload1" title="ip::basic_resolver::get_service (1 of 2 overloads)">ip::basic_resolver::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service.overload2" title="ip::basic_resolver::get_service (2 of 2 overloads)">ip::basic_resolver::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.implementation"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation" title="ip::basic_resolver::implementation">ip::basic_resolver::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp207515008"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type" title="ip::basic_resolver::implementation_type">ip::basic_resolver::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp207523376"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.iterator"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator">ip::basic_resolver::iterator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207536896"></a>
-The iterator type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type" title="ip::basic_resolver_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used for the distance between two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category" title="ip::basic_resolver_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator category.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer" title="ip::basic_resolver_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator-&gt;() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference" title="ip::basic_resolver_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator*() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type" title="ip::basic_resolver_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the value pointed to by the iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.iterator.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator" title="ip::basic_resolver_iterator::basic_resolver_iterator"><span class="bold"><strong>basic_resolver_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor creates an end iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create" title="ip::basic_resolver_iterator::create"><span class="bold"><strong>create</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an iterator from an addrinfo list returned by getaddrinfo.
- </p>
- <p>
- Create an iterator from an endpoint, host name and service name.
- </p>
- <p>
- Create an iterator from a sequence of endpoints, host and service
- name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator__star_" title="ip::basic_resolver_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_" title="ip::basic_resolver_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Increment operator (prefix).
- </p>
- <p>
- Increment operator (postfix).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_" title="ip::basic_resolver_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.iterator.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_" title="ip::basic_resolver_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_" title="ip::basic_resolver_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator" title="ip::basic_resolver_iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span></code></a> class
- template is used to define iterators over the results returned by a resolver.
- </p>
-<p>
- The iterator's value_type, obtained when the iterator is dereferenced,
- is:
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.iterator.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.iterator.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type" title="ip::basic_resolver::protocol_type">ip::basic_resolver::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207627568"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.query"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query" title="ip::basic_resolver::query">ip::basic_resolver::query</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp207639680"></a>
-The query type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_query</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">query</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.query.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags" title="ip::basic_resolver_query::flags"><span class="bold"><strong>flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A bitmask type (C++ Std [lib.bitmask.types]).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type" title="ip::basic_resolver_query::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint query.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.query.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query" title="ip::basic_resolver_query::basic_resolver_query"><span class="bold"><strong>basic_resolver_query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct with specified service name for any protocol.
- </p>
- <p>
- Construct with specified service name for a given protocol.
- </p>
- <p>
- Construct with specified host name and service name for any protocol.
- </p>
- <p>
- Construct with specified host name and service name for a given
- protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.hints" title="ip::basic_resolver_query::hints"><span class="bold"><strong>hints</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the hints associated with the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.host_name" title="ip::basic_resolver_query::host_name"><span class="bold"><strong>host_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the host name associated with the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.service_name" title="ip::basic_resolver_query::service_name"><span class="bold"><strong>service_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service name associated with the query.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.query.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.address_configured" title="ip::basic_resolver_query::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Only return IPv4 addresses if a non-loopback IPv4 address is
- configured for the system. Only return IPv6 addresses if a non-loopback
- IPv6 address is configured for the system.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.all_matching" title="ip::basic_resolver_query::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.canonical_name" title="ip::basic_resolver_query::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the canonical name of the host specified in the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_host" title="ip::basic_resolver_query::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Host name should be treated as a numeric string defining an IPv4
- or IPv6 address and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_service" title="ip::basic_resolver_query::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Service name should be treated as a numeric string defining a
- port number and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.passive" title="ip::basic_resolver_query::passive"><span class="bold"><strong>passive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Indicate that returned endpoint is intended for use as a locally
- bound socket endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.v4_mapped" title="ip::basic_resolver_query::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If the query protocol family is specified as IPv6, return IPv4-mapped
- IPv6 addresses on finding no IPv6 addresses.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a> class template
- describes a query that can be passed to a resolver.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.query.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.query.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.resolve"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve" title="ip::basic_resolver::resolve">ip::basic_resolver::resolve</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1">ip::basic_resolver::resolve
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2">ip::basic_resolver::resolve
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3">ip::basic_resolver::resolve
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4">ip::basic_resolver::resolve
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp207730160"></a>
-Perform forward resolution of a query to a list
- of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1" title="ip::basic_resolver::resolve (1 of 4 overloads)">resolve</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1" title="ip::basic_resolver::resolve (1 of 4 overloads)">more...</a></em></span>
-
-<span class="identifier">iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2" title="ip::basic_resolver::resolve (2 of 4 overloads)">resolve</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2" title="ip::basic_resolver::resolve (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3" title="ip::basic_resolver::resolve (3 of 4 overloads)">resolve</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3" title="ip::basic_resolver::resolve (3 of 4 overloads)">more...</a></em></span>
-
-<span class="identifier">iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4" title="ip::basic_resolver::resolve (4 of 4 overloads)">resolve</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4" title="ip::basic_resolver::resolve (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1" title="ip::basic_resolver::resolve (1 of 4 overloads)">ip::basic_resolver::resolve
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform forward resolution of a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to resolve a query into a list of endpoint entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">q</span></dt>
-<dd><p>
- A query object that determines what endpoints will be returned.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A forward-only iterator that can be used to traverse the list of endpoint
- entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.remarks">Remarks</a>
- </h6>
-<p>
- A default constructed iterator represents the end of the list.
- </p>
-<p>
- A successful call to this function is guaranteed to return at least one
- entry.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2" title="ip::basic_resolver::resolve (2 of 4 overloads)">ip::basic_resolver::resolve
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform forward resolution of a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to resolve a query into a list of endpoint entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">q</span></dt>
-<dd><p>
- A query object that determines what endpoints will be returned.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A forward-only iterator that can be used to traverse the list of endpoint
- entries. Returns a default constructed iterator if an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload2.remarks">Remarks</a>
- </h6>
-<p>
- A default constructed iterator represents the end of the list.
- </p>
-<p>
- A successful call to this function is guaranteed to return at least one
- entry.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3" title="ip::basic_resolver::resolve (3 of 4 overloads)">ip::basic_resolver::resolve
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to resolve an endpoint into a list of endpoint
- entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">e</span></dt>
-<dd><p>
- An endpoint object that determines what endpoints will be returned.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- A forward-only iterator that can be used to traverse the list of endpoint
- entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.remarks">Remarks</a>
- </h6>
-<p>
- A default constructed iterator represents the end of the list.
- </p>
-<p>
- A successful call to this function is guaranteed to return at least one
- entry.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4" title="ip::basic_resolver::resolve (4 of 4 overloads)">ip::basic_resolver::resolve
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to resolve an endpoint into a list of endpoint
- entries.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">e</span></dt>
-<dd><p>
- An endpoint object that determines what endpoints will be returned.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4.return_value">Return
- Value</a>
- </h6>
-<p>
- A forward-only iterator that can be used to traverse the list of endpoint
- entries. Returns a default constructed iterator if an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve.overload4.remarks">Remarks</a>
- </h6>
-<p>
- A default constructed iterator represents the end of the list.
- </p>
-<p>
- A successful call to this function is guaranteed to return at least one
- entry.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.service"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service" title="ip::basic_resolver::service">ip::basic_resolver::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp207879904"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver.service_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type" title="ip::basic_resolver::service_type">ip::basic_resolver::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp207892208"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ResolverService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry" title="ip::basic_resolver_entry">ip::basic_resolver_entry</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry">ip::basic_resolver_entry::basic_resolver_entry</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint">ip::basic_resolver_entry::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type">ip::basic_resolver_entry::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.host_name">ip::basic_resolver_entry::host_name</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type">ip::basic_resolver_entry::operator
- endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type">ip::basic_resolver_entry::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.service_name">ip::basic_resolver_entry::service_name</a></span></dt>
-</dl></div>
-<p>
- An entry produced by a resolver.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_resolver_entry</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_entry.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type" title="ip::basic_resolver_entry::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type associated with the endpoint entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type" title="ip::basic_resolver_entry::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint entry.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_entry.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry" title="ip::basic_resolver_entry::basic_resolver_entry"><span class="bold"><strong>basic_resolver_entry</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct with specified endpoint, host name and service name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint" title="ip::basic_resolver_entry::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the endpoint associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.host_name" title="ip::basic_resolver_entry::host_name"><span class="bold"><strong>host_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the host name associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type" title="ip::basic_resolver_entry::operator endpoint_type"><span class="bold"><strong>operator endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Convert to the endpoint associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.service_name" title="ip::basic_resolver_entry::service_name"><span class="bold"><strong>service_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service name associated with the entry.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry" title="ip::basic_resolver_entry"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_entry</span></code></a>
- class template describes an entry as returned by a resolver.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_entry.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_entry.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_entry.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry" title="ip::basic_resolver_entry::basic_resolver_entry">ip::basic_resolver_entry::basic_resolver_entry</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1">ip::basic_resolver_entry::basic_resolver_entry
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2">ip::basic_resolver_entry::basic_resolver_entry
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp207964608"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">basic_resolver_entry</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct with specified endpoint, host name and service name.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">basic_resolver_entry</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">ep</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">ip::basic_resolver_entry::basic_resolver_entry
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_entry</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">ip::basic_resolver_entry::basic_resolver_entry
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct with specified endpoint, host name and service name.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_entry</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">ep</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint" title="ip::basic_resolver_entry::endpoint">ip::basic_resolver_entry::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208007600"></a>
-Get the endpoint associated with the entry.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type" title="ip::basic_resolver_entry::endpoint_type">ip::basic_resolver_entry::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208014640"></a>
-The endpoint type associated with
- the endpoint entry.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_entry.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_entry.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.host_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.host_name" title="ip::basic_resolver_entry::host_name">ip::basic_resolver_entry::host_name</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208028128"></a>
-Get the host name associated with the
- entry.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type" title="ip::basic_resolver_entry::operator endpoint_type">ip::basic_resolver_entry::operator
- endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208036256"></a>
-Convert to the endpoint associated
- with the entry.
- </p>
-<pre class="programlisting"><span class="keyword">operator</span> <span class="identifier">endpoint_type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type" title="ip::basic_resolver_entry::protocol_type">ip::basic_resolver_entry::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208043520"></a>
-The protocol type associated with
- the endpoint entry.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_entry.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_entry.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_entry.service_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.service_name" title="ip::basic_resolver_entry::service_name">ip::basic_resolver_entry::service_name</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208055824"></a>
-Get the service name associated with
- the entry.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">service_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator" title="ip::basic_resolver_iterator">ip::basic_resolver_iterator</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator">ip::basic_resolver_iterator::basic_resolver_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create">ip::basic_resolver_iterator::create</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type">ip::basic_resolver_iterator::difference_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category">ip::basic_resolver_iterator::iterator_category</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator__star_">ip::basic_resolver_iterator::operator
- *</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_">ip::basic_resolver_iterator::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_">ip::basic_resolver_iterator::operator++</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_">ip::basic_resolver_iterator::operator-&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_">ip::basic_resolver_iterator::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer">ip::basic_resolver_iterator::pointer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference">ip::basic_resolver_iterator::reference</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type">ip::basic_resolver_iterator::value_type</a></span></dt>
-</dl></div>
-<p>
- An iterator over the entries produced by a resolver.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_resolver_iterator</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type" title="ip::basic_resolver_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used for the distance between two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category" title="ip::basic_resolver_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator category.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer" title="ip::basic_resolver_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator-&gt;() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference" title="ip::basic_resolver_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator*() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type" title="ip::basic_resolver_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the value pointed to by the iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator" title="ip::basic_resolver_iterator::basic_resolver_iterator"><span class="bold"><strong>basic_resolver_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor creates an end iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create" title="ip::basic_resolver_iterator::create"><span class="bold"><strong>create</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an iterator from an addrinfo list returned by getaddrinfo.
- </p>
- <p>
- Create an iterator from an endpoint, host name and service name.
- </p>
- <p>
- Create an iterator from a sequence of endpoints, host and service
- name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator__star_" title="ip::basic_resolver_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_" title="ip::basic_resolver_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Increment operator (prefix).
- </p>
- <p>
- Increment operator (postfix).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_" title="ip::basic_resolver_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_" title="ip::basic_resolver_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_" title="ip::basic_resolver_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator" title="ip::basic_resolver_iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span></code></a>
- class template is used to define iterators over the results returned by a
- resolver.
- </p>
-<p>
- The iterator's value_type, obtained when the iterator is dereferenced, is:
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator" title="ip::basic_resolver_iterator::basic_resolver_iterator">ip::basic_resolver_iterator::basic_resolver_iterator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208151856"></a>
-Default constructor creates
- an end iterator.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.create"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create" title="ip::basic_resolver_iterator::create">ip::basic_resolver_iterator::create</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload1">ip::basic_resolver_iterator::create
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload2">ip::basic_resolver_iterator::create
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload3">ip::basic_resolver_iterator::create
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp208156992"></a>
-Create an iterator from an addrinfo list
- returned by getaddrinfo.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload1" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">create</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">addrinfo_type</span> <span class="special">*</span> <span class="identifier">address_info</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload1" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Create an iterator from an endpoint, host name and service name.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload2" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">create</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload2" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Create an iterator from a sequence of endpoints, host and service name.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">EndpointIterator</span><span class="special">&gt;</span>
-<span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload3" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">create</a><span class="special">(</span>
- <span class="identifier">EndpointIterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">EndpointIterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload3" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.create.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload1" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">ip::basic_resolver_iterator::create
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an iterator from an addrinfo list returned by getaddrinfo.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <span class="identifier">create</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">addrinfo_type</span> <span class="special">*</span> <span class="identifier">address_info</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.create.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload2" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">ip::basic_resolver_iterator::create
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an iterator from an endpoint, host name and service name.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <span class="identifier">create</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.create.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create.overload3" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">ip::basic_resolver_iterator::create
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Create an iterator from a sequence of endpoints, host and service name.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">EndpointIterator</span><span class="special">&gt;</span>
-<span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <span class="identifier">create</span><span class="special">(</span>
- <span class="identifier">EndpointIterator</span> <span class="identifier">begin</span><span class="special">,</span>
- <span class="identifier">EndpointIterator</span> <span class="identifier">end</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.difference_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type" title="ip::basic_resolver_iterator::difference_type">ip::basic_resolver_iterator::difference_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208279856"></a>
-The type used for the distance
- between two iterators.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.difference_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.difference_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.iterator_category"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category" title="ip::basic_resolver_iterator::iterator_category">ip::basic_resolver_iterator::iterator_category</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208293408"></a>
-The iterator category.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward_iterator_tag</span> <span class="identifier">iterator_category</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.iterator_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.iterator_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator__star_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator__star_" title="ip::basic_resolver_iterator::operator *">ip::basic_resolver_iterator::operator
- *</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208306752"></a>
-Dereference an iterator.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_" title="ip::basic_resolver_iterator::operator!=">ip::basic_resolver_iterator::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208317280"></a>
-Test two iterators for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_" title="ip::basic_resolver_iterator::operator++">ip::basic_resolver_iterator::operator++</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload1">ip::basic_resolver_iterator::operator++
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload2">ip::basic_resolver_iterator::operator++
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp208336064"></a>
-Increment operator (prefix).
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload1" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">operator++</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload1" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Increment operator (postfix).
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload2" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">operator++</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload2" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload1" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">ip::basic_resolver_iterator::operator++
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Increment operator (prefix).
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload2" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">ip::basic_resolver_iterator::operator++
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Increment operator (postfix).
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <span class="keyword">operator</span><span class="special">++(</span>
- <span class="keyword">int</span> <span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_" title="ip::basic_resolver_iterator::operator-&gt;">ip::basic_resolver_iterator::operator-&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208361792"></a>
-Dereference an iterator.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">-&gt;()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_" title="ip::basic_resolver_iterator::operator==">ip::basic_resolver_iterator::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208372256"></a>
-Test two iterators for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.pointer"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer" title="ip::basic_resolver_iterator::pointer">ip::basic_resolver_iterator::pointer</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208391200"></a>
-The type of the result of applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">-&gt;()</span></code>
- to the iterator.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">pointer</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.pointer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.pointer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.reference"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference" title="ip::basic_resolver_iterator::reference">ip::basic_resolver_iterator::reference</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208408448"></a>
-The type of the result of applying
- <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>
- to the iterator.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">reference</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type" title="ip::basic_resolver_entry::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type associated with the endpoint entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type" title="ip::basic_resolver_entry::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint entry.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry" title="ip::basic_resolver_entry::basic_resolver_entry"><span class="bold"><strong>basic_resolver_entry</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct with specified endpoint, host name and service name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint" title="ip::basic_resolver_entry::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the endpoint associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.host_name" title="ip::basic_resolver_entry::host_name"><span class="bold"><strong>host_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the host name associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type" title="ip::basic_resolver_entry::operator endpoint_type"><span class="bold"><strong>operator endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Convert to the endpoint associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.service_name" title="ip::basic_resolver_entry::service_name"><span class="bold"><strong>service_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service name associated with the entry.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry" title="ip::basic_resolver_entry"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_entry</span></code></a> class template
- describes an entry as returned by a resolver.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type" title="ip::basic_resolver_iterator::value_type">ip::basic_resolver_iterator::value_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208471872"></a>
-The type of the value pointed to by
- the iterator.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type" title="ip::basic_resolver_entry::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type associated with the endpoint entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type" title="ip::basic_resolver_entry::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint entry.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry" title="ip::basic_resolver_entry::basic_resolver_entry"><span class="bold"><strong>basic_resolver_entry</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct with specified endpoint, host name and service name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.endpoint" title="ip::basic_resolver_entry::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the endpoint associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.host_name" title="ip::basic_resolver_entry::host_name"><span class="bold"><strong>host_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the host name associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type" title="ip::basic_resolver_entry::operator endpoint_type"><span class="bold"><strong>operator endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Convert to the endpoint associated with the entry.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry.service_name" title="ip::basic_resolver_entry::service_name"><span class="bold"><strong>service_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service name associated with the entry.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_entry" title="ip::basic_resolver_entry"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_entry</span></code></a> class template
- describes an entry as returned by a resolver.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query" title="ip::basic_resolver_query">ip::basic_resolver_query</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.address_configured">ip::basic_resolver_query::address_configured</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.all_matching">ip::basic_resolver_query::all_matching</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query">ip::basic_resolver_query::basic_resolver_query</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.canonical_name">ip::basic_resolver_query::canonical_name</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags">ip::basic_resolver_query::flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.hints">ip::basic_resolver_query::hints</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.host_name">ip::basic_resolver_query::host_name</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_host">ip::basic_resolver_query::numeric_host</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_service">ip::basic_resolver_query::numeric_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.passive">ip::basic_resolver_query::passive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type">ip::basic_resolver_query::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.service_name">ip::basic_resolver_query::service_name</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.v4_mapped">ip::basic_resolver_query::v4_mapped</a></span></dt>
-</dl></div>
-<p>
- An query to be passed to a resolver.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_resolver_query</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">resolver_query_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_query.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags" title="ip::basic_resolver_query::flags"><span class="bold"><strong>flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A bitmask type (C++ Std [lib.bitmask.types]).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type" title="ip::basic_resolver_query::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint query.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_query.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query" title="ip::basic_resolver_query::basic_resolver_query"><span class="bold"><strong>basic_resolver_query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct with specified service name for any protocol.
- </p>
- <p>
- Construct with specified service name for a given protocol.
- </p>
- <p>
- Construct with specified host name and service name for any protocol.
- </p>
- <p>
- Construct with specified host name and service name for a given
- protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.hints" title="ip::basic_resolver_query::hints"><span class="bold"><strong>hints</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the hints associated with the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.host_name" title="ip::basic_resolver_query::host_name"><span class="bold"><strong>host_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the host name associated with the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.service_name" title="ip::basic_resolver_query::service_name"><span class="bold"><strong>service_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service name associated with the query.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_query.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.address_configured" title="ip::basic_resolver_query::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Only return IPv4 addresses if a non-loopback IPv4 address is configured
- for the system. Only return IPv6 addresses if a non-loopback IPv6
- address is configured for the system.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.all_matching" title="ip::basic_resolver_query::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.canonical_name" title="ip::basic_resolver_query::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the canonical name of the host specified in the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_host" title="ip::basic_resolver_query::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Host name should be treated as a numeric string defining an IPv4
- or IPv6 address and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_service" title="ip::basic_resolver_query::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Service name should be treated as a numeric string defining a port
- number and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.passive" title="ip::basic_resolver_query::passive"><span class="bold"><strong>passive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Indicate that returned endpoint is intended for use as a locally
- bound socket endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.v4_mapped" title="ip::basic_resolver_query::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If the query protocol family is specified as IPv6, return IPv4-mapped
- IPv6 addresses on finding no IPv6 addresses.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a>
- class template describes a query that can be passed to a resolver.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_query.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__basic_resolver_query.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_query.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.address_configured"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.address_configured" title="ip::basic_resolver_query::address_configured">ip::basic_resolver_query::address_configured</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208623712"></a>
-Only return IPv4 addresses if
- a non-loopback IPv4 address is configured for the system. Only return IPv6
- addresses if a non-loopback IPv6 address is configured for the system.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">address_configured</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.all_matching"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.all_matching" title="ip::basic_resolver_query::all_matching">ip::basic_resolver_query::all_matching</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208633312"></a>
-If used with v4_mapped, return all
- matching IPv6 and IPv4 addresses.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">all_matching</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query" title="ip::basic_resolver_query::basic_resolver_query">ip::basic_resolver_query::basic_resolver_query</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1">ip::basic_resolver_query::basic_resolver_query
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2">ip::basic_resolver_query::basic_resolver_query
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3">ip::basic_resolver_query::basic_resolver_query
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4">ip::basic_resolver_query::basic_resolver_query
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp208641984"></a>
-Construct with specified service
- name for any protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct with specified service name for a given protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct with specified host name and service name for any protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct with specified host name and service name for a given protocol.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct with specified service name for any protocol.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
-</pre>
-<p>
- This constructor is typically used to perform name resolution for local
- service binding.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">service</span></dt>
-<dd><p>
- A string identifying the requested service. This may be a descriptive
- name or a numeric string corresponding to a port number.
- </p></dd>
-<dt><span class="term">resolve_flags</span></dt>
-<dd><p>
- A set of flags that determine how name resolution should be performed.
- The default flags are suitable for local service binding.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.remarks">Remarks</a>
- </h6>
-<p>
- On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
- On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
- Operating systems may use additional locations when resolving service
- names.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct with specified service name for a given protocol.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
-</pre>
-<p>
- This constructor is typically used to perform name resolution for local
- service binding with a specific protocol version.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- A protocol object, normally representing either the IPv4 or IPv6
- version of an internet protocol.
- </p></dd>
-<dt><span class="term">service</span></dt>
-<dd><p>
- A string identifying the requested service. This may be a descriptive
- name or a numeric string corresponding to a port number.
- </p></dd>
-<dt><span class="term">resolve_flags</span></dt>
-<dd><p>
- A set of flags that determine how name resolution should be performed.
- The default flags are suitable for local service binding.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.remarks">Remarks</a>
- </h6>
-<p>
- On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
- On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
- Operating systems may use additional locations when resolving service
- names.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct with specified host name and service name for any protocol.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
-</pre>
-<p>
- This constructor is typically used to perform name resolution for communication
- with remote hosts.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">host</span></dt>
-<dd><p>
- A string identifying a location. May be a descriptive name or a
- numeric address string. If an empty string and the passive flag
- has been specified, the resolved endpoints are suitable for local
- service binding. If an empty string and passive is not specified,
- the resolved endpoints will use the loopback address.
- </p></dd>
-<dt><span class="term">service</span></dt>
-<dd><p>
- A string identifying the requested service. This may be a descriptive
- name or a numeric string corresponding to a port number. May be
- an empty string, in which case all resolved endpoints will have
- a port number of 0.
- </p></dd>
-<dt><span class="term">resolve_flags</span></dt>
-<dd><p>
- A set of flags that determine how name resolution should be performed.
- The default flags are suitable for communication with remote hosts.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.remarks">Remarks</a>
- </h6>
-<p>
- On POSIX systems, host names may be locally defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">hosts</span></code>.
- On Windows, host names may be defined in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">hosts</span></code>.
- Remote host name resolution is performed using DNS. Operating systems
- may use additional locations when resolving host names (such as NETBIOS
- names on Windows).
- </p>
-<p>
- On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
- On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
- Operating systems may use additional locations when resolving service
- names.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct with specified host name and service name for a given protocol.
- </p>
-<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
- <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
-</pre>
-<p>
- This constructor is typically used to perform name resolution for communication
- with remote hosts.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">protocol</span></dt>
-<dd><p>
- A protocol object, normally representing either the IPv4 or IPv6
- version of an internet protocol.
- </p></dd>
-<dt><span class="term">host</span></dt>
-<dd><p>
- A string identifying a location. May be a descriptive name or a
- numeric address string. If an empty string and the passive flag
- has been specified, the resolved endpoints are suitable for local
- service binding. If an empty string and passive is not specified,
- the resolved endpoints will use the loopback address.
- </p></dd>
-<dt><span class="term">service</span></dt>
-<dd><p>
- A string identifying the requested service. This may be a descriptive
- name or a numeric string corresponding to a port number. May be
- an empty string, in which case all resolved endpoints will have
- a port number of 0.
- </p></dd>
-<dt><span class="term">resolve_flags</span></dt>
-<dd><p>
- A set of flags that determine how name resolution should be performed.
- The default flags are suitable for communication with remote hosts.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.remarks">Remarks</a>
- </h6>
-<p>
- On POSIX systems, host names may be locally defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">hosts</span></code>.
- On Windows, host names may be defined in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">hosts</span></code>.
- Remote host name resolution is performed using DNS. Operating systems
- may use additional locations when resolving host names (such as NETBIOS
- names on Windows).
- </p>
-<p>
- On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
- On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
- Operating systems may use additional locations when resolving service
- names.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.canonical_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.canonical_name" title="ip::basic_resolver_query::canonical_name">ip::basic_resolver_query::canonical_name</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208891984"></a>
-Determine the canonical name of the
- host specified in the query.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">canonical_name</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.flags"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags" title="ip::basic_resolver_query::flags">ip::basic_resolver_query::flags</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208901376"></a>
-A bitmask type (C++ Std [lib.bitmask.types]).
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_query.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.hints"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.hints" title="ip::basic_resolver_query::hints">ip::basic_resolver_query::hints</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208913520"></a>
-Get the hints associated with the query.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">addrinfo_type</span> <span class="special">&amp;</span> <span class="identifier">hints</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.host_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.host_name" title="ip::basic_resolver_query::host_name">ip::basic_resolver_query::host_name</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208925200"></a>
-Get the host name associated with the
- query.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.numeric_host"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_host" title="ip::basic_resolver_query::numeric_host">ip::basic_resolver_query::numeric_host</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208934192"></a>
-Host name should be treated as a numeric
- string defining an IPv4 or IPv6 address and no name resolution should be
- attempted.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_host</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.numeric_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_service" title="ip::basic_resolver_query::numeric_service">ip::basic_resolver_query::numeric_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208943744"></a>
-Service name should be treated as
- a numeric string defining a port number and no name resolution should be
- attempted.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_service</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.passive"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.passive" title="ip::basic_resolver_query::passive">ip::basic_resolver_query::passive</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208953264"></a>
-Indicate that returned endpoint is intended
- for use as a locally bound socket endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">passive</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type" title="ip::basic_resolver_query::protocol_type">ip::basic_resolver_query::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208961872"></a>
-The protocol type associated with
- the endpoint query.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__basic_resolver_query.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_query.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.service_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.service_name" title="ip::basic_resolver_query::service_name">ip::basic_resolver_query::service_name</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp208974208"></a>
-Get the service name associated with
- the query.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">service_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__basic_resolver_query.v4_mapped"></a><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.v4_mapped" title="ip::basic_resolver_query::v4_mapped">ip::basic_resolver_query::v4_mapped</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp208983120"></a>
-If the query protocol family is specified
- as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">v4_mapped</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__host_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__host_name" title="ip::host_name">ip::host_name</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__host_name.overload1">ip::host_name
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__host_name.overload2">ip::host_name
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp208991776"></a>
-Get the current host name.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__host_name.overload1" title="ip::host_name (1 of 2 overloads)">host_name</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__host_name.overload1" title="ip::host_name (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.ip__host_name.overload2" title="ip::host_name (2 of 2 overloads)">host_name</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__host_name.overload2" title="ip::host_name (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__host_name.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__host_name.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__host_name.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/host_name.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__host_name.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__host_name.overload1" title="ip::host_name (1 of 2 overloads)">ip::host_name
- (1 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the current host name.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__host_name.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__host_name.overload2" title="ip::host_name (2 of 2 overloads)">ip::host_name
- (2 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Get the current host name.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__icmp"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp" title="ip::icmp">ip::icmp</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.endpoint">ip::icmp::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.family">ip::icmp::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.operator_not__eq_">ip::icmp::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.operator_eq__eq_">ip::icmp::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.protocol">ip::icmp::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.resolver">ip::icmp::resolver</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.socket">ip::icmp::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.type">ip::icmp::type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.v4">ip::icmp::v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__icmp.v6">ip::icmp::v6</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for ICMP.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">icmp</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__icmp.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint" title="ip::icmp::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a ICMP endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver" title="ip::icmp::resolver"><span class="bold"><strong>resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The ICMP resolver type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket" title="ip::icmp::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The ICMP socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__icmp.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.family" title="ip::icmp::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.protocol" title="ip::icmp::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.type" title="ip::icmp::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.v4" title="ip::icmp::v4"><span class="bold"><strong>v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent the IPv4 ICMP protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.v6" title="ip::icmp::v6"><span class="bold"><strong>v6</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent the IPv6 ICMP protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__icmp.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.operator_not__eq_" title="ip::icmp::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__icmp.operator_eq__eq_" title="ip::icmp::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__icmp" title="ip::icmp"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span></code></a>
- class contains flags necessary for ICMP sockets.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__icmp.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__icmp.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint" title="ip::icmp::endpoint">ip::icmp::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209102400"></a>
-The type of a ICMP endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">icmp</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__icmp.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the IP address associated with the endpoint.
- </p>
- <p>
- Set the IP address associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using a port number, specified in the host's
- byte order. The IP address will be the any address (i.e. INADDR_ANY
- or in6addr_any). This constructor would typically be used for
- accepting new connections.
- </p>
- <p>
- Construct an endpoint using a port number and an IP address.
- This constructor may be used for accepting connections on a specific
- interface or for making a connection to a remote endpoint.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the port associated with the endpoint. The port number is
- always in the host's byte order.
- </p>
- <p>
- Set the port associated with the endpoint. The port number is
- always in the host's byte order.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.resize" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.size" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with a particular socket.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__icmp.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__icmp.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.family"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.family" title="ip::icmp::family">ip::icmp::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209214512"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.operator_not__eq_" title="ip::icmp::operator!=">ip::icmp::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209221520"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__icmp.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.operator_eq__eq_" title="ip::icmp::operator==">ip::icmp::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209240176"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__icmp.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.protocol"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.protocol" title="ip::icmp::protocol">ip::icmp::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209258656"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.resolver"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver" title="ip::icmp::resolver">ip::icmp::resolver</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209265632"></a>
-The ICMP resolver type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver</span><span class="special">&lt;</span> <span class="identifier">icmp</span> <span class="special">&gt;</span> <span class="identifier">resolver</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__icmp.resolver.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The query type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.resolver.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Asynchronously perform forward resolution of a query to a list
- of entries.
- </p>
- <p>
- Asynchronously perform reverse resolution of an endpoint to a
- list of entries.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.cancel" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the resolver.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform forward resolution of a query to a list of entries.
- </p>
- <p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.resolver.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.resolver.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a> class template
- provides the ability to resolve a query to a list of endpoints.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__icmp.resolver.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__icmp.resolver.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.resolver.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.socket"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket" title="ip::icmp::socket">ip::icmp::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209366064"></a>
-The ICMP socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">icmp</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.broadcast" title="basic_raw_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bytes_readable" title="basic_raw_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.debug" title="basic_raw_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.do_not_route" title="basic_raw_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted" title="basic_raw_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.endpoint_type" title="basic_raw_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation_type" title="basic_raw_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.keep_alive" title="basic_raw_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.linger" title="basic_raw_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer_type" title="basic_raw_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_flags" title="basic_raw_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle_type" title="basic_raw_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_type" title="basic_raw_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking_io" title="basic_raw_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.protocol_type" title="basic_raw_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_buffer_size" title="basic_raw_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_low_watermark" title="basic_raw_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.reuse_address" title="basic_raw_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_buffer_size" title="basic_raw_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_low_watermark" title="basic_raw_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service_type" title="basic_raw_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown_type" title="basic_raw_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.assign" title="basic_raw_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_connect" title="basic_raw_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive" title="basic_raw_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_receive_from" title="basic_raw_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send" title="basic_raw_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.async_send_to" title="basic_raw_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.at_mark" title="basic_raw_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.available" title="basic_raw_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.basic_raw_socket" title="basic_raw_socket::basic_raw_socket"><span class="bold"><strong>basic_raw_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_raw_socket without opening it.
- </p>
- <p>
- Construct and open a basic_raw_socket.
- </p>
- <p>
- Construct a basic_raw_socket, opening it and binding it to the
- given local endpoint.
- </p>
- <p>
- Construct a basic_raw_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_raw_socket from another.
- </p>
- <p>
- Move-construct a basic_raw_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.bind" title="basic_raw_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.cancel" title="basic_raw_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.close" title="basic_raw_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.connect" title="basic_raw_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_io_service" title="basic_raw_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_option" title="basic_raw_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.io_control" title="basic_raw_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.is_open" title="basic_raw_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.local_endpoint" title="basic_raw_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.lowest_layer" title="basic_raw_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native" title="basic_raw_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_handle" title="basic_raw_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.native_non_blocking" title="basic_raw_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.non_blocking" title="basic_raw_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.open" title="basic_raw_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.operator_eq_" title="basic_raw_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_raw_socket from another.
- </p>
- <p>
- Move-assign a basic_raw_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive" title="basic_raw_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.receive_from" title="basic_raw_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive raw data with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.remote_endpoint" title="basic_raw_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send" title="basic_raw_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.send_to" title="basic_raw_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send raw data to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.set_option" title="basic_raw_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.shutdown" title="basic_raw_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_implementation" title="basic_raw_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.get_service" title="basic_raw_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.max_connections" title="basic_raw_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_do_not_route" title="basic_raw_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_end_of_record" title="basic_raw_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_out_of_band" title="basic_raw_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.message_peek" title="basic_raw_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.implementation" title="basic_raw_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket.service" title="basic_raw_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_raw_socket" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> class template
- provides asynchronous and blocking raw-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__icmp.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__icmp.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.type"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.type" title="ip::icmp::type">ip::icmp::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209633920"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.v4" title="ip::icmp::v4">ip::icmp::v4</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209640832"></a>
-Construct to represent the IPv4 ICMP protocol.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">icmp</span> <span class="identifier">v4</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__icmp.v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__icmp.v6" title="ip::icmp::v6">ip::icmp::v6</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209647200"></a>
-Construct to represent the IPv6 ICMP protocol.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">icmp</span> <span class="identifier">v6</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__multicast__enable_loopback"></a><a class="link" href="reference.html#boost_asio.reference.ip__multicast__enable_loopback" title="ip::multicast::enable_loopback">ip::multicast::enable_loopback</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp209653792"></a>
-Socket option determining whether outgoing
- multicast packets will be received on the same socket if it is a member of
- the multicast group.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_loopback</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IP/IP_MULTICAST_LOOP socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__multicast__enable_loopback.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__enable_loopback.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__enable_loopback.examples">Examples</a>
- </h5>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">enable_loopback</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">enable_loopback</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__multicast__enable_loopback.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__enable_loopback.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__enable_loopback.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__multicast__hops"></a><a class="link" href="reference.html#boost_asio.reference.ip__multicast__hops" title="ip::multicast::hops">ip::multicast::hops</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp209711536"></a>
-Socket option for time-to-live associated with outgoing
- multicast packets.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">hops</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IP/IP_MULTICAST_TTL socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__multicast__hops.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__hops.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__hops.examples">Examples</a>
- </h5>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">ttl</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__multicast__hops.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__hops.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__hops.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__multicast__join_group"></a><a class="link" href="reference.html#boost_asio.reference.ip__multicast__join_group" title="ip::multicast::join_group">ip::multicast::join_group</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp209769024"></a>
-Socket option to join a multicast group on a specified
- interface.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">join_group</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IP/IP_ADD_MEMBERSHIP socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__multicast__join_group.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__join_group.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__join_group.examples">Examples</a>
- </h5>
-<p>
- Setting the option to join a multicast group:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="identifier">multicast_address</span> <span class="special">=</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"225.0.0.1"</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">join_group</span> <span class="identifier">option</span><span class="special">(</span><span class="identifier">multicast_address</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__multicast__join_group.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__join_group.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__join_group.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__multicast__leave_group"></a><a class="link" href="reference.html#boost_asio.reference.ip__multicast__leave_group" title="ip::multicast::leave_group">ip::multicast::leave_group</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp209815648"></a>
-Socket option to leave a multicast group on a specified
- interface.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">leave_group</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IP/IP_DROP_MEMBERSHIP socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__multicast__leave_group.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__leave_group.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__leave_group.examples">Examples</a>
- </h5>
-<p>
- Setting the option to leave a multicast group:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="identifier">multicast_address</span> <span class="special">=</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"225.0.0.1"</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">leave_group</span> <span class="identifier">option</span><span class="special">(</span><span class="identifier">multicast_address</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__multicast__leave_group.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__leave_group.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__leave_group.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__multicast__outbound_interface"></a><a class="link" href="reference.html#boost_asio.reference.ip__multicast__outbound_interface" title="ip::multicast::outbound_interface">ip::multicast::outbound_interface</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp209862448"></a>
-Socket option for local interface to use
- for outgoing multicast packets.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">outbound_interface</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IP/IP_MULTICAST_IF socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__multicast__outbound_interface.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__outbound_interface.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__outbound_interface.examples">Examples</a>
- </h5>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="identifier">local_interface</span> <span class="special">=</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">outbound_interface</span> <span class="identifier">option</span><span class="special">(</span><span class="identifier">local_interface</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__multicast__outbound_interface.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__multicast__outbound_interface.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__multicast__outbound_interface.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base" title="ip::resolver_query_base">ip::resolver_query_base</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.address_configured">ip::resolver_query_base::address_configured</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.all_matching">ip::resolver_query_base::all_matching</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.canonical_name">ip::resolver_query_base::canonical_name</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.flags">ip::resolver_query_base::flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_host">ip::resolver_query_base::numeric_host</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_service">ip::resolver_query_base::numeric_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.passive">ip::resolver_query_base::passive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base.v4_mapped">ip::resolver_query_base::v4_mapped</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_query_base._resolver_query_base">ip::resolver_query_base::~resolver_query_base</a></span></dt>
-</dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base" title="ip::resolver_query_base"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">resolver_query_base</span></code></a>
- class is used as a base for the <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a>
- class templates to provide a common place to define the flag constants.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">resolver_query_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__resolver_query_base.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.flags" title="ip::resolver_query_base::flags"><span class="bold"><strong>flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A bitmask type (C++ Std [lib.bitmask.types]).
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__resolver_query_base.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base._resolver_query_base" title="ip::resolver_query_base::~resolver_query_base"><span class="bold"><strong>~resolver_query_base</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__resolver_query_base.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.address_configured" title="ip::resolver_query_base::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Only return IPv4 addresses if a non-loopback IPv4 address is configured
- for the system. Only return IPv6 addresses if a non-loopback IPv6
- address is configured for the system.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.all_matching" title="ip::resolver_query_base::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.canonical_name" title="ip::resolver_query_base::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the canonical name of the host specified in the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_host" title="ip::resolver_query_base::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Host name should be treated as a numeric string defining an IPv4
- or IPv6 address and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_service" title="ip::resolver_query_base::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Service name should be treated as a numeric string defining a port
- number and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.passive" title="ip::resolver_query_base::passive"><span class="bold"><strong>passive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Indicate that returned endpoint is intended for use as a locally
- bound socket endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.v4_mapped" title="ip::resolver_query_base::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If the query protocol family is specified as IPv6, return IPv4-mapped
- IPv6 addresses on finding no IPv6 addresses.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__resolver_query_base.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_query_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.address_configured"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.address_configured" title="ip::resolver_query_base::address_configured">ip::resolver_query_base::address_configured</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209977056"></a>
-Only return IPv4 addresses if
- a non-loopback IPv4 address is configured for the system. Only return IPv6
- addresses if a non-loopback IPv6 address is configured for the system.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">address_configured</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.all_matching"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.all_matching" title="ip::resolver_query_base::all_matching">ip::resolver_query_base::all_matching</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209985824"></a>
-If used with v4_mapped, return all matching
- IPv6 and IPv4 addresses.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">all_matching</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.canonical_name"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.canonical_name" title="ip::resolver_query_base::canonical_name">ip::resolver_query_base::canonical_name</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp209994464"></a>
-Determine the canonical name of the
- host specified in the query.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">canonical_name</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.flags"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.flags" title="ip::resolver_query_base::flags">ip::resolver_query_base::flags</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210003088"></a>
-A bitmask type (C++ Std [lib.bitmask.types]).
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_query_base.flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_query_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.numeric_host"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_host" title="ip::resolver_query_base::numeric_host">ip::resolver_query_base::numeric_host</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210015264"></a>
-Host name should be treated as a numeric
- string defining an IPv4 or IPv6 address and no name resolution should be
- attempted.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_host</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.numeric_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.numeric_service" title="ip::resolver_query_base::numeric_service">ip::resolver_query_base::numeric_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210024048"></a>
-Service name should be treated as
- a numeric string defining a port number and no name resolution should be
- attempted.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_service</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.passive"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.passive" title="ip::resolver_query_base::passive">ip::resolver_query_base::passive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210032736"></a>
-Indicate that returned endpoint is intended
- for use as a locally bound socket endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">passive</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base.v4_mapped"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base.v4_mapped" title="ip::resolver_query_base::v4_mapped">ip::resolver_query_base::v4_mapped</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210041328"></a>
-If the query protocol family is specified
- as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">v4_mapped</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_query_base._resolver_query_base"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_query_base._resolver_query_base" title="ip::resolver_query_base::~resolver_query_base">ip::resolver_query_base::~resolver_query_base</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210050016"></a>
-Protected destructor to prevent
- deletion through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">resolver_query_base</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__resolver_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service" title="ip::resolver_service">ip::resolver_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve">ip::resolver_service::async_resolve</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.cancel">ip::resolver_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.construct">ip::resolver_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.destroy">ip::resolver_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.endpoint_type">ip::resolver_service::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.get_io_service">ip::resolver_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.id">ip::resolver_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.implementation_type">ip::resolver_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type">ip::resolver_service::iterator_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.protocol_type">ip::resolver_service::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.query_type">ip::resolver_service::query_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.resolve">ip::resolver_service::resolve</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.resolver_service">ip::resolver_service::resolver_service</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a resolver.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.InternetProtocol" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">resolver_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__resolver_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.endpoint_type" title="ip::resolver_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.implementation_type" title="ip::resolver_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a resolver implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type" title="ip::resolver_service::iterator_type"><span class="bold"><strong>iterator_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.protocol_type" title="ip::resolver_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type" title="ip::resolver_service::query_type"><span class="bold"><strong>query_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The query type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__resolver_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve" title="ip::resolver_service::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Asynchronously resolve a query to a list of entries.
- </p>
- <p>
- Asynchronously resolve an endpoint to a list of entries.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.cancel" title="ip::resolver_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel pending asynchronous operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.construct" title="ip::resolver_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new resolver implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.destroy" title="ip::resolver_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a resolver implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.get_io_service" title="ip::resolver_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve" title="ip::resolver_service::resolve"><span class="bold"><strong>resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Resolve a query to a list of entries.
- </p>
- <p>
- Resolve an endpoint to a list of entries.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolver_service" title="ip::resolver_service::resolver_service"><span class="bold"><strong>resolver_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new resolver service for the specified io_service.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__resolver_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.id" title="ip::resolver_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__resolver_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.async_resolve"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve" title="ip::resolver_service::async_resolve">ip::resolver_service::async_resolve</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload1">ip::resolver_service::async_resolve
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload2">ip::resolver_service::async_resolve
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp210138304"></a>
-Asynchronously resolve a query to a list
- of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload1" title="ip::resolver_service::async_resolve (1 of 2 overloads)">async_resolve</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload1" title="ip::resolver_service::async_resolve (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Asynchronously resolve an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload2" title="ip::resolver_service::async_resolve (2 of 2 overloads)">async_resolve</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload2" title="ip::resolver_service::async_resolve (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__resolver_service.async_resolve.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload1" title="ip::resolver_service::async_resolve (1 of 2 overloads)">ip::resolver_service::async_resolve
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Asynchronously resolve a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__resolver_service.async_resolve.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.async_resolve.overload2" title="ip::resolver_service::async_resolve (2 of 2 overloads)">ip::resolver_service::async_resolve
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Asynchronously resolve an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ResolveHandler" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.cancel" title="ip::resolver_service::cancel">ip::resolver_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210205904"></a>
-Cancel pending asynchronous operations.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.construct" title="ip::resolver_service::construct">ip::resolver_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210214304"></a>
-Construct a new resolver implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.destroy" title="ip::resolver_service::destroy">ip::resolver_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210222768"></a>
-Destroy a resolver implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.endpoint_type" title="ip::resolver_service::endpoint_type">ip::resolver_service::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210231232"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.get_io_service" title="ip::resolver_service::get_io_service">ip::resolver_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp210245328"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.id"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.id" title="ip::resolver_service::id">ip::resolver_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210255648"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.implementation_type" title="ip::resolver_service::implementation_type">ip::resolver_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210265408"></a>
-The type of a resolver implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.iterator_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type" title="ip::resolver_service::iterator_type">ip::resolver_service::iterator_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210277824"></a>
-The iterator type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">iterator_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.iterator_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type" title="ip::basic_resolver_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used for the distance between two iterators.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category" title="ip::basic_resolver_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator category.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.pointer" title="ip::basic_resolver_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator-&gt;() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference" title="ip::basic_resolver_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the result of applying operator*() to the iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.value_type" title="ip::basic_resolver_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the value pointed to by the iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.iterator_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator" title="ip::basic_resolver_iterator::basic_resolver_iterator"><span class="bold"><strong>basic_resolver_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor creates an end iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.create" title="ip::basic_resolver_iterator::create"><span class="bold"><strong>create</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create an iterator from an addrinfo list returned by getaddrinfo.
- </p>
- <p>
- Create an iterator from an endpoint, host name and service name.
- </p>
- <p>
- Create an iterator from a sequence of endpoints, host and service
- name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator__star_" title="ip::basic_resolver_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_" title="ip::basic_resolver_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Increment operator (prefix).
- </p>
- <p>
- Increment operator (postfix).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_" title="ip::basic_resolver_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Dereference an iterator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.iterator_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_" title="ip::basic_resolver_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_" title="ip::basic_resolver_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test two iterators for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator" title="ip::basic_resolver_iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span></code></a> class
- template is used to define iterators over the results returned by a resolver.
- </p>
-<p>
- The iterator's value_type, obtained when the iterator is dereferenced,
- is:
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.iterator_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.iterator_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.iterator_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.protocol_type" title="ip::resolver_service::protocol_type">ip::resolver_service::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210366560"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.query_type"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type" title="ip::resolver_service::query_type">ip::resolver_service::query_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210378672"></a>
-The query type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_query</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">query_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.query_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.flags" title="ip::basic_resolver_query::flags"><span class="bold"><strong>flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A bitmask type (C++ Std [lib.bitmask.types]).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.protocol_type" title="ip::basic_resolver_query::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint query.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.query_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query" title="ip::basic_resolver_query::basic_resolver_query"><span class="bold"><strong>basic_resolver_query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct with specified service name for any protocol.
- </p>
- <p>
- Construct with specified service name for a given protocol.
- </p>
- <p>
- Construct with specified host name and service name for any protocol.
- </p>
- <p>
- Construct with specified host name and service name for a given
- protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.hints" title="ip::basic_resolver_query::hints"><span class="bold"><strong>hints</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the hints associated with the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.host_name" title="ip::basic_resolver_query::host_name"><span class="bold"><strong>host_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the host name associated with the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.service_name" title="ip::basic_resolver_query::service_name"><span class="bold"><strong>service_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service name associated with the query.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.query_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.address_configured" title="ip::basic_resolver_query::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Only return IPv4 addresses if a non-loopback IPv4 address is
- configured for the system. Only return IPv6 addresses if a non-loopback
- IPv6 address is configured for the system.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.all_matching" title="ip::basic_resolver_query::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.canonical_name" title="ip::basic_resolver_query::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the canonical name of the host specified in the query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_host" title="ip::basic_resolver_query::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Host name should be treated as a numeric string defining an IPv4
- or IPv6 address and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.numeric_service" title="ip::basic_resolver_query::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Service name should be treated as a numeric string defining a
- port number and no name resolution should be attempted.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.passive" title="ip::basic_resolver_query::passive"><span class="bold"><strong>passive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Indicate that returned endpoint is intended for use as a locally
- bound socket endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query.v4_mapped" title="ip::basic_resolver_query::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- If the query protocol family is specified as IPv6, return IPv4-mapped
- IPv6 addresses on finding no IPv6 addresses.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_query" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a> class template
- describes a query that can be passed to a resolver.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.query_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__resolver_service.query_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.query_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.resolve"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve" title="ip::resolver_service::resolve">ip::resolver_service::resolve</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload1">ip::resolver_service::resolve
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload2">ip::resolver_service::resolve
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp210467168"></a>
-Resolve a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator_type</span> <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload1" title="ip::resolver_service::resolve (1 of 2 overloads)">resolve</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload1" title="ip::resolver_service::resolve (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Resolve an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator_type</span> <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload2" title="ip::resolver_service::resolve (2 of 2 overloads)">resolve</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload2" title="ip::resolver_service::resolve (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__resolver_service.resolve.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload1" title="ip::resolver_service::resolve (1 of 2 overloads)">ip::resolver_service::resolve
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Resolve a query to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator_type</span> <span class="identifier">resolve</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ip__resolver_service.resolve.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolve.overload2" title="ip::resolver_service::resolve (2 of 2 overloads)">ip::resolver_service::resolve
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Resolve an endpoint to a list of entries.
- </p>
-<pre class="programlisting"><span class="identifier">iterator_type</span> <span class="identifier">resolve</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__resolver_service.resolver_service"></a><a class="link" href="reference.html#boost_asio.reference.ip__resolver_service.resolver_service" title="ip::resolver_service::resolver_service">ip::resolver_service::resolver_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210531072"></a>
-Construct a new resolver service for
- the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">resolver_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__tcp"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp" title="ip::tcp">ip::tcp</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.acceptor">ip::tcp::acceptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.endpoint">ip::tcp::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.family">ip::tcp::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.iostream">ip::tcp::iostream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.no_delay">ip::tcp::no_delay</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.operator_not__eq_">ip::tcp::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.operator_eq__eq_">ip::tcp::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.protocol">ip::tcp::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.resolver">ip::tcp::resolver</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.socket">ip::tcp::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.type">ip::tcp::type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.v4">ip::tcp::v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__tcp.v6">ip::tcp::v6</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for TCP.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__tcp.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor" title="ip::tcp::acceptor"><span class="bold"><strong>acceptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The TCP acceptor type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint" title="ip::tcp::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a TCP endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream" title="ip::tcp::iostream"><span class="bold"><strong>iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The TCP iostream type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.no_delay" title="ip::tcp::no_delay"><span class="bold"><strong>no_delay</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for disabling the Nagle algorithm.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver" title="ip::tcp::resolver"><span class="bold"><strong>resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The TCP resolver type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket" title="ip::tcp::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The TCP socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__tcp.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.family" title="ip::tcp::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.protocol" title="ip::tcp::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.type" title="ip::tcp::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.v4" title="ip::tcp::v4"><span class="bold"><strong>v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent the IPv4 TCP protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.v6" title="ip::tcp::v6"><span class="bold"><strong>v6</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent the IPv6 TCP protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__tcp.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.operator_not__eq_" title="ip::tcp::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__tcp.operator_eq__eq_" title="ip::tcp::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__tcp" title="ip::tcp"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span></code></a>
- class contains flags necessary for TCP sockets.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__tcp.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__tcp.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.acceptor"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor" title="ip::tcp::acceptor">ip::tcp::acceptor</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210624112"></a>
-The TCP acceptor type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">acceptor</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type" title="basic_socket_acceptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of an acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type" title="basic_socket_acceptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of an acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io" title="basic_socket_acceptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type" title="basic_socket_acceptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Accept a new connection.
- </p>
- <p>
- Accept a new connection and obtain the endpoint of the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assigns an existing native acceptor to the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an acceptor without opening it.
- </p>
- <p>
- Construct an open acceptor.
- </p>
- <p>
- Construct an acceptor opened on the given endpoint.
- </p>
- <p>
- Construct a basic_socket_acceptor on an existing native acceptor.
- </p>
- <p>
- Move-construct a basic_socket_acceptor from another.
- </p>
- <p>
- Move-construct a basic_socket_acceptor from an acceptor of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the acceptor to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service" title="basic_socket_acceptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.is_open" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the acceptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Place the acceptor into the state where it will listen for new
- connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native" title="basic_socket_acceptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native acceptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native acceptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native acceptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the acceptor.
- </p>
- <p>
- Sets the non-blocking mode of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the acceptor using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket_acceptor from another.
- </p>
- <p>
- Move-assign a basic_socket_acceptor from an acceptor of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the acceptor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation" title="basic_socket_acceptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service" title="basic_socket_acceptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.data_members">Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.max_connections" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_do_not_route" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_end_of_record" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_out_of_band" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_peek" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation" title="basic_socket_acceptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service" title="basic_socket_acceptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> class template
- is used for accepting new socket connections.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.example"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.example">Example</a>
- </h6>
-<p>
- Opening a socket acceptor with the SO_REUSEADDR option enabled:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">port</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.acceptor.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint" title="ip::tcp::endpoint">ip::tcp::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp210894192"></a>
-The type of a TCP endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the IP address associated with the endpoint.
- </p>
- <p>
- Set the IP address associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using a port number, specified in the host's
- byte order. The IP address will be the any address (i.e. INADDR_ANY
- or in6addr_any). This constructor would typically be used for
- accepting new connections.
- </p>
- <p>
- Construct an endpoint using a port number and an IP address.
- This constructor may be used for accepting connections on a specific
- interface or for making a connection to a remote endpoint.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the port associated with the endpoint. The port number is
- always in the host's byte order.
- </p>
- <p>
- Set the port associated with the endpoint. The port number is
- always in the host's byte order.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.resize" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.size" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with a particular socket.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.family"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.family" title="ip::tcp::family">ip::tcp::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211006192"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.iostream"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream" title="ip::tcp::iostream">ip::tcp::iostream</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211013120"></a>
-The TCP iostream type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_iostream</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">iostream</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.iostream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.iostream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.iostream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.iostream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket_iostream without establishing a connection.
- </p>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.close" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the connection.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.connect" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the last error associated with the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the stream's expiry time as an absolute time.
- </p>
- <p>
- Set the stream's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the stream's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Return a pointer to the underlying streambuf.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.iostream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.iostream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.iostream.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.no_delay"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.no_delay" title="ip::tcp::no_delay">ip::tcp::no_delay</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211075248"></a>
-Socket option for disabling the Nagle algorithm.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">no_delay</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_TCP/TCP_NODELAY socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.no_delay.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.no_delay.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.no_delay.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.no_delay.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.no_delay.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.no_delay.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.operator_not__eq_" title="ip::tcp::operator!=">ip::tcp::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211132816"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.operator_eq__eq_" title="ip::tcp::operator==">ip::tcp::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211151456"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.protocol"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.protocol" title="ip::tcp::protocol">ip::tcp::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211169872"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.resolver"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver" title="ip::tcp::resolver">ip::tcp::resolver</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211176784"></a>
-The TCP resolver type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">resolver</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.resolver.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The query type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.resolver.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Asynchronously perform forward resolution of a query to a list
- of entries.
- </p>
- <p>
- Asynchronously perform reverse resolution of an endpoint to a
- list of entries.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.cancel" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the resolver.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform forward resolution of a query to a list of entries.
- </p>
- <p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.resolver.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.resolver.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a> class template
- provides the ability to resolve a query to a list of endpoints.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.resolver.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.resolver.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.socket"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket" title="ip::tcp::socket">ip::tcp::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211277312"></a>
-The TCP socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_type" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service_type" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.member_functions">Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_socket without opening it.
- </p>
- <p>
- Construct and open a basic_stream_socket.
- </p>
- <p>
- Construct a basic_stream_socket, opening it and binding it to
- the given local endpoint.
- </p>
- <p>
- Construct a basic_stream_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_stream_socket from another.
- </p>
- <p>
- Move-construct a basic_stream_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.is_open" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_socket from another.
- </p>
- <p>
- Move-assign a basic_stream_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on the socket.
- </p>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.max_connections" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_peek" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
- provides asynchronous and blocking stream-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__tcp.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__tcp.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.type"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.type" title="ip::tcp::type">ip::tcp::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211545760"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.v4" title="ip::tcp::v4">ip::tcp::v4</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211552608"></a>
-Construct to represent the IPv4 TCP protocol.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">tcp</span> <span class="identifier">v4</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__tcp.v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__tcp.v6" title="ip::tcp::v6">ip::tcp::v6</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211558944"></a>
-Construct to represent the IPv6 TCP protocol.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">tcp</span> <span class="identifier">v6</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__udp"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp" title="ip::udp">ip::udp</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.endpoint">ip::udp::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.family">ip::udp::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.operator_not__eq_">ip::udp::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.operator_eq__eq_">ip::udp::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.protocol">ip::udp::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.resolver">ip::udp::resolver</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.socket">ip::udp::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.type">ip::udp::type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.v4">ip::udp::v4</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ip__udp.v6">ip::udp::v6</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for UDP.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">udp</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__udp.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint" title="ip::udp::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a UDP endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver" title="ip::udp::resolver"><span class="bold"><strong>resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The UDP resolver type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.socket" title="ip::udp::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The UDP socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__udp.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.family" title="ip::udp::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.protocol" title="ip::udp::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.type" title="ip::udp::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.v4" title="ip::udp::v4"><span class="bold"><strong>v4</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent the IPv4 UDP protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.v6" title="ip::udp::v6"><span class="bold"><strong>v6</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent the IPv6 UDP protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ip__udp.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.operator_not__eq_" title="ip::udp::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__udp.operator_eq__eq_" title="ip::udp::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two protocols for equality.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__udp" title="ip::udp"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span></code></a>
- class contains flags necessary for UDP sockets.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__udp.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__udp.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint" title="ip::udp::endpoint">ip::udp::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211637312"></a>
-The type of a UDP endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">udp</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__udp.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data_type" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol_type" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.address" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the IP address associated with the endpoint.
- </p>
- <p>
- Set the IP address associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using a port number, specified in the host's
- byte order. The IP address will be the any address (i.e. INADDR_ANY
- or in6addr_any). This constructor would typically be used for
- accepting new connections.
- </p>
- <p>
- Construct an endpoint using a port number and an IP address.
- This constructor may be used for accepting connections on a specific
- interface or for making a connection to a remote endpoint.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.capacity" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.data" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq_" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.port" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the port associated with the endpoint. The port number is
- always in the host's byte order.
- </p>
- <p>
- Set the port associated with the endpoint. The port number is
- always in the host's byte order.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.protocol" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.resize" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.size" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt_" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt_" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_endpoint" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with a particular socket.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__udp.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__udp.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.family"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.family" title="ip::udp::family">ip::udp::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211749152"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.operator_not__eq_" title="ip::udp::operator!=">ip::udp::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211756224"></a>
-Compare two protocols for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__udp.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.operator_eq__eq_" title="ip::udp::operator==">ip::udp::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211774800"></a>
-Compare two protocols for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__udp.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.protocol"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.protocol" title="ip::udp::protocol">ip::udp::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211793280"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.resolver"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver" title="ip::udp::resolver">ip::udp::resolver</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211800192"></a>
-The UDP resolver type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver</span><span class="special">&lt;</span> <span class="identifier">udp</span> <span class="special">&gt;</span> <span class="identifier">resolver</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__udp.resolver.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.endpoint_type" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation_type" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The iterator type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.protocol_type" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.query" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The query type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service_type" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.resolver.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.async_resolve" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Asynchronously perform forward resolution of a query to a list
- of entries.
- </p>
- <p>
- Asynchronously perform reverse resolution of an endpoint to a
- list of entries.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.basic_resolver" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.cancel" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the resolver.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_io_service" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform forward resolution of a query to a list of entries.
- </p>
- <p>
- Perform reverse resolution of an endpoint to a list of entries.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.resolver.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_implementation" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.get_service" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.resolver.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.implementation" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.service" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a> class template
- provides the ability to resolve a query to a list of endpoints.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__udp.resolver.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver.thread_safety">Thread Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__udp.resolver.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.socket"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket" title="ip::udp::socket">ip::udp::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp211900608"></a>
-The UDP socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">udp</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.member_functions">Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_datagram_socket without opening it.
- </p>
- <p>
- Construct and open a basic_datagram_socket.
- </p>
- <p>
- Construct a basic_datagram_socket, opening it and binding it
- to the given local endpoint.
- </p>
- <p>
- Construct a basic_datagram_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_datagram_socket from another.
- </p>
- <p>
- Move-construct a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.is_open" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_datagram_socket from another.
- </p>
- <p>
- Move-assign a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive a datagram with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a datagram to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
- provides asynchronous and blocking datagram-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.ip__udp.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__udp.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.type"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.type" title="ip::udp::type">ip::udp::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212168976"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.v4"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.v4" title="ip::udp::v4">ip::udp::v4</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212175824"></a>
-Construct to represent the IPv4 UDP protocol.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">udp</span> <span class="identifier">v4</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ip__udp.v6"></a><a class="link" href="reference.html#boost_asio.reference.ip__udp.v6" title="ip::udp::v6">ip::udp::v6</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212182160"></a>
-Construct to represent the IPv6 UDP protocol.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">udp</span> <span class="identifier">v6</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__unicast__hops"></a><a class="link" href="reference.html#boost_asio.reference.ip__unicast__hops" title="ip::unicast::hops">ip::unicast::hops</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp212188624"></a>
-Socket option for time-to-live associated with outgoing
- unicast packets.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">hops</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IP/IP_UNICAST_TTL socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__unicast__hops.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__unicast__hops.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__unicast__hops.examples">Examples</a>
- </h5>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">unicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">unicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">ttl</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__unicast__hops.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__unicast__hops.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__unicast__hops.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/unicast.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ip__v6_only"></a><a class="link" href="reference.html#boost_asio.reference.ip__v6_only" title="ip::v6_only">ip::v6_only</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp212245968"></a>
-Socket option for determining whether an IPv6 socket supports
- IPv6 communication only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">v6_only</span><span class="special">;</span>
-</pre>
-<p>
- Implements the IPPROTO_IPV6/IP_V6ONLY socket option.
- </p>
-<h5>
-<a name="boost_asio.reference.ip__v6_only.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__v6_only.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__v6_only.examples">Examples</a>
- </h5>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">v6_only</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">v6_only</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">v6_only</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ip__v6_only.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ip__v6_only.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__v6_only.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/v6_only.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_match_condition"></a><a class="link" href="reference.html#boost_asio.reference.is_match_condition" title="is_match_condition">is_match_condition</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_match_condition.value">is_match_condition::value</a></span></dt></dl></div>
-<p>
- Type trait used to determine whether a type can be used as a match condition
- function with read_until and async_read_until.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">is_match_condition</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_match_condition.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_match_condition.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_match_condition.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_match_condition.value" title="is_match_condition::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The value member is true if the type may be used as a match condition.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_match_condition.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_match_condition.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_match_condition.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_until.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_match_condition.value"></a><a class="link" href="reference.html#boost_asio.reference.is_match_condition.value" title="is_match_condition::value">is_match_condition::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212324624"></a>
-The value member is true if the type may be used
- as a match condition.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_read_buffered"></a><a class="link" href="reference.html#boost_asio.reference.is_read_buffered" title="is_read_buffered">is_read_buffered</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_read_buffered.value">is_read_buffered::value</a></span></dt></dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.is_read_buffered" title="is_read_buffered"><code class="computeroutput"><span class="identifier">is_read_buffered</span></code></a>
- class is a traits class that may be used to determine whether a stream type
- supports buffering of read data.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">is_read_buffered</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_read_buffered.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_read_buffered.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_read_buffered.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_read_buffered.value" title="is_read_buffered::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The value member is true only if the Stream type supports buffering
- of read data.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_read_buffered.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_read_buffered.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_read_buffered.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/is_read_buffered.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_read_buffered.value"></a><a class="link" href="reference.html#boost_asio.reference.is_read_buffered.value" title="is_read_buffered::value">is_read_buffered::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212356896"></a>
-The value member is true only if the Stream type supports
- buffering of read data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_write_buffered"></a><a class="link" href="reference.html#boost_asio.reference.is_write_buffered" title="is_write_buffered">is_write_buffered</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_write_buffered.value">is_write_buffered::value</a></span></dt></dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.is_write_buffered" title="is_write_buffered"><code class="computeroutput"><span class="identifier">is_write_buffered</span></code></a> class is a traits
- class that may be used to determine whether a stream type supports buffering
- of written data.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">is_write_buffered</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_write_buffered.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_write_buffered.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_write_buffered.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_write_buffered.value" title="is_write_buffered::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The value member is true only if the Stream type supports buffering
- of written data.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_write_buffered.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_write_buffered.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_write_buffered.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/is_write_buffered.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_write_buffered.value"></a><a class="link" href="reference.html#boost_asio.reference.is_write_buffered.value" title="is_write_buffered::value">is_write_buffered::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212389200"></a>
-The value member is true only if the Stream type
- supports buffering of written data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.local__basic_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint" title="local::basic_endpoint">local::basic_endpoint</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint">local::basic_endpoint::basic_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.capacity">local::basic_endpoint::capacity</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.data">local::basic_endpoint::data</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.data_type">local::basic_endpoint::data_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_">local::basic_endpoint::operator!=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_">local::basic_endpoint::operator&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_">local::basic_endpoint::operator&lt;&lt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_">local::basic_endpoint::operator&lt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq_">local::basic_endpoint::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_">local::basic_endpoint::operator==</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_">local::basic_endpoint::operator&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_">local::basic_endpoint::operator&gt;=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.path">local::basic_endpoint::path</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.protocol">local::basic_endpoint::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type">local::basic_endpoint::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.resize">local::basic_endpoint::resize</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.size">local::basic_endpoint::size</a></span></dt>
-</dl></div>
-<p>
- Describes an endpoint for a UNIX socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.local__basic_endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data_type" title="local::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on the
- underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type" title="local::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.local__basic_endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint" title="local::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using the specified path name.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.capacity" title="local::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data" title="local::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq_" title="local::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the path associated with the endpoint.
- </p>
- <p>
- Set the path associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol" title="local::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.resize" title="local::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.size" title="local::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.local__basic_endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.friends">Friends</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_" title="local::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_" title="local::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_" title="local::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_" title="local::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_" title="local::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_" title="local::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.local__basic_endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.related_functions">Related
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_" title="local::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template describes
- an endpoint that may be associated with a particular UNIX socket.
- </p>
-<h5>
-<a name="boost_asio.reference.local__basic_endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.local__basic_endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint" title="local::basic_endpoint::basic_endpoint">local::basic_endpoint::basic_endpoint</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1">local::basic_endpoint::basic_endpoint
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2">local::basic_endpoint::basic_endpoint
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3">local::basic_endpoint::basic_endpoint
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4">local::basic_endpoint::basic_endpoint
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp212506000"></a>
-Default constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">basic_endpoint</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an endpoint using the specified path name.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">path_name</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">more...</a></em></span>
-
-<a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path_name</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">local::basic_endpoint::basic_endpoint
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Default constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">local::basic_endpoint::basic_endpoint
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an endpoint using the specified path name.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">path_name</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">local::basic_endpoint::basic_endpoint
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an endpoint using the specified path name.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path_name</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">local::basic_endpoint::basic_endpoint
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Copy constructor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.capacity"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.capacity" title="local::basic_endpoint::capacity">local::basic_endpoint::capacity</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212561232"></a>
-Get the capacity of the endpoint in the native
- type.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">capacity</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.data"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data" title="local::basic_endpoint::data">local::basic_endpoint::data</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload1">local::basic_endpoint::data
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload2">local::basic_endpoint::data
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp212569344"></a>
-Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload1" title="local::basic_endpoint::data (1 of 2 overloads)">data</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload1" title="local::basic_endpoint::data (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload2" title="local::basic_endpoint::data (2 of 2 overloads)">data</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload2" title="local::basic_endpoint::data (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.data.overload1"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload1" title="local::basic_endpoint::data (1 of 2 overloads)">local::basic_endpoint::data
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.data.overload2"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data.overload2" title="local::basic_endpoint::data (2 of 2 overloads)">local::basic_endpoint::data
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the underlying endpoint in the native type.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.data_type"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data_type" title="local::basic_endpoint::data_type">local::basic_endpoint::data_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212596336"></a>
-The type of the endpoint structure. This
- type is dependent on the underlying implementation of the socket layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">data_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.data_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.data_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_not__eq_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_" title="local::basic_endpoint::operator!=">local::basic_endpoint::operator!=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212608528"></a>
-Compare two endpoints for inequality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_not__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_not__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_" title="local::basic_endpoint::operator&lt;">local::basic_endpoint::operator&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212631280"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_" title="local::basic_endpoint::operator&lt;&lt;">local::basic_endpoint::operator&lt;&lt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212653840"></a>
-Output an endpoint as a string.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
-</pre>
-<p>
- Used to output a human-readable string for a specified endpoint.
- </p>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">os</span></dt>
-<dd><p>
- The output stream to which the string will be written.
- </p></dd>
-<dt><span class="term">endpoint</span></dt>
-<dd><p>
- The endpoint to be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_.return_value">Return
- Value</a>
- </h6>
-<p>
- The output stream.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_" title="local::basic_endpoint::operator&lt;=">local::basic_endpoint::operator&lt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212687488"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_lt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq_" title="local::basic_endpoint::operator=">local::basic_endpoint::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212710144"></a>
-Assign from another endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_eq__eq_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_" title="local::basic_endpoint::operator==">local::basic_endpoint::operator==</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212719984"></a>
-Compare two endpoints for equality.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_eq__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_eq__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_gt_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_" title="local::basic_endpoint::operator&gt;">local::basic_endpoint::operator&gt;</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212742576"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.operator_gt__eq_"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_" title="local::basic_endpoint::operator&gt;=">local::basic_endpoint::operator&gt;=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212765040"></a>
-Compare endpoints for ordering.
- </p>
-<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.operator_gt__eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_gt__eq_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.path"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path" title="local::basic_endpoint::path">local::basic_endpoint::path</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload1">local::basic_endpoint::path
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload2">local::basic_endpoint::path
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload3">local::basic_endpoint::path
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp212787696"></a>
-Get the path associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload1" title="local::basic_endpoint::path (1 of 3 overloads)">path</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload1" title="local::basic_endpoint::path (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the path associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload2" title="local::basic_endpoint::path (2 of 3 overloads)">path</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">p</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload2" title="local::basic_endpoint::path (2 of 3 overloads)">more...</a></em></span>
-
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload3" title="local::basic_endpoint::path (3 of 3 overloads)">path</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">p</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload3" title="local::basic_endpoint::path (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.path.overload1"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload1" title="local::basic_endpoint::path (1 of 3 overloads)">local::basic_endpoint::path
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the path associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">path</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.path.overload2"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload2" title="local::basic_endpoint::path (2 of 3 overloads)">local::basic_endpoint::path
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the path associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">path</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.path.overload3"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path.overload3" title="local::basic_endpoint::path (3 of 3 overloads)">local::basic_endpoint::path
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the path associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">path</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.protocol"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol" title="local::basic_endpoint::protocol">local::basic_endpoint::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212837152"></a>
-The protocol associated with the endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">protocol_type</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type" title="local::basic_endpoint::protocol_type">local::basic_endpoint::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212844320"></a>
-The protocol type associated with the
- endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__basic_endpoint.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.resize"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.resize" title="local::basic_endpoint::resize">local::basic_endpoint::resize</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212856528"></a>
-Set the underlying size of the endpoint in the
- native type.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resize</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">new_size</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__basic_endpoint.size"></a><a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.size" title="local::basic_endpoint::size">local::basic_endpoint::size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp212865296"></a>
-Get the underlying size of the endpoint in the
- native type.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.local__connect_pair"></a><a class="link" href="reference.html#boost_asio.reference.local__connect_pair" title="local::connect_pair">local::connect_pair</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__connect_pair.overload1">local::connect_pair
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__connect_pair.overload2">local::connect_pair
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp212873584"></a>
-Create a pair of connected sockets.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.local__connect_pair.overload1" title="local::connect_pair (1 of 2 overloads)">connect_pair</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__connect_pair.overload1" title="local::connect_pair (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.local__connect_pair.overload2" title="local::connect_pair (2 of 2 overloads)">connect_pair</a><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.local__connect_pair.overload2" title="local::connect_pair (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.local__connect_pair.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__connect_pair.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__connect_pair.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/connect_pair.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__connect_pair.overload1"></a><a class="link" href="reference.html#boost_asio.reference.local__connect_pair.overload1" title="local::connect_pair (1 of 2 overloads)">local::connect_pair
- (1 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a pair of connected sockets.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">connect_pair</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__connect_pair.overload2"></a><a class="link" href="reference.html#boost_asio.reference.local__connect_pair.overload2" title="local::connect_pair (2 of 2 overloads)">local::connect_pair
- (2 of 2 overloads)</a>
-</h4></div></div></div>
-<p>
- Create a pair of connected sockets.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect_pair</span><span class="special">(</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.local__datagram_protocol"></a><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol" title="local::datagram_protocol">local::datagram_protocol</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint">local::datagram_protocol::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__datagram_protocol.family">local::datagram_protocol::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__datagram_protocol.protocol">local::datagram_protocol::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__datagram_protocol.socket">local::datagram_protocol::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__datagram_protocol.type">local::datagram_protocol::type</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for datagram-oriented UNIX sockets.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">datagram_protocol</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.local__datagram_protocol.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint" title="local::datagram_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a UNIX domain endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket" title="local::datagram_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The UNIX domain socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.local__datagram_protocol.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.family" title="local::datagram_protocol::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.protocol" title="local::datagram_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.type" title="local::datagram_protocol::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol" title="local::datagram_protocol"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code></a> class contains
- flags necessary for datagram-oriented UNIX domain sockets.
- </p>
-<h5>
-<a name="boost_asio.reference.local__datagram_protocol.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.local__datagram_protocol.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__datagram_protocol.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint" title="local::datagram_protocol::endpoint">local::datagram_protocol::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213037712"></a>
-The type of a UNIX domain endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data_type" title="local::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type" title="local::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint" title="local::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using the specified path name.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.capacity" title="local::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data" title="local::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq_" title="local::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the path associated with the endpoint.
- </p>
- <p>
- Set the path associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol" title="local::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.resize" title="local::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.size" title="local::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_" title="local::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_" title="local::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_" title="local::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_" title="local::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_" title="local::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_" title="local::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_" title="local::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with a particular UNIX socket.
- </p>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__datagram_protocol.family"></a><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.family" title="local::datagram_protocol::family">local::datagram_protocol::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213145776"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__datagram_protocol.protocol"></a><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.protocol" title="local::datagram_protocol::protocol">local::datagram_protocol::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213152720"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__datagram_protocol.socket"></a><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket" title="local::datagram_protocol::socket">local::datagram_protocol::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213159728"></a>
-The UNIX domain socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.broadcast" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bytes_readable" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.debug" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.do_not_route" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.endpoint_type" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation_type" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.keep_alive" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.linger" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_flags" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle_type" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_type" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking_io" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.protocol_type" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.reuse_address" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_buffer_size" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_low_watermark" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service_type" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown_type" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.assign" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_connect" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.at_mark" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.available" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_datagram_socket without opening it.
- </p>
- <p>
- Construct and open a basic_datagram_socket.
- </p>
- <p>
- Construct a basic_datagram_socket, opening it and binding it
- to the given local endpoint.
- </p>
- <p>
- Construct a basic_datagram_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_datagram_socket from another.
- </p>
- <p>
- Move-construct a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.bind" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.cancel" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.close" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.connect" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_io_service" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_option" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.io_control" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.is_open" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.local_endpoint" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.lowest_layer" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_handle" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.native_non_blocking" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.non_blocking" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.open" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.operator_eq_" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_datagram_socket from another.
- </p>
- <p>
- Move-assign a basic_datagram_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive a datagram with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.remote_endpoint" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.send_to" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a datagram to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.set_option" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.shutdown" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_implementation" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.get_service" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.max_connections" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_do_not_route" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_end_of_record" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_out_of_band" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.message_peek" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.implementation" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.service" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
- provides asynchronous and blocking datagram-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.local__datagram_protocol.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/datagram_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__datagram_protocol.type"></a><a class="link" href="reference.html#boost_asio.reference.local__datagram_protocol.type" title="local::datagram_protocol::type">local::datagram_protocol::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213429248"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.local__stream_protocol"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol" title="local::stream_protocol">local::stream_protocol</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.acceptor">local::stream_protocol::acceptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.endpoint">local::stream_protocol::endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.family">local::stream_protocol::family</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.iostream">local::stream_protocol::iostream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.protocol">local::stream_protocol::protocol</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.socket">local::stream_protocol::socket</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.local__stream_protocol.type">local::stream_protocol::type</a></span></dt>
-</dl></div>
-<p>
- Encapsulates the flags needed for stream-oriented UNIX sockets.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_protocol</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.local__stream_protocol.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor" title="local::stream_protocol::acceptor"><span class="bold"><strong>acceptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The UNIX domain acceptor type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint" title="local::stream_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a UNIX domain endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.iostream" title="local::stream_protocol::iostream"><span class="bold"><strong>iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The UNIX domain iostream type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket" title="local::stream_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The UNIX domain socket type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.local__stream_protocol.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.family" title="local::stream_protocol::family"><span class="bold"><strong>family</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol family.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.protocol" title="local::stream_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.type" title="local::stream_protocol::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain an identifier for the type of the protocol.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.local__stream_protocol" title="local::stream_protocol"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span></code></a> class contains flags
- necessary for stream-oriented UNIX domain sockets.
- </p>
-<h5>
-<a name="boost_asio.reference.local__stream_protocol.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.local__stream_protocol.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.acceptor"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor" title="local::stream_protocol::acceptor">local::stream_protocol::acceptor</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213491696"></a>
-The UNIX domain acceptor type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">acceptor</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.broadcast" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bytes_readable" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.debug" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.do_not_route" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.endpoint_type" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation_type" title="basic_socket_acceptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.keep_alive" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.linger" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_flags" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle_type" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of an acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_type" title="basic_socket_acceptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of an acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io" title="basic_socket_acceptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.protocol_type" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.reuse_address" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service_type" title="basic_socket_acceptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.shutdown_type" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.accept" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Accept a new connection.
- </p>
- <p>
- Accept a new connection and obtain the endpoint of the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.assign" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assigns an existing native acceptor to the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.async_accept" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an acceptor without opening it.
- </p>
- <p>
- Construct an open acceptor.
- </p>
- <p>
- Construct an acceptor opened on the given endpoint.
- </p>
- <p>
- Construct a basic_socket_acceptor on an existing native acceptor.
- </p>
- <p>
- Move-construct a basic_socket_acceptor from another.
- </p>
- <p>
- Move-construct a basic_socket_acceptor from an acceptor of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.bind" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the acceptor to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.cancel" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.close" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_io_service" title="basic_socket_acceptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_option" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.io_control" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.is_open" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the acceptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.listen" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Place the acceptor into the state where it will listen for new
- connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.local_endpoint" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native" title="basic_socket_acceptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native acceptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_handle" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native acceptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native acceptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.non_blocking" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the acceptor.
- </p>
- <p>
- Sets the non-blocking mode of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.open" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the acceptor using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.operator_eq_" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_socket_acceptor from another.
- </p>
- <p>
- Move-assign a basic_socket_acceptor from an acceptor of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.set_option" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the acceptor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_implementation" title="basic_socket_acceptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.get_service" title="basic_socket_acceptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.max_connections" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_do_not_route" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_end_of_record" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_out_of_band" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.message_peek" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.implementation" title="basic_socket_acceptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor.service" title="basic_socket_acceptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_socket_acceptor" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> class template
- is used for accepting new socket connections.
- </p>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.example"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.example">Example</a>
- </h6>
-<p>
- Opening a socket acceptor with the SO_REUSEADDR option enabled:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">port</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.acceptor.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.acceptor.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.endpoint"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint" title="local::stream_protocol::endpoint">local::stream_protocol::endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213762208"></a>
-The type of a UNIX domain endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.endpoint.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data_type" title="local::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the endpoint structure. This type is dependent on
- the underlying implementation of the socket layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol_type" title="local::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type associated with the endpoint.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.endpoint.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.basic_endpoint" title="local::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Default constructor.
- </p>
- <p>
- Construct an endpoint using the specified path name.
- </p>
- <p>
- Copy constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.capacity" title="local::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the capacity of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.data" title="local::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq_" title="local::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign from another endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.path" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the path associated with the endpoint.
- </p>
- <p>
- Set the path associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.protocol" title="local::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol associated with the endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.resize" title="local::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.size" title="local::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying size of the endpoint in the native type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.endpoint.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.friends"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint.friends">Friends</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_" title="local::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for inequality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt_" title="local::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_" title="local::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_" title="local::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare two endpoints for equality.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt_" title="local::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_" title="local::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Compare endpoints for ordering.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.endpoint.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_" title="local::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Output an endpoint as a string.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.local__basic_endpoint" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
- describes an endpoint that may be associated with a particular UNIX socket.
- </p>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.endpoint.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.endpoint.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.endpoint.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.family"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.family" title="local::stream_protocol::family">local::stream_protocol::family</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213869712"></a>
-Obtain an identifier for the protocol family.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.iostream"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.iostream" title="local::stream_protocol::iostream">local::stream_protocol::iostream</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213876704"></a>
-The UNIX domain iostream type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_iostream</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">iostream</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.iostream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.iostream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.iostream.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.duration_type" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.endpoint_type" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.time_type" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.iostream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.iostream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.iostream.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.basic_socket_iostream" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_socket_iostream without establishing a connection.
- </p>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.close" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the connection.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.connect" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Establish a connection to an endpoint corresponding to a resolver
- query.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.error" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the last error associated with the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_at" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the stream's expiry time as an absolute time.
- </p>
- <p>
- Set the stream's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.expires_from_now" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the stream's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_socket_iostream.rdbuf" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Return a pointer to the underlying streambuf.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.iostream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.iostream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.iostream.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.protocol"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.protocol" title="local::stream_protocol::protocol">local::stream_protocol::protocol</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213939136"></a>
-Obtain an identifier for the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.socket"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket" title="local::stream_protocol::socket">local::stream_protocol::socket</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp213946192"></a>
-The UNIX domain socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.types"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.broadcast" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bytes_readable" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.debug" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.do_not_route" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.endpoint_type" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation_type" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.keep_alive" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.linger" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close
- if unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer_type" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_socket is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_flags" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive
- operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle_type" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_type" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking_io" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.protocol_type" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_buffer_size" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive_low_watermark" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.reuse_address" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_buffer_size" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send_low_watermark" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service_type" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown_type" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.assign" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_connect" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_read_some" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_receive" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_send" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.at_mark" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.available" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.basic_stream_socket" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_socket without opening it.
- </p>
- <p>
- Construct and open a basic_stream_socket.
- </p>
- <p>
- Construct a basic_stream_socket, opening it and binding it to
- the given local endpoint.
- </p>
- <p>
- Construct a basic_stream_socket on an existing native socket.
- </p>
- <p>
- Move-construct a basic_stream_socket from another.
- </p>
- <p>
- Move-construct a basic_stream_socket from a socket of another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.bind" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket to the given local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.cancel" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.close" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.connect" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_io_service" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_option" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.io_control" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.is_open" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.local_endpoint" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.lowest_layer" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_handle" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.native_non_blocking" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.non_blocking" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.open" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the socket using the specified protocol.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.operator_eq_" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_socket from another.
- </p>
- <p>
- Move-assign a basic_stream_socket from a socket of another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.receive" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data on the socket.
- </p>
- <p>
- Receive some data on a connected socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.remote_endpoint" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.send" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send some data on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.set_option" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.shutdown" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.write_some" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_implementation" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.get_service" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.data_members">Data
- Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.max_connections" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_do_not_route" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_end_of_record" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_out_of_band" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.message_peek" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.implementation" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.service" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
- provides asynchronous and blocking stream-oriented socket functionality.
- </p>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.local__stream_protocol.socket.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.socket.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.local__stream_protocol.type"></a><a class="link" href="reference.html#boost_asio.reference.local__stream_protocol.type" title="local::stream_protocol::type">local::stream_protocol::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214215616"></a>
-Obtain an identifier for the type of the protocol.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.mutable_buffer"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer">mutable_buffer</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer">mutable_buffer::mutable_buffer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_">mutable_buffer::operator+</a></span></dt>
-</dl></div>
-<p>
- Holds a buffer that can be modified.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">mutable_buffer</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.mutable_buffer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.member_functions">Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer" title="mutable_buffer::mutable_buffer"><span class="bold"><strong>mutable_buffer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an empty buffer.
- </p>
- <p>
- Construct a buffer to represent a given memory range.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.mutable_buffer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffer.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.related_functions">Related Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_" title="mutable_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new modifiable buffer that is offset from the start of
- another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
- class provides a safe representation of a buffer that can be modified. It
- does not own the underlying data, and so is cheap to copy or assign.
- </p>
-<h5>
-<a name="boost_asio.reference.mutable_buffer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffer.accessing_buffer_contents"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.accessing_buffer_contents">Accessing
- Buffer Contents</a>
- </h5>
-<p>
- The contents of a buffer may be accessed using the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
-<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<h5>
-<a name="boost_asio.reference.mutable_buffer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffer.mutable_buffer"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer" title="mutable_buffer::mutable_buffer">mutable_buffer::mutable_buffer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload1">mutable_buffer::mutable_buffer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload2">mutable_buffer::mutable_buffer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp214288256"></a>
-Construct an empty buffer.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload1" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">mutable_buffer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload1" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a buffer to represent a given memory range.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload2" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">mutable_buffer</a><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload2" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffer.mutable_buffer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload1" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">mutable_buffer::mutable_buffer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an empty buffer.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffer.mutable_buffer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer.overload2" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">mutable_buffer::mutable_buffer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a buffer to represent a given memory range.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffer.operator_plus_"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_" title="mutable_buffer::operator+">mutable_buffer::operator+</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload1">mutable_buffer::operator+
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload2">mutable_buffer::operator+
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp214317984"></a>
-Create a new modifiable buffer that is offset from
- the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload1" title="mutable_buffer::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload1" title="mutable_buffer::operator+ (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">mutable_buffer</span> <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload2" title="mutable_buffer::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload2" title="mutable_buffer::operator+ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffer.operator_plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload1" title="mutable_buffer::operator+ (1 of 2 overloads)">mutable_buffer::operator+
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Create a new modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffer.operator_plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_.overload2" title="mutable_buffer::operator+ (2 of 2 overloads)">mutable_buffer::operator+
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Create a new modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.mutable_buffers_1"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1" title="mutable_buffers_1">mutable_buffers_1</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.begin">mutable_buffers_1::begin</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.const_iterator">mutable_buffers_1::const_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.end">mutable_buffers_1::end</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1">mutable_buffers_1::mutable_buffers_1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_">mutable_buffers_1::operator+</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.value_type">mutable_buffers_1::value_type</a></span></dt>
-</dl></div>
-<p>
- Adapts a single modifiable buffer so that it meets the requirements of the
- MutableBufferSequence concept.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">mutable_buffers_1</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">mutable_buffer</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.mutable_buffers_1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.types"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.const_iterator" title="mutable_buffers_1::const_iterator"><span class="bold"><strong>const_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A random-access iterator type that may be used to read elements.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type" title="mutable_buffers_1::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type for each element in the list of buffers.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.mutable_buffers_1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.begin" title="mutable_buffers_1::begin"><span class="bold"><strong>begin</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a random-access iterator to the first element.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.end" title="mutable_buffers_1::end"><span class="bold"><strong>end</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a random-access iterator for one past the last element.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1" title="mutable_buffers_1::mutable_buffers_1"><span class="bold"><strong>mutable_buffers_1</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct to represent a given memory range.
- </p>
- <p>
- Construct to represent a single modifiable buffer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.mutable_buffers_1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.related_functions">Related
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_" title="mutable_buffers_1::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new modifiable buffer that is offset from the start of
- another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.mutable_buffers_1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.begin"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.begin" title="mutable_buffers_1::begin">mutable_buffers_1::begin</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214417376"></a>
-Get a random-access iterator to the first element.
- </p>
-<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.const_iterator"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.const_iterator" title="mutable_buffers_1::const_iterator">mutable_buffers_1::const_iterator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214424336"></a>
-A random-access iterator type that may be
- used to read elements.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">*</span> <span class="identifier">const_iterator</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.mutable_buffers_1.const_iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.const_iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.const_iterator.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.end"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.end" title="mutable_buffers_1::end">mutable_buffers_1::end</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214437888"></a>
-Get a random-access iterator for one past the last
- element.
- </p>
-<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.mutable_buffers_1"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1" title="mutable_buffers_1::mutable_buffers_1">mutable_buffers_1::mutable_buffers_1</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1">mutable_buffers_1::mutable_buffers_1
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2">mutable_buffers_1::mutable_buffers_1
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp214444896"></a>
-Construct to represent a given memory
- range.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">mutable_buffers_1</a><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct to represent a single modifiable buffer.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">mutable_buffers_1</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">mutable_buffers_1::mutable_buffers_1
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct to represent a given memory range.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">mutable_buffers_1::mutable_buffers_1
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct to represent a single modifiable buffer.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.operator_plus_"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_" title="mutable_buffers_1::operator+">mutable_buffers_1::operator+</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload1">mutable_buffers_1::operator+
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload2">mutable_buffers_1::operator+
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp214481920"></a>
-Create a new modifiable buffer that is offset
- from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload1" title="mutable_buffers_1::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload1" title="mutable_buffers_1::operator+ (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">mutable_buffer</span> <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload2" title="mutable_buffers_1::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload2" title="mutable_buffers_1::operator+ (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.operator_plus_.overload1"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload1" title="mutable_buffers_1::operator+ (1 of 2 overloads)">mutable_buffers_1::operator+
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from mutable_buffer.</em></span>
- </p>
-<p>
- Create a new modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.operator_plus_.overload2"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.operator_plus_.overload2" title="mutable_buffers_1::operator+ (2 of 2 overloads)">mutable_buffers_1::operator+
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from mutable_buffer.</em></span>
- </p>
-<p>
- Create a new modifiable buffer that is offset from the start of another.
- </p>
-<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.mutable_buffers_1.value_type"></a><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type" title="mutable_buffers_1::value_type">mutable_buffers_1::value_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214529040"></a>
-The type for each element in the list of buffers.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">mutable_buffer</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.mutable_buffers_1.value_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer" title="mutable_buffer::mutable_buffer"><span class="bold"><strong>mutable_buffer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an empty buffer.
- </p>
- <p>
- Construct a buffer to represent a given memory range.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.mutable_buffers_1.value_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_" title="mutable_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new modifiable buffer that is offset from the start
- of another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
- class provides a safe representation of a buffer that can be modified.
- It does not own the underlying data, and so is cheap to copy or assign.
- </p>
-<h6>
-<a name="boost_asio.reference.mutable_buffers_1.value_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.accessing_buffer_contents"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type.accessing_buffer_contents">Accessing
- Buffer Contents</a>
- </h6>
-<p>
- The contents of a buffer may be accessed using the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
-<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<h6>
-<a name="boost_asio.reference.mutable_buffers_1.value_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.mutable_buffers_1.value_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.null_buffers"></a><a class="link" href="reference.html#boost_asio.reference.null_buffers" title="null_buffers">null_buffers</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.null_buffers.begin">null_buffers::begin</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.null_buffers.const_iterator">null_buffers::const_iterator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.null_buffers.end">null_buffers::end</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.null_buffers.value_type">null_buffers::value_type</a></span></dt>
-</dl></div>
-<p>
- An implementation of both the ConstBufferSequence and MutableBufferSequence
- concepts to represent a null buffer sequence.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">null_buffers</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.null_buffers.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.types"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.null_buffers.const_iterator" title="null_buffers::const_iterator"><span class="bold"><strong>const_iterator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A random-access iterator type that may be used to read elements.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.null_buffers.value_type" title="null_buffers::value_type"><span class="bold"><strong>value_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type for each element in the list of buffers.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.null_buffers.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.null_buffers.begin" title="null_buffers::begin"><span class="bold"><strong>begin</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a random-access iterator to the first element.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.null_buffers.end" title="null_buffers::end"><span class="bold"><strong>end</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a random-access iterator for one past the last element.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.null_buffers.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.null_buffers.begin"></a><a class="link" href="reference.html#boost_asio.reference.null_buffers.begin" title="null_buffers::begin">null_buffers::begin</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214634496"></a>
-Get a random-access iterator to the first element.
- </p>
-<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.null_buffers.const_iterator"></a><a class="link" href="reference.html#boost_asio.reference.null_buffers.const_iterator" title="null_buffers::const_iterator">null_buffers::const_iterator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214641536"></a>
-A random-access iterator type that may be used
- to read elements.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">*</span> <span class="identifier">const_iterator</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.null_buffers.const_iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.const_iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.const_iterator.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.null_buffers.end"></a><a class="link" href="reference.html#boost_asio.reference.null_buffers.end" title="null_buffers::end">null_buffers::end</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214654976"></a>
-Get a random-access iterator for one past the last element.
- </p>
-<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.null_buffers.value_type"></a><a class="link" href="reference.html#boost_asio.reference.null_buffers.value_type" title="null_buffers::value_type">null_buffers::value_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp214661888"></a>
-The type for each element in the list of buffers.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">mutable_buffer</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.null_buffers.value_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.value_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.mutable_buffer" title="mutable_buffer::mutable_buffer"><span class="bold"><strong>mutable_buffer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an empty buffer.
- </p>
- <p>
- Construct a buffer to represent a given memory range.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.null_buffers.value_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.related_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.value_type.related_functions">Related
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.mutable_buffer.operator_plus_" title="mutable_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new modifiable buffer that is offset from the start
- of another.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.mutable_buffer" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
- class provides a safe representation of a buffer that can be modified.
- It does not own the underlying data, and so is cheap to copy or assign.
- </p>
-<h6>
-<a name="boost_asio.reference.null_buffers.value_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.accessing_buffer_contents"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.value_type.accessing_buffer_contents">Accessing
- Buffer Contents</a>
- </h6>
-<p>
- The contents of a buffer may be accessed using the <a class="link" href="reference.html#boost_asio.reference.buffer_size" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.buffer_cast" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
-<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
- of type safety, so uses of it in application code should be carefully considered.
- </p>
-<h6>
-<a name="boost_asio.reference.null_buffers.value_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.null_buffers.value_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.placeholders__bytes_transferred"></a><a class="link" href="reference.html#boost_asio.reference.placeholders__bytes_transferred" title="placeholders::bytes_transferred">placeholders::bytes_transferred</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp214730128"></a>
-An argument placeholder, for use with boost::bind(),
- that corresponds to the bytes_transferred argument of a handler for asynchronous
- functions such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_stream_socket</span><span class="special">::</span><span class="identifier">async_write_some</span></code> or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span></code>.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">bytes_transferred</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.placeholders__bytes_transferred.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.placeholders__bytes_transferred.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.placeholders__bytes_transferred.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.placeholders__error"></a><a class="link" href="reference.html#boost_asio.reference.placeholders__error" title="placeholders::error">placeholders::error</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp214749120"></a>
-An argument placeholder, for use with boost::bind(), that
- corresponds to the error argument of a handler for any of the asynchronous
- functions.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">error</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.placeholders__error.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.placeholders__error.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.placeholders__error.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.placeholders__iterator"></a><a class="link" href="reference.html#boost_asio.reference.placeholders__iterator" title="placeholders::iterator">placeholders::iterator</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp214760224"></a>
-An argument placeholder, for use with boost::bind(),
- that corresponds to the iterator argument of a handler for asynchronous functions
- such as boost::asio::basic_resolver::async_resolve.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">iterator</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.placeholders__iterator.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.placeholders__iterator.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.placeholders__iterator.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.placeholders__signal_number"></a><a class="link" href="reference.html#boost_asio.reference.placeholders__signal_number" title="placeholders::signal_number">placeholders::signal_number</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp214771568"></a>
-An argument placeholder, for use with boost::bind(),
- that corresponds to the signal_number argument of a handler for asynchronous
- functions such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span><span class="special">::</span><span class="identifier">async_wait</span></code>.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">signal_number</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.placeholders__signal_number.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.placeholders__signal_number.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.placeholders__signal_number.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor">posix::basic_descriptor</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.assign">posix::basic_descriptor::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor">posix::basic_descriptor::basic_descriptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable">posix::basic_descriptor::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel">posix::basic_descriptor::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.close">posix::basic_descriptor::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation">posix::basic_descriptor::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service">posix::basic_descriptor::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service">posix::basic_descriptor::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation">posix::basic_descriptor::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type">posix::basic_descriptor::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control">posix::basic_descriptor::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.is_open">posix::basic_descriptor::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer">posix::basic_descriptor::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type">posix::basic_descriptor::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native">posix::basic_descriptor::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle">posix::basic_descriptor::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type">posix::basic_descriptor::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking">posix::basic_descriptor::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type">posix::basic_descriptor::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking">posix::basic_descriptor::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io">posix::basic_descriptor::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_">posix::basic_descriptor::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.release">posix::basic_descriptor::release</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.service">posix::basic_descriptor::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type">posix::basic_descriptor::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor._basic_descriptor">posix::basic_descriptor::~basic_descriptor</a></span></dt>
-</dl></div>
-<p>
- Provides POSIX descriptor functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.DescriptorService" title="Descriptor service requirements">DescriptorService</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_descriptor</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">DescriptorService</span> <span class="special">&gt;,</span>
- <span class="keyword">public</span> <span class="identifier">posix</span><span class="special">::</span><span class="identifier">descriptor_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.posix__basic_descriptor.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_descriptor is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type" title="posix::basic_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__basic_descriptor.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native descriptor to the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_descriptor without opening it.
- </p>
- <p>
- Construct a basic_descriptor on an existing native descriptor.
- </p>
- <p>
- Move-construct a basic_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.is_open" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the descriptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the descriptor.
- </p>
- <p>
- Sets the non-blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.release" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the native descriptor implementation.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__basic_descriptor.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation" title="posix::basic_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service" title="posix::basic_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor._basic_descriptor" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__basic_descriptor.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
- provides the ability to wrap a POSIX descriptor.
- </p>
-<h5>
-<a name="boost_asio.reference.posix__basic_descriptor.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.posix__basic_descriptor.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.assign"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign" title="posix::basic_descriptor::assign">posix::basic_descriptor::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload1">posix::basic_descriptor::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload2">posix::basic_descriptor::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp214936064"></a>
-Assign an existing native descriptor to the
- descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload1" title="posix::basic_descriptor::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload1" title="posix::basic_descriptor::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload2" title="posix::basic_descriptor::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload2" title="posix::basic_descriptor::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload1" title="posix::basic_descriptor::assign (1 of 2 overloads)">posix::basic_descriptor::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native descriptor to the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign.overload2" title="posix::basic_descriptor::assign (2 of 2 overloads)">posix::basic_descriptor::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native descriptor to the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor" title="posix::basic_descriptor::basic_descriptor">posix::basic_descriptor::basic_descriptor</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1">posix::basic_descriptor::basic_descriptor
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2">posix::basic_descriptor::basic_descriptor
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3">posix::basic_descriptor::basic_descriptor
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp214983696"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">basic_descriptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> on an existing
- native descriptor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">basic_descriptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">basic_descriptor</a><span class="special">(</span>
- <span class="identifier">basic_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">posix::basic_descriptor::basic_descriptor
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_descriptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a descriptor without opening it.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the descriptor will use to dispatch handlers for any asynchronous
- operations performed on the descriptor.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">posix::basic_descriptor::basic_descriptor
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> on an existing
- native descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_descriptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a descriptor object to hold an existing native
- descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the descriptor will use to dispatch handlers for any asynchronous
- operations performed on the descriptor.
- </p></dd>
-<dt><span class="term">native_descriptor</span></dt>
-<dd><p>
- A native descriptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">posix::basic_descriptor::basic_descriptor
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_descriptor</span><span class="special">(</span>
- <span class="identifier">basic_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a descriptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable" title="posix::basic_descriptor::bytes_readable">posix::basic_descriptor::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp215096896"></a>
-IO control command to get the amount
- of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.cancel"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel" title="posix::basic_descriptor::cancel">posix::basic_descriptor::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload1">posix::basic_descriptor::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload2">posix::basic_descriptor::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215134976"></a>
-Cancel all asynchronous operations associated
- with the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload1" title="posix::basic_descriptor::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload1" title="posix::basic_descriptor::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload2" title="posix::basic_descriptor::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload2" title="posix::basic_descriptor::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload1" title="posix::basic_descriptor::cancel (1 of 2 overloads)">posix::basic_descriptor::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload2" title="posix::basic_descriptor::cancel (2 of 2 overloads)">posix::basic_descriptor::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.close"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close" title="posix::basic_descriptor::close">posix::basic_descriptor::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload1">posix::basic_descriptor::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload2">posix::basic_descriptor::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215189648"></a>
-Close the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload1" title="posix::basic_descriptor::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload1" title="posix::basic_descriptor::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload2" title="posix::basic_descriptor::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload2" title="posix::basic_descriptor::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload1" title="posix::basic_descriptor::close (1 of 2 overloads)">posix::basic_descriptor::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the descriptor. Any asynchronous read
- or write operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload2" title="posix::basic_descriptor::close (2 of 2 overloads)">posix::basic_descriptor::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the descriptor. Any asynchronous read
- or write operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation" title="posix::basic_descriptor::get_implementation">posix::basic_descriptor::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload1">posix::basic_descriptor::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload2">posix::basic_descriptor::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215244336"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload1" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload1" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload2" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload2" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload1" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">posix::basic_descriptor::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation.overload2" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">posix::basic_descriptor::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service" title="posix::basic_descriptor::get_io_service">posix::basic_descriptor::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp215274400"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service" title="posix::basic_descriptor::get_service">posix::basic_descriptor::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload1">posix::basic_descriptor::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload2">posix::basic_descriptor::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215292384"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload1" title="posix::basic_descriptor::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload1" title="posix::basic_descriptor::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload2" title="posix::basic_descriptor::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload2" title="posix::basic_descriptor::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload1" title="posix::basic_descriptor::get_service (1 of 2 overloads)">posix::basic_descriptor::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service.overload2" title="posix::basic_descriptor::get_service (2 of 2 overloads)">posix::basic_descriptor::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.implementation"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation" title="posix::basic_descriptor::implementation">posix::basic_descriptor::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp215322080"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type" title="posix::basic_descriptor::implementation_type">posix::basic_descriptor::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp215330448"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.io_control"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control" title="posix::basic_descriptor::io_control">posix::basic_descriptor::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1">posix::basic_descriptor::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2">posix::basic_descriptor::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215343808"></a>
-Perform an IO control command on the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1" title="posix::basic_descriptor::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1" title="posix::basic_descriptor::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2" title="posix::basic_descriptor::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2" title="posix::basic_descriptor::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1" title="posix::basic_descriptor::io_control (1 of 2 overloads)">posix::basic_descriptor::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform an IO control command on the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the descriptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2" title="posix::basic_descriptor::io_control (2 of 2 overloads)">posix::basic_descriptor::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform an IO control command on the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the descriptor.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.is_open"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.is_open" title="posix::basic_descriptor::is_open">posix::basic_descriptor::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215481312"></a>
-Determine whether the descriptor is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer" title="posix::basic_descriptor::lowest_layer">posix::basic_descriptor::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1">posix::basic_descriptor::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2">posix::basic_descriptor::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215488416"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">posix::basic_descriptor::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">posix::basic_descriptor::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type" title="posix::basic_descriptor::lowest_layer_type">posix::basic_descriptor::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215530448"></a>
-A <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> is always the
- lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">DescriptorService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_descriptor is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type" title="posix::basic_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native descriptor to the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_descriptor without opening it.
- </p>
- <p>
- Construct a basic_descriptor on an existing native descriptor.
- </p>
- <p>
- Move-construct a basic_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.is_open" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the descriptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native descriptor
- representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the descriptor.
- </p>
- <p>
- Sets the non-blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.release" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the native descriptor implementation.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation" title="posix::basic_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service" title="posix::basic_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor._basic_descriptor" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
- provides the ability to wrap a POSIX descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native" title="posix::basic_descriptor::native">posix::basic_descriptor::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215673216"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native descriptor representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- descriptor. This is intended to allow access to native descriptor functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle" title="posix::basic_descriptor::native_handle">posix::basic_descriptor::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215681360"></a>
-Get the native descriptor representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- descriptor. This is intended to allow access to native descriptor functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type" title="posix::basic_descriptor::native_handle_type">posix::basic_descriptor::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215687872"></a>
-The native representation of a
- descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking" title="posix::basic_descriptor::native_non_blocking">posix::basic_descriptor::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1">posix::basic_descriptor::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2">posix::basic_descriptor::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3">posix::basic_descriptor::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215701184"></a>
-Gets the non-blocking mode of
- the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">posix::basic_descriptor::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native descriptor. This mode has no effect on the behaviour of the descriptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying descriptor
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the descriptor object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native descriptor.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">posix::basic_descriptor::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native descriptor. It has no effect on the behaviour of the descriptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- descriptor is put into non-blocking mode and direct system calls
- may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">posix::basic_descriptor::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native descriptor. It has no effect on the behaviour of the descriptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- descriptor is put into non-blocking mode and direct system calls
- may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.native_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type" title="posix::basic_descriptor::native_type">posix::basic_descriptor::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215817664"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking" title="posix::basic_descriptor::non_blocking">posix::basic_descriptor::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1">posix::basic_descriptor::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2">posix::basic_descriptor::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3">posix::basic_descriptor::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp215830928"></a>
-Gets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">posix::basic_descriptor::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the descriptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">posix::basic_descriptor::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">posix::basic_descriptor::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io" title="posix::basic_descriptor::non_blocking_io">posix::basic_descriptor::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp215950400"></a>
-(Deprecated: Use non_blocking().)
- IO control command to set the blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_" title="posix::basic_descriptor::operator=">posix::basic_descriptor::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp215983168"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_descriptor</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a descriptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.release"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.release" title="posix::basic_descriptor::release">posix::basic_descriptor::release</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp216010480"></a>
-Release ownership of the native descriptor
- implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">release</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- descriptor. After calling this function, <code class="computeroutput"><span class="identifier">is_open</span><span class="special">()</span></code> returns false. The caller is responsible
- for closing the descriptor.
- </p>
-<p>
- All outstanding asynchronous read or write operations will finish immediately,
- and the handlers for cancelled operations will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.service"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service" title="posix::basic_descriptor::service">posix::basic_descriptor::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216024240"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor.service_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type" title="posix::basic_descriptor::service_type">posix::basic_descriptor::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216036688"></a>
-The type of the service that will be
- used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DescriptorService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_descriptor.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_descriptor._basic_descriptor"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor._basic_descriptor" title="posix::basic_descriptor::~basic_descriptor">posix::basic_descriptor::~basic_descriptor</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp216049008"></a>
-Protected destructor to prevent
- deletion through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_descriptor</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor">posix::basic_stream_descriptor</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign">posix::basic_stream_descriptor::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some">posix::basic_stream_descriptor::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some">posix::basic_stream_descriptor::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor">posix::basic_stream_descriptor::basic_stream_descriptor</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable">posix::basic_stream_descriptor::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel">posix::basic_stream_descriptor::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close">posix::basic_stream_descriptor::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation">posix::basic_stream_descriptor::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service">posix::basic_stream_descriptor::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service">posix::basic_stream_descriptor::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation">posix::basic_stream_descriptor::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type">posix::basic_stream_descriptor::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control">posix::basic_stream_descriptor::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.is_open">posix::basic_stream_descriptor::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer">posix::basic_stream_descriptor::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type">posix::basic_stream_descriptor::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native">posix::basic_stream_descriptor::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle">posix::basic_stream_descriptor::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type">posix::basic_stream_descriptor::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking">posix::basic_stream_descriptor::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_type">posix::basic_stream_descriptor::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking">posix::basic_stream_descriptor::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io">posix::basic_stream_descriptor::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_">posix::basic_stream_descriptor::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some">posix::basic_stream_descriptor::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.release">posix::basic_stream_descriptor::release</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service">posix::basic_stream_descriptor::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service_type">posix::basic_stream_descriptor::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some">posix::basic_stream_descriptor::write_some</a></span></dt>
-</dl></div>
-<p>
- Provides stream-oriented descriptor functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamDescriptorService" title="Stream descriptor service requirements">StreamDescriptorService</a> <span class="special">=</span> <span class="identifier">stream_descriptor_service</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_stream_descriptor</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">StreamDescriptorService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable" title="posix::basic_stream_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type" title="posix::basic_stream_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type" title="posix::basic_stream_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_descriptor is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type" title="posix::basic_stream_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_type" title="posix::basic_stream_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io" title="posix::basic_stream_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service_type" title="posix::basic_stream_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign" title="posix::basic_stream_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native descriptor to the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some" title="posix::basic_stream_descriptor::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some" title="posix::basic_stream_descriptor::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor" title="posix::basic_stream_descriptor::basic_stream_descriptor"><span class="bold"><strong>basic_stream_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_descriptor without opening it.
- </p>
- <p>
- Construct a basic_stream_descriptor on an existing native descriptor.
- </p>
- <p>
- Move-construct a basic_stream_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel" title="posix::basic_stream_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close" title="posix::basic_stream_descriptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service" title="posix::basic_stream_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control" title="posix::basic_stream_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.is_open" title="posix::basic_stream_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the descriptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer" title="posix::basic_stream_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native" title="posix::basic_stream_descriptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle" title="posix::basic_stream_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking" title="posix::basic_stream_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking" title="posix::basic_stream_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the descriptor.
- </p>
- <p>
- Sets the non-blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_" title="posix::basic_stream_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some" title="posix::basic_stream_descriptor::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.release" title="posix::basic_stream_descriptor::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some" title="posix::basic_stream_descriptor::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the descriptor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation" title="posix::basic_stream_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service" title="posix::basic_stream_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation" title="posix::basic_stream_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service" title="posix::basic_stream_descriptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> class template
- provides asynchronous and blocking stream-oriented descriptor functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.assign"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign" title="posix::basic_stream_descriptor::assign">posix::basic_stream_descriptor::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload1">posix::basic_stream_descriptor::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload2">posix::basic_stream_descriptor::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216214832"></a>
-Assign an existing native descriptor
- to the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload1" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload1" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload2" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload2" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload1" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">posix::basic_stream_descriptor::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Assign an existing native descriptor to the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign.overload2" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">posix::basic_stream_descriptor::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Assign an existing native descriptor to the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some" title="posix::basic_stream_descriptor::async_read_some">posix::basic_stream_descriptor::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp216264176"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data from the stream descriptor.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some.remarks">Remarks</a>
- </h6>
-<p>
- The read operation may not read all of the requested number of bytes. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is read before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some" title="posix::basic_stream_descriptor::async_write_some">posix::basic_stream_descriptor::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp216328560"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write data to the stream descriptor.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the descriptor. Although
- the buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some.remarks">Remarks</a>
- </h6>
-<p>
- The write operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
- to ensure that all data is written before the asynchronous operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor" title="posix::basic_stream_descriptor::basic_stream_descriptor">posix::basic_stream_descriptor::basic_stream_descriptor</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1">posix::basic_stream_descriptor::basic_stream_descriptor
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2">posix::basic_stream_descriptor::basic_stream_descriptor
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3">posix::basic_stream_descriptor::basic_stream_descriptor
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216392976"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">basic_stream_descriptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> on an
- existing native descriptor.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">basic_stream_descriptor</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">basic_stream_descriptor</a><span class="special">(</span>
- <span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">posix::basic_stream_descriptor::basic_stream_descriptor
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream descriptor without opening it. The
- descriptor needs to be opened and then connected or accepted before data
- can be sent or received on it.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream descriptor will use to dispatch handlers for any asynchronous
- operations performed on the descriptor.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">posix::basic_stream_descriptor::basic_stream_descriptor
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> on an
- existing native descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream descriptor object to hold an existing
- native descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream descriptor will use to dispatch handlers for any asynchronous
- operations performed on the descriptor.
- </p></dd>
-<dt><span class="term">native_descriptor</span></dt>
-<dd><p>
- The new underlying descriptor implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">posix::basic_stream_descriptor::basic_stream_descriptor
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> from
- another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span>
- <span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a stream descriptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable" title="posix::basic_stream_descriptor::bytes_readable">posix::basic_stream_descriptor::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216507136"></a>
-IO control command to get the
- amount of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel" title="posix::basic_stream_descriptor::cancel">posix::basic_stream_descriptor::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1">posix::basic_stream_descriptor::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2">posix::basic_stream_descriptor::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216545632"></a>
-Cancel all asynchronous operations
- associated with the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">posix::basic_stream_descriptor::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">posix::basic_stream_descriptor::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.close"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close" title="posix::basic_stream_descriptor::close">posix::basic_stream_descriptor::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload1">posix::basic_stream_descriptor::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload2">posix::basic_stream_descriptor::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216602080"></a>
-Close the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload1" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload1" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload2" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload2" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload1" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">posix::basic_stream_descriptor::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Close the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the descriptor. Any asynchronous read
- or write operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. Note that, even if the function indicates an
- error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload2" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">posix::basic_stream_descriptor::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Close the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the descriptor. Any asynchronous read
- or write operations will be cancelled immediately, and will complete
- with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. Note that, even if
- the function indicates an error, the underlying descriptor is closed.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation" title="posix::basic_stream_descriptor::get_implementation">posix::basic_stream_descriptor::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload1">posix::basic_stream_descriptor::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload2">posix::basic_stream_descriptor::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216658896"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload1" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload1" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload2" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload2" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload1" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">posix::basic_stream_descriptor::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload2" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">posix::basic_stream_descriptor::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service" title="posix::basic_stream_descriptor::get_io_service">posix::basic_stream_descriptor::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216688800"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service" title="posix::basic_stream_descriptor::get_service">posix::basic_stream_descriptor::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload1">posix::basic_stream_descriptor::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload2">posix::basic_stream_descriptor::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216706688"></a>
-Get the service associated with
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload1" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload1" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload2" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload2" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload1" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">posix::basic_stream_descriptor::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service.overload2" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">posix::basic_stream_descriptor::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.implementation"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation" title="posix::basic_stream_descriptor::implementation">posix::basic_stream_descriptor::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216736544"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
- The underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type" title="posix::basic_stream_descriptor::implementation_type">posix::basic_stream_descriptor::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216745008"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control" title="posix::basic_stream_descriptor::io_control">posix::basic_stream_descriptor::io_control</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1">posix::basic_stream_descriptor::io_control
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2">posix::basic_stream_descriptor::io_control
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216758608"></a>
-Perform an IO control command on
- the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">posix::basic_stream_descriptor::io_control
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Perform an IO control command on the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the descriptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">posix::basic_stream_descriptor::io_control
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Perform an IO control command on the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to execute an IO control command on the descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">command</span></dt>
-<dd><p>
- The IO control command to be performed on the descriptor.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.example">Example</a>
- </h6>
-<p>
- Getting the number of bytes ready to read:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.is_open"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.is_open" title="posix::basic_stream_descriptor::is_open">posix::basic_stream_descriptor::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216892480"></a>
-Determine whether the descriptor is
- open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer" title="posix::basic_stream_descriptor::lowest_layer">posix::basic_stream_descriptor::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1">posix::basic_stream_descriptor::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2">posix::basic_stream_descriptor::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp216899616"></a>
-Get a reference to the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">posix::basic_stream_descriptor::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">posix::basic_stream_descriptor::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type" title="posix::basic_stream_descriptor::lowest_layer_type">posix::basic_stream_descriptor::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp216944640"></a>
-A <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> is always the
- lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">StreamDescriptorService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.bytes_readable" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read
- without blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation_type" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_descriptor is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle_type" title="posix::basic_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_type" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service_type" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.assign" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native descriptor to the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_descriptor without opening it.
- </p>
- <p>
- Construct a basic_descriptor on an existing native descriptor.
- </p>
- <p>
- Move-construct a basic_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.cancel" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.close" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_io_service" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.io_control" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.is_open" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the descriptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.lowest_layer" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native descriptor
- representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_handle" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.non_blocking" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the descriptor.
- </p>
- <p>
- Sets the non-blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.operator_eq_" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.release" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the native descriptor implementation.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_implementation" title="posix::basic_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.get_service" title="posix::basic_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor._basic_descriptor" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.implementation" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor.service" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.posix__basic_descriptor" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
- provides the ability to wrap a POSIX descriptor.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native" title="posix::basic_stream_descriptor::native">posix::basic_stream_descriptor::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp217088544"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native descriptor representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- descriptor. This is intended to allow access to native descriptor functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle" title="posix::basic_stream_descriptor::native_handle">posix::basic_stream_descriptor::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp217097536"></a>
-Get the native descriptor representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- descriptor. This is intended to allow access to native descriptor functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type" title="posix::basic_stream_descriptor::native_handle_type">posix::basic_stream_descriptor::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp217104064"></a>
-The native representation
- of a descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamDescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking" title="posix::basic_stream_descriptor::native_non_blocking">posix::basic_stream_descriptor::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1">posix::basic_stream_descriptor::native_non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2">posix::basic_stream_descriptor::native_non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3">posix::basic_stream_descriptor::native_non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp217117568"></a>
-Gets the non-blocking
- mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">posix::basic_stream_descriptor::native_non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function is used to retrieve the non-blocking mode of the underlying
- native descriptor. This mode has no effect on the behaviour of the descriptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the underlying descriptor
- is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
- error).
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The current non-blocking mode is cached by the descriptor object. Consequently,
- the return value may be incorrect if the non-blocking mode was set directly
- on the native descriptor.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">posix::basic_stream_descriptor::native_non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native descriptor. It has no effect on the behaviour of the descriptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- descriptor is put into non-blocking mode and direct system calls
- may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
- is <code class="computeroutput"><span class="keyword">false</span></code>, but the
- current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">posix::basic_stream_descriptor::native_non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to modify the non-blocking mode of the underlying
- native descriptor. It has no effect on the behaviour of the descriptor
- object's synchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
- descriptor is put into non-blocking mode and direct system calls
- may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- (or the equivalent system error).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
- but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
- this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
- as the combination does not make sense.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_type" title="posix::basic_stream_descriptor::native_type">posix::basic_stream_descriptor::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp217236784"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamDescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking" title="posix::basic_stream_descriptor::non_blocking">posix::basic_stream_descriptor::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1">posix::basic_stream_descriptor::non_blocking
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2">posix::basic_stream_descriptor::non_blocking
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3">posix::basic_stream_descriptor::non_blocking
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp217250448"></a>
-Gets the non-blocking mode of
- the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">posix::basic_stream_descriptor::non_blocking
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Gets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="keyword">true</span></code> if the descriptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately. If
- <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
- will block until complete.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">posix::basic_stream_descriptor::non_blocking
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">posix::basic_stream_descriptor::non_blocking
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">mode</span></dt>
-<dd><p>
- If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
- synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
- if they are unable to perform the requested operation immediately.
- If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
- operations will block until complete.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.remarks">Remarks</a>
- </h6>
-<p>
- The non-blocking mode has no effect on the behaviour of asynchronous
- operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io" title="posix::basic_stream_descriptor::non_blocking_io">posix::basic_stream_descriptor::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp217373040"></a>
-(Deprecated: Use non_blocking().)
- IO control command to set the blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_" title="posix::basic_stream_descriptor::operator=">posix::basic_stream_descriptor::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp217405920"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a stream descriptor from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some" title="posix::basic_stream_descriptor::read_some">posix::basic_stream_descriptor::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1">posix::basic_stream_descriptor::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2">posix::basic_stream_descriptor::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp217433232"></a>
-Read some data from the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">posix::basic_stream_descriptor::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream descriptor. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">posix::basic_stream_descriptor::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream descriptor. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.release"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.release" title="posix::basic_stream_descriptor::release">posix::basic_stream_descriptor::release</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp217551376"></a>
-Release ownership of the native descriptor
- implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">release</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- descriptor. After calling this function, <code class="computeroutput"><span class="identifier">is_open</span><span class="special">()</span></code> returns false. The caller is responsible
- for closing the descriptor.
- </p>
-<p>
- All outstanding asynchronous read or write operations will finish immediately,
- and the handlers for cancelled operations will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.service"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service" title="posix::basic_stream_descriptor::service">posix::basic_stream_descriptor::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp217565296"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.service_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service_type" title="posix::basic_stream_descriptor::service_type">posix::basic_stream_descriptor::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp217577808"></a>
-The type of the service that
- will be used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamDescriptorService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some" title="posix::basic_stream_descriptor::write_some">posix::basic_stream_descriptor::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1">posix::basic_stream_descriptor::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2">posix::basic_stream_descriptor::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp217590320"></a>
-Write some data to the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">posix::basic_stream_descriptor::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the stream descriptor. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the descriptor.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">posix::basic_stream_descriptor::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the stream descriptor. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the descriptor.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.posix__descriptor_base"></a><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base" title="posix::descriptor_base">posix::descriptor_base</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__descriptor_base.bytes_readable">posix::descriptor_base::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__descriptor_base.non_blocking_io">posix::descriptor_base::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__descriptor_base._descriptor_base">posix::descriptor_base::~descriptor_base</a></span></dt>
-</dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base" title="posix::descriptor_base"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">descriptor_base</span></code></a> class is used as
- a base for the <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> class template
- so that we have a common place to define the associated IO control commands.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">descriptor_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.posix__descriptor_base.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.bytes_readable" title="posix::descriptor_base::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.non_blocking_io" title="posix::descriptor_base::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__descriptor_base.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base._descriptor_base" title="posix::descriptor_base::~descriptor_base"><span class="bold"><strong>~descriptor_base</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__descriptor_base.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/descriptor_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__descriptor_base.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.bytes_readable" title="posix::descriptor_base::bytes_readable">posix::descriptor_base::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp217747808"></a>
-IO control command to get the amount
- of data that can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__descriptor_base.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__descriptor_base.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/descriptor_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__descriptor_base.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.non_blocking_io" title="posix::descriptor_base::non_blocking_io">posix::descriptor_base::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp217785984"></a>
-(Deprecated: Use non_blocking().)
- IO control command to set the blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/descriptor_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__descriptor_base._descriptor_base"></a><a class="link" href="reference.html#boost_asio.reference.posix__descriptor_base._descriptor_base" title="posix::descriptor_base::~descriptor_base">posix::descriptor_base::~descriptor_base</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp217818704"></a>
-Protected destructor to prevent deletion
- through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">descriptor_base</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor" title="posix::stream_descriptor">posix::stream_descriptor</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp217824416"></a>
-Typedef for the typical usage of a stream-oriented
- descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_descriptor</span> <span class="identifier">stream_descriptor</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable" title="posix::basic_stream_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type" title="posix::basic_stream_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type" title="posix::basic_stream_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_descriptor is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type" title="posix::basic_stream_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_type" title="posix::basic_stream_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io" title="posix::basic_stream_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service_type" title="posix::basic_stream_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.assign" title="posix::basic_stream_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native descriptor to the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some" title="posix::basic_stream_descriptor::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some" title="posix::basic_stream_descriptor::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor" title="posix::basic_stream_descriptor::basic_stream_descriptor"><span class="bold"><strong>basic_stream_descriptor</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_descriptor without opening it.
- </p>
- <p>
- Construct a basic_stream_descriptor on an existing native descriptor.
- </p>
- <p>
- Move-construct a basic_stream_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.cancel" title="posix::basic_stream_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.close" title="posix::basic_stream_descriptor::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service" title="posix::basic_stream_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.io_control" title="posix::basic_stream_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.is_open" title="posix::basic_stream_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the descriptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer" title="posix::basic_stream_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native" title="posix::basic_stream_descriptor::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle" title="posix::basic_stream_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native descriptor representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking" title="posix::basic_stream_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking" title="posix::basic_stream_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the descriptor.
- </p>
- <p>
- Sets the non-blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_" title="posix::basic_stream_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_descriptor from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.read_some" title="posix::basic_stream_descriptor::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.release" title="posix::basic_stream_descriptor::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.write_some" title="posix::basic_stream_descriptor::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the descriptor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_implementation" title="posix::basic_stream_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.get_service" title="posix::basic_stream_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.implementation" title="posix::basic_stream_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor.service" title="posix::basic_stream_descriptor::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.posix__basic_stream_descriptor" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> class template
- provides asynchronous and blocking stream-oriented descriptor functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service" title="posix::stream_descriptor_service">posix::stream_descriptor_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.assign">posix::stream_descriptor_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_read_some">posix::stream_descriptor_service::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_write_some">posix::stream_descriptor_service::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.cancel">posix::stream_descriptor_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.close">posix::stream_descriptor_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.construct">posix::stream_descriptor_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.destroy">posix::stream_descriptor_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.get_io_service">posix::stream_descriptor_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.id">posix::stream_descriptor_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.implementation_type">posix::stream_descriptor_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.io_control">posix::stream_descriptor_service::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.is_open">posix::stream_descriptor_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_assign">posix::stream_descriptor_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_construct">posix::stream_descriptor_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native">posix::stream_descriptor_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle">posix::stream_descriptor_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle_type">posix::stream_descriptor_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking">posix::stream_descriptor_service::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_type">posix::stream_descriptor_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking">posix::stream_descriptor_service::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.read_some">posix::stream_descriptor_service::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.release">posix::stream_descriptor_service::release</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.stream_descriptor_service">posix::stream_descriptor_service::stream_descriptor_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.write_some">posix::stream_descriptor_service::write_some</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a stream descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_descriptor_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.implementation_type" title="posix::stream_descriptor_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a stream descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle_type" title="posix::stream_descriptor_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native descriptor type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_type" title="posix::stream_descriptor_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native descriptor type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.assign" title="posix::stream_descriptor_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native descriptor to a stream descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_read_some" title="posix::stream_descriptor_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_write_some" title="posix::stream_descriptor_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.cancel" title="posix::stream_descriptor_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.close" title="posix::stream_descriptor_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a stream descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.construct" title="posix::stream_descriptor_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new stream descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.destroy" title="posix::stream_descriptor_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a stream descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.get_io_service" title="posix::stream_descriptor_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.io_control" title="posix::stream_descriptor_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.is_open" title="posix::stream_descriptor_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the descriptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_assign" title="posix::stream_descriptor_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another stream descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_construct" title="posix::stream_descriptor_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new stream descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native" title="posix::stream_descriptor_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle" title="posix::stream_descriptor_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking" title="posix::stream_descriptor_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking" title="posix::stream_descriptor_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the descriptor.
- </p>
- <p>
- Sets the non-blocking mode of the descriptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.read_some" title="posix::stream_descriptor_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.release" title="posix::stream_descriptor_service::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the native descriptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.stream_descriptor_service" title="posix::stream_descriptor_service::stream_descriptor_service"><span class="bold"><strong>stream_descriptor_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new stream descriptor service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.write_some" title="posix::stream_descriptor_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data to the stream.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.id" title="posix::stream_descriptor_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.posix__stream_descriptor_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.assign" title="posix::stream_descriptor_service::assign">posix::stream_descriptor_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218090080"></a>
-Assign an existing native descriptor
- to a stream descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_read_some" title="posix::stream_descriptor_service::async_read_some">posix::stream_descriptor_service::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218108736"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.async_write_some" title="posix::stream_descriptor_service::async_write_some">posix::stream_descriptor_service::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218128336"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.cancel" title="posix::stream_descriptor_service::cancel">posix::stream_descriptor_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218147776"></a>
-Cancel all asynchronous operations
- associated with the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.close"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.close" title="posix::stream_descriptor_service::close">posix::stream_descriptor_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218163104"></a>
-Close a stream descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.construct" title="posix::stream_descriptor_service::construct">posix::stream_descriptor_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218178576"></a>
-Construct a new stream descriptor
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.destroy" title="posix::stream_descriptor_service::destroy">posix::stream_descriptor_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218187088"></a>
-Destroy a stream descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.get_io_service" title="posix::stream_descriptor_service::get_io_service">posix::stream_descriptor_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp218196464"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.id"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.id" title="posix::stream_descriptor_service::id">posix::stream_descriptor_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218206880"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.implementation_type" title="posix::stream_descriptor_service::implementation_type">posix::stream_descriptor_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218216864"></a>
-The type of a stream
- descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__stream_descriptor_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.io_control"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.io_control" title="posix::stream_descriptor_service::io_control">posix::stream_descriptor_service::io_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218229120"></a>
-Perform an IO control command
- on the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.is_open" title="posix::stream_descriptor_service::is_open">posix::stream_descriptor_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218250528"></a>
-Determine whether the descriptor
- is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_assign" title="posix::stream_descriptor_service::move_assign">posix::stream_descriptor_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218261008"></a>
-Move-assign from another stream
- descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">stream_descriptor_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.move_construct" title="posix::stream_descriptor_service::move_construct">posix::stream_descriptor_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218274736"></a>
-Move-construct a new stream
- descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native" title="posix::stream_descriptor_service::native">posix::stream_descriptor_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218285856"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle" title="posix::stream_descriptor_service::native_handle">posix::stream_descriptor_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218296064"></a>
-Get the native descriptor
- implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle_type" title="posix::stream_descriptor_service::native_handle_type">posix::stream_descriptor_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218304656"></a>
-The native descriptor
- type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking" title="posix::stream_descriptor_service::native_non_blocking">posix::stream_descriptor_service::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload1">posix::stream_descriptor_service::native_non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload2">posix::stream_descriptor_service::native_non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp218316992"></a>
-Gets the non-blocking
- mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload1" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload1" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload2" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload2" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload1" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">posix::stream_descriptor_service::native_non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload2" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">posix::stream_descriptor_service::native_non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_type" title="posix::stream_descriptor_service::native_type">posix::stream_descriptor_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218370896"></a>
-(Deprecated: Use native_handle_type.)
- The native descriptor type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.posix__stream_descriptor_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking" title="posix::stream_descriptor_service::non_blocking">posix::stream_descriptor_service::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload1">posix::stream_descriptor_service::non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload2">posix::stream_descriptor_service::non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp218383392"></a>
-Gets the non-blocking mode
- of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload1" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload1" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload2" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload2" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload1" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">posix::stream_descriptor_service::non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload2" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">posix::stream_descriptor_service::non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the descriptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.read_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.read_some" title="posix::stream_descriptor_service::read_some">posix::stream_descriptor_service::read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218437104"></a>
-Read some data from the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.release"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.release" title="posix::stream_descriptor_service::release">posix::stream_descriptor_service::release</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218458096"></a>
-Release ownership of the native
- descriptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">release</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.stream_descriptor_service"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.stream_descriptor_service" title="posix::stream_descriptor_service::stream_descriptor_service">posix::stream_descriptor_service::stream_descriptor_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218466784"></a>
-Construct a new
- stream descriptor service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">stream_descriptor_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.posix__stream_descriptor_service.write_some"></a><a class="link" href="reference.html#boost_asio.reference.posix__stream_descriptor_service.write_some" title="posix::stream_descriptor_service::write_some">posix::stream_descriptor_service::write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218478480"></a>
-Write the given data to the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.raw_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service" title="raw_socket_service">raw_socket_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.assign">raw_socket_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.async_connect">raw_socket_service::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.async_receive">raw_socket_service::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.async_receive_from">raw_socket_service::async_receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.async_send">raw_socket_service::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.async_send_to">raw_socket_service::async_send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.at_mark">raw_socket_service::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.available">raw_socket_service::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.bind">raw_socket_service::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.cancel">raw_socket_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.close">raw_socket_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.connect">raw_socket_service::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.construct">raw_socket_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.converting_move_construct">raw_socket_service::converting_move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.destroy">raw_socket_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.endpoint_type">raw_socket_service::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.get_io_service">raw_socket_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.get_option">raw_socket_service::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.id">raw_socket_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.implementation_type">raw_socket_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.io_control">raw_socket_service::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.is_open">raw_socket_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.local_endpoint">raw_socket_service::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.move_assign">raw_socket_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.move_construct">raw_socket_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native">raw_socket_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native_handle">raw_socket_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native_handle_type">raw_socket_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking">raw_socket_service::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native_type">raw_socket_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.non_blocking">raw_socket_service::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.open">raw_socket_service::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.protocol_type">raw_socket_service::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.raw_socket_service">raw_socket_service::raw_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.receive">raw_socket_service::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.receive_from">raw_socket_service::receive_from</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.remote_endpoint">raw_socket_service::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.send">raw_socket_service::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.send_to">raw_socket_service::send_to</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.set_option">raw_socket_service::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.shutdown">raw_socket_service::shutdown</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a raw socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">raw_socket_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.raw_socket_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.endpoint_type" title="raw_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.implementation_type" title="raw_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a raw socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_handle_type" title="raw_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_type" title="raw_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.protocol_type" title="raw_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.raw_socket_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.assign" title="raw_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to a raw socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_connect" title="raw_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_receive" title="raw_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_receive_from" title="raw_socket_service::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive that will get the endpoint of the
- sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_send" title="raw_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_send_to" title="raw_socket_service::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.at_mark" title="raw_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.available" title="raw_socket_service::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.bind" title="raw_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.cancel" title="raw_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.close" title="raw_socket_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a raw socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.connect" title="raw_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the raw socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.construct" title="raw_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new raw socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.converting_move_construct" title="raw_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new raw socket implementation from another protocol
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.destroy" title="raw_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a raw socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.get_io_service" title="raw_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.get_option" title="raw_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.io_control" title="raw_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.is_open" title="raw_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.local_endpoint" title="raw_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.move_assign" title="raw_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another raw socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.move_construct" title="raw_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new raw socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native" title="raw_socket_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_handle" title="raw_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking" title="raw_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking" title="raw_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.open" title="raw_socket_service::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.raw_socket_service" title="raw_socket_service::raw_socket_service"><span class="bold"><strong>raw_socket_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new raw socket service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.receive" title="raw_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data from the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.receive_from" title="raw_socket_service::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive raw data with the endpoint of the sender.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.remote_endpoint" title="raw_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.send" title="raw_socket_service::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send the given data to the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.send_to" title="raw_socket_service::send_to"><span class="bold"><strong>send_to</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send raw data to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.set_option" title="raw_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.shutdown" title="raw_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.raw_socket_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.id" title="raw_socket_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.raw_socket_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.assign" title="raw_socket_service::assign">raw_socket_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218677616"></a>
-Assign an existing native socket to a raw socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_connect" title="raw_socket_service::async_connect">raw_socket_service::async_connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218699568"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_receive" title="raw_socket_service::async_receive">raw_socket_service::async_receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218717008"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.async_receive_from"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_receive_from" title="raw_socket_service::async_receive_from">raw_socket_service::async_receive_from</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218739504"></a>
-Start an asynchronous receive that
- will get the endpoint of the sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.async_send"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_send" title="raw_socket_service::async_send">raw_socket_service::async_send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218764624"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.async_send_to"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.async_send_to" title="raw_socket_service::async_send_to">raw_socket_service::async_send_to</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218786960"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.at_mark" title="raw_socket_service::at_mark">raw_socket_service::at_mark</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218812576"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.available"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.available" title="raw_socket_service::available">raw_socket_service::available</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218827616"></a>
-Determine the number of bytes available for
- reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.bind"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.bind" title="raw_socket_service::bind">raw_socket_service::bind</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218843808"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.cancel" title="raw_socket_service::cancel">raw_socket_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218862400"></a>
-Cancel all asynchronous operations associated with
- the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.close"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.close" title="raw_socket_service::close">raw_socket_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218877808"></a>
-Close a raw socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.connect"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.connect" title="raw_socket_service::connect">raw_socket_service::connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218893120"></a>
-Connect the raw socket to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.construct" title="raw_socket_service::construct">raw_socket_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218911728"></a>
-Construct a new raw socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.converting_move_construct"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.converting_move_construct" title="raw_socket_service::converting_move_construct">raw_socket_service::converting_move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218920288"></a>
-Move-construct a new raw socket
- implementation from another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">raw_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.destroy" title="raw_socket_service::destroy">raw_socket_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218948080"></a>
-Destroy a raw socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.endpoint_type" title="raw_socket_service::endpoint_type">raw_socket_service::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218956544"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.raw_socket_service.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.get_io_service" title="raw_socket_service::get_io_service">raw_socket_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp218970560"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.get_option"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.get_option" title="raw_socket_service::get_option">raw_socket_service::get_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp218980960"></a>
-Get a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.id"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.id" title="raw_socket_service::id">raw_socket_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219004160"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.implementation_type" title="raw_socket_service::implementation_type">raw_socket_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219013824"></a>
-The type of a raw socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.raw_socket_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.io_control"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.io_control" title="raw_socket_service::io_control">raw_socket_service::io_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219026096"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.is_open" title="raw_socket_service::is_open">raw_socket_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219047184"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.local_endpoint" title="raw_socket_service::local_endpoint">raw_socket_service::local_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219057488"></a>
-Get the local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.move_assign" title="raw_socket_service::move_assign">raw_socket_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219072512"></a>
-Move-assign from another raw socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">raw_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.move_construct" title="raw_socket_service::move_construct">raw_socket_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219086112"></a>
-Move-construct a new raw socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.native"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native" title="raw_socket_service::native">raw_socket_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219097120"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_handle" title="raw_socket_service::native_handle">raw_socket_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219107232"></a>
-Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_handle_type" title="raw_socket_service::native_handle_type">raw_socket_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219115712"></a>
-The native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.raw_socket_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking" title="raw_socket_service::native_non_blocking">raw_socket_service::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload1">raw_socket_service::native_non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload2">raw_socket_service::native_non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp219127888"></a>
-Gets the non-blocking mode of the
- native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload1" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload1" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload2" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload2" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.raw_socket_service.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload1" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">raw_socket_service::native_non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.raw_socket_service.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_non_blocking.overload2" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">raw_socket_service::native_non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_type" title="raw_socket_service::native_type">raw_socket_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219181296"></a>
-(Deprecated: Use native_handle_type.) The
- native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.raw_socket_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking" title="raw_socket_service::non_blocking">raw_socket_service::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload1">raw_socket_service::non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload2">raw_socket_service::non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp219193440"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload1" title="raw_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload1" title="raw_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload2" title="raw_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload2" title="raw_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.raw_socket_service.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload1" title="raw_socket_service::non_blocking (1 of 2 overloads)">raw_socket_service::non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.raw_socket_service.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.non_blocking.overload2" title="raw_socket_service::non_blocking (2 of 2 overloads)">raw_socket_service::non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.open"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.open" title="raw_socket_service::open">raw_socket_service::open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219246768"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.protocol_type" title="raw_socket_service::protocol_type">raw_socket_service::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219265296"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.raw_socket_service.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.raw_socket_service.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.raw_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.raw_socket_service" title="raw_socket_service::raw_socket_service">raw_socket_service::raw_socket_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219277424"></a>
-Construct a new raw socket service
- for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">raw_socket_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.receive"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.receive" title="raw_socket_service::receive">raw_socket_service::receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219288976"></a>
-Receive some data from the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.receive_from"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.receive_from" title="raw_socket_service::receive_from">raw_socket_service::receive_from</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219312800"></a>
-Receive raw data with the endpoint of the
- sender.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.remote_endpoint" title="raw_socket_service::remote_endpoint">raw_socket_service::remote_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219339296"></a>
-Get the remote endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.send"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.send" title="raw_socket_service::send">raw_socket_service::send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219354384"></a>
-Send the given data to the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.send_to"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.send_to" title="raw_socket_service::send_to">raw_socket_service::send_to</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219378208"></a>
-Send raw data to the specified endpoint.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.set_option"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.set_option" title="raw_socket_service::set_option">raw_socket_service::set_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219405312"></a>
-Set a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.raw_socket_service.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.raw_socket_service.shutdown" title="raw_socket_service::shutdown">raw_socket_service::shutdown</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp219427312"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.read"></a><a class="link" href="reference.html#boost_asio.reference.read" title="read">read</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload1">read (1 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload2">read (2 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload3">read (3 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload4">read (4 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload5">read (5 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload6">read (6 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload7">read (7 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read.overload8">read (8 of 8 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp219445712"></a>
-Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload1" title="read (1 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload1" title="read (1 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload2" title="read (2 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload2" title="read (2 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload3" title="read (3 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload3" title="read (3 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload4" title="read (4 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload4" title="read (4 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload5" title="read (5 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload5" title="read (5 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload6" title="read (6 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload6" title="read (6 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload7" title="read (7 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload7" title="read (7 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read.overload8" title="read (8 of 8 overloads)">read</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read.overload8" title="read (8 of 8 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.read.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.read.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload1"></a><a class="link" href="reference.html#boost_asio.reference.read.overload1" title="read (1 of 8 overloads)">read (1 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the stream.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload2"></a><a class="link" href="reference.html#boost_asio.reference.read.overload2" title="read (2 of 8 overloads)">read (2 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the stream.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload2.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload2.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload3"></a><a class="link" href="reference.html#boost_asio.reference.read.overload3" title="read (3 of 8 overloads)">read (3 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the stream.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the stream's read_some function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload3.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload4"></a><a class="link" href="reference.html#boost_asio.reference.read.overload4" title="read (4 of 8 overloads)">read (4 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the stream.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the stream's read_some function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload4.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload5"></a><a class="link" href="reference.html#boost_asio.reference.read.overload5" title="read (5 of 8 overloads)">read (5 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffer is full (that is, it has reached maximum size).
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload5.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload5.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload5.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload5.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload5.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload6"></a><a class="link" href="reference.html#boost_asio.reference.read.overload6" title="read (6 of 8 overloads)">read (6 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffer is full (that is, it has reached maximum size).
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload6.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload6.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload7"></a><a class="link" href="reference.html#boost_asio.reference.read.overload7" title="read (7 of 8 overloads)">read (7 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffer is full (that is, it has reached maximum size).
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the stream's read_some function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload7.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload7.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload7.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read.overload8"></a><a class="link" href="reference.html#boost_asio.reference.read.overload8" title="read (8 of 8 overloads)">read (8 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data from a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- stream. The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffer is full (that is, it has reached maximum size).
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.read.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the stream's read_some function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read.overload8.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.read_at"></a><a class="link" href="reference.html#boost_asio.reference.read_at" title="read_at">read_at</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload1">read_at (1
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload2">read_at (2
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload3">read_at (3
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload4">read_at (4
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload5">read_at (5
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload6">read_at (6
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload7">read_at (7
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_at.overload8">read_at (8
- of 8 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp220106672"></a>
-Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload1" title="read_at (1 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload1" title="read_at (1 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload2" title="read_at (2 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload2" title="read_at (2 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload3" title="read_at (3 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload3" title="read_at (3 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload4" title="read_at (4 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload4" title="read_at (4 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload5" title="read_at (5 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload5" title="read_at (5 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload6" title="read_at (6 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload6" title="read_at (6 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload7" title="read_at (7 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload7" title="read_at (7 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_at.overload8" title="read_at (8 of 8 overloads)">read_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_at.overload8" title="read_at (8 of 8 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.read_at.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_at.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload1" title="read_at (1 of 8 overloads)">read_at (1
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the device.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload1.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload2" title="read_at (2 of 8 overloads)">read_at (2
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the device.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload2.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload2.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload2.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload3"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload3" title="read_at (3 of 8 overloads)">read_at (3
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the device.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the device's read_some_at function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload3.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload3.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload4"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload4" title="read_at (4 of 8 overloads)">read_at (4
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The supplied buffers are full. That is, the bytes transferred is equal
- to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. The sum of
- the buffer sizes indicates the maximum number of bytes to read from
- the device.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the device's read_some_at function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload4.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes read. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload5"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload5" title="read_at (5 of 8 overloads)">read_at (5
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- An error occurred.
- </li></ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload5.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload5.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload5.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload5.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload5.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload6"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload6" title="read_at (6 of 8 overloads)">read_at (6
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- An error occurred.
- </li></ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload6.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload6.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload7"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload7" title="read_at (7 of 8 overloads)">read_at (7
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- The completion_condition function object returns 0.
- </li></ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the device's read_some_at function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload7.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload7.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload7.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_at.overload8"></a><a class="link" href="reference.html#boost_asio.reference.read_at.overload8" title="read_at (8 of 8 overloads)">read_at (8
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Attempt to read a certain amount of data at the specified offset before
- returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessReadDevice" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read a certain number of bytes of data from a
- random access device at the specified offset. The call will block until
- one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- The completion_condition function object returns 0.
- </li></ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- read_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_at.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device from which the data is to be read. The type must support
- the SyncRandomAccessReadDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
- which the data will be read.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the read operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest read_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the read operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be read on the next call to the device's read_some_at function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_at.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_at.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_at.overload8.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes read. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.read_until"></a><a class="link" href="reference.html#boost_asio.reference.read_until" title="read_until">read_until</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload1">read_until
- (1 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload2">read_until
- (2 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload3">read_until
- (3 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload4">read_until
- (4 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload5">read_until
- (5 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload6">read_until
- (6 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload7">read_until
- (7 of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.read_until.overload8">read_until
- (8 of 8 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp220819200"></a>
-Read data into a streambuf until it contains a delimiter, matches
- a regular expression, or a function object indicates a match.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload1" title="read_until (1 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload1" title="read_until (1 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload2" title="read_until (2 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload2" title="read_until (2 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload3" title="read_until (3 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload3" title="read_until (3 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload4" title="read_until (4 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload4" title="read_until (4 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload5" title="read_until (5 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload5" title="read_until (5 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload6" title="read_until (6 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload6" title="read_until (6 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload7" title="read_until (7 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload7" title="read_until (7 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.read_until.overload8" title="read_until (8 of 8 overloads)">read_until</a><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.read_until.overload8" title="read_until (8 of 8 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.read_until.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_until.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload1"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload1" title="read_until (1 of 8 overloads)">read_until
- (1 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until it contains a specified delimiter.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until the
- streambuf's get area contains the specified delimiter. The call will block
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The get area of the streambuf contains the specified delimiter.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the streambuf's get area already contains the delimiter,
- the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">delim</span></dt>
-<dd><p>
- The delimiter character.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area up to and including the
- delimiter.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload1.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond the delimiter. An application will typically leave that data
- in the streambuf for a subsequent read_until operation to examine.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload1.example">Example</a>
- </h6>
-<p>
- To read data into a streambuf until a newline is encountered:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
-</pre>
-<p>
- After the <code class="computeroutput"><span class="identifier">read_until</span></code> operation
- completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- contains the delimiter:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
- and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
- contains:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
-</pre>
-<p>
- The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- as follows:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- This data may be the start of a new line, to be extracted by a subsequent
- <code class="computeroutput"><span class="identifier">read_until</span></code> operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload2"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload2" title="read_until (2 of 8 overloads)">read_until
- (2 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until it contains a specified delimiter.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until the
- streambuf's get area contains the specified delimiter. The call will block
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The get area of the streambuf contains the specified delimiter.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the streambuf's get area already contains the delimiter,
- the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">delim</span></dt>
-<dd><p>
- The delimiter character.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area up to and including the
- delimiter. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload2.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond the delimiter. An application will typically leave that data
- in the streambuf for a subsequent read_until operation to examine.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload3"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload3" title="read_until (3 of 8 overloads)">read_until
- (3 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until it contains a specified delimiter.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until the
- streambuf's get area contains the specified delimiter. The call will block
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The get area of the streambuf contains the specified delimiter.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the streambuf's get area already contains the delimiter,
- the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">delim</span></dt>
-<dd><p>
- The delimiter string.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area up to and including the
- delimiter.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload3.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond the delimiter. An application will typically leave that data
- in the streambuf for a subsequent read_until operation to examine.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload3.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload3.example">Example</a>
- </h6>
-<p>
- To read data into a streambuf until a newline is encountered:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="string">"\r\n"</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
-</pre>
-<p>
- After the <code class="computeroutput"><span class="identifier">read_until</span></code> operation
- completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- contains the delimiter:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
- and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
- contains:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
-</pre>
-<p>
- The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- as follows:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- This data may be the start of a new line, to be extracted by a subsequent
- <code class="computeroutput"><span class="identifier">read_until</span></code> operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload4"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload4" title="read_until (4 of 8 overloads)">read_until
- (4 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until it contains a specified delimiter.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until the
- streambuf's get area contains the specified delimiter. The call will block
- until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The get area of the streambuf contains the specified delimiter.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the streambuf's get area already contains the delimiter,
- the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">delim</span></dt>
-<dd><p>
- The delimiter string.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload4.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area up to and including the
- delimiter. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload4.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload4.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload4.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond the delimiter. An application will typically leave that data
- in the streambuf for a subsequent read_until operation to examine.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload5"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload5" title="read_until (5 of 8 overloads)">read_until
- (5 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until some part of the data it contains matches
- a regular expression.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until the
- streambuf's get area contains some data that matches a regular expression.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A substring of the streambuf's get area matches the regular expression.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the streambuf's get area already contains data that
- matches the regular expression, the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">expr</span></dt>
-<dd><p>
- The regular expression.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload5.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area up to and including the
- substring that matches the regular expression.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload5.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload5.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload5.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload5.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond that which matched the regular expression. An application will
- typically leave that data in the streambuf for a subsequent read_until
- operation to examine.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload5.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload5.example"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload5.example">Example</a>
- </h6>
-<p>
- To read data into a streambuf until a CR-LF sequence is encountered:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">(</span><span class="string">"\r\n"</span><span class="special">));</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
-</pre>
-<p>
- After the <code class="computeroutput"><span class="identifier">read_until</span></code> operation
- completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- contains the data which matched the regular expression:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
- and including the match, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
- contains:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
-</pre>
-<p>
- The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
- as follows:
- </p>
-<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
-</pre>
-<p>
- This data may be the start of a new line, to be extracted by a subsequent
- <code class="computeroutput"><span class="identifier">read_until</span></code> operation.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload6"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload6" title="read_until (6 of 8 overloads)">read_until
- (6 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until some part of the data it contains matches
- a regular expression.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until the
- streambuf's get area contains some data that matches a regular expression.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A substring of the streambuf's get area matches the regular expression.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the streambuf's get area already contains data that
- matches the regular expression, the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">expr</span></dt>
-<dd><p>
- The regular expression.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload6.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area up to and including the
- substring that matches the regular expression. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload6.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond that which matched the regular expression. An application will
- typically leave that data in the streambuf for a subsequent read_until
- operation to examine.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload7"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload7" title="read_until (7 of 8 overloads)">read_until
- (7 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until a function object indicates a match.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until a
- user-defined match condition function object, when applied to the data
- contained in the streambuf, indicates a successful match. The call will
- block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The match condition function object returns a std::pair where the second
- element evaluates to true.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the match condition function object already indicates
- a match, the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">match_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether a match exists.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">match_condition</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">);</span>
-</pre>
-<p>
- where <code class="computeroutput"><span class="identifier">iterator</span></code> represents
- the type:
-</p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">&lt;</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span>
-</pre>
-<p>
- The iterator parameters <code class="computeroutput"><span class="identifier">begin</span></code>
- and <code class="computeroutput"><span class="identifier">end</span></code> define the
- range of bytes to be scanned to determine whether there is a match.
- The <code class="computeroutput"><span class="identifier">first</span></code> member
- of the return value is an iterator marking one-past-the-end of the
- bytes that have been consumed by the match function. This iterator
- is used to calculate the <code class="computeroutput"><span class="identifier">begin</span></code>
- parameter for any subsequent invocation of the match condition. The
- <code class="computeroutput"><span class="identifier">second</span></code> member of
- the return value is true if a match has been found, false otherwise.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload7.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area that have been fully consumed
- by the match function.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload7.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload7.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload7.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload7.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload7.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond that which matched the function object. An application will
- typically leave that data in the streambuf for a subsequent
- </p>
-<p>
- The default implementation of the <code class="computeroutput"><span class="identifier">is_match_condition</span></code>
- type trait evaluates to true for function pointers and function objects
- with a <code class="computeroutput"><span class="identifier">result_type</span></code> typedef.
- It must be specialised for other user-defined function objects.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload7.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload7.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload7.examples">Examples</a>
- </h6>
-<p>
- To read data into a streambuf until whitespace is encountered:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_iterator</span><span class="special">&lt;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span>
-<span class="identifier">match_whitespace</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
- <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++))</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
-<span class="special">}</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_whitespace</span><span class="special">);</span>
-</pre>
-<p>
- To read data into a streambuf until a matching character is found:
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">match_char</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">explicit</span> <span class="identifier">match_char</span><span class="special">(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">c_</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">{}</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">)</span> <span class="keyword">const</span>
- <span class="special">{</span>
- <span class="identifier">Iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
- <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c_</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">i</span><span class="special">++)</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">char</span> <span class="identifier">c_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">namespace</span> <span class="identifier">asio</span> <span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span><span class="identifier">match_char</span><span class="special">&gt;</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">true_type</span> <span class="special">{};</span>
-<span class="special">}</span> <span class="comment">// namespace asio</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_char</span><span class="special">(</span><span class="char">'a'</span><span class="special">));</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.read_until.overload8"></a><a class="link" href="reference.html#boost_asio.reference.read_until.overload8" title="read_until (8 of 8 overloads)">read_until
- (8 of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Read data into a streambuf until a function object indicates a match.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncReadStream" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
- <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data into the specified streambuf until a
- user-defined match condition function object, when applied to the data
- contained in the streambuf, indicates a successful match. The call will
- block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The match condition function object returns a std::pair where the second
- element evaluates to true.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- read_some function. If the match condition function object already indicates
- a match, the function returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream from which the data is to be read. The type must support
- the SyncReadStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- A streambuf object into which the data will be read.
- </p></dd>
-<dt><span class="term">match_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether a match exists.
- The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">match_condition</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">);</span>
-</pre>
-<p>
- where <code class="computeroutput"><span class="identifier">iterator</span></code> represents
- the type:
-</p>
-<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">&lt;</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span>
-</pre>
-<p>
- The iterator parameters <code class="computeroutput"><span class="identifier">begin</span></code>
- and <code class="computeroutput"><span class="identifier">end</span></code> define the
- range of bytes to be scanned to determine whether there is a match.
- The <code class="computeroutput"><span class="identifier">first</span></code> member
- of the return value is an iterator marking one-past-the-end of the
- bytes that have been consumed by the match function. This iterator
- is used to calculate the <code class="computeroutput"><span class="identifier">begin</span></code>
- parameter for any subsequent invocation of the match condition. The
- <code class="computeroutput"><span class="identifier">second</span></code> member of
- the return value is true if a match has been found, false otherwise.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.read_until.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload8.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes in the streambuf's get area that have been fully consumed
- by the match function. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.read_until.overload8.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.read_until.overload8.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.read_until.overload8.remarks">Remarks</a>
- </h6>
-<p>
- After a successful read_until operation, the streambuf may contain additional
- data beyond that which matched the function object. An application will
- typically leave that data in the streambuf for a subsequent
- </p>
-<p>
- The default implementation of the <code class="computeroutput"><span class="identifier">is_match_condition</span></code>
- type trait evaluates to true for function pointers and function objects
- with a <code class="computeroutput"><span class="identifier">result_type</span></code> typedef.
- It must be specialised for other user-defined function objects.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service" title="seq_packet_socket_service">seq_packet_socket_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.assign">seq_packet_socket_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.async_connect">seq_packet_socket_service::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.async_receive">seq_packet_socket_service::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.async_send">seq_packet_socket_service::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.at_mark">seq_packet_socket_service::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.available">seq_packet_socket_service::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.bind">seq_packet_socket_service::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.cancel">seq_packet_socket_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.close">seq_packet_socket_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.connect">seq_packet_socket_service::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.construct">seq_packet_socket_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.converting_move_construct">seq_packet_socket_service::converting_move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.destroy">seq_packet_socket_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.endpoint_type">seq_packet_socket_service::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.get_io_service">seq_packet_socket_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.get_option">seq_packet_socket_service::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.id">seq_packet_socket_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.implementation_type">seq_packet_socket_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.io_control">seq_packet_socket_service::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.is_open">seq_packet_socket_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.local_endpoint">seq_packet_socket_service::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.move_assign">seq_packet_socket_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.move_construct">seq_packet_socket_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native">seq_packet_socket_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle">seq_packet_socket_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle_type">seq_packet_socket_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking">seq_packet_socket_service::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native_type">seq_packet_socket_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking">seq_packet_socket_service::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.open">seq_packet_socket_service::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.protocol_type">seq_packet_socket_service::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.receive">seq_packet_socket_service::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.remote_endpoint">seq_packet_socket_service::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.send">seq_packet_socket_service::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.seq_packet_socket_service">seq_packet_socket_service::seq_packet_socket_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.set_option">seq_packet_socket_service::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.shutdown">seq_packet_socket_service::shutdown</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a sequenced packet socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">seq_packet_socket_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.seq_packet_socket_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.endpoint_type" title="seq_packet_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.implementation_type" title="seq_packet_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a sequenced packet socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle_type" title="seq_packet_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_type" title="seq_packet_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.protocol_type" title="seq_packet_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.seq_packet_socket_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.assign" title="seq_packet_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to a sequenced packet socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_connect" title="seq_packet_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_receive" title="seq_packet_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_send" title="seq_packet_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.at_mark" title="seq_packet_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.available" title="seq_packet_socket_service::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.bind" title="seq_packet_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the sequenced packet socket to the specified local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.cancel" title="seq_packet_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.close" title="seq_packet_socket_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a sequenced packet socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.connect" title="seq_packet_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the sequenced packet socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.construct" title="seq_packet_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new sequenced packet socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.converting_move_construct" title="seq_packet_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new sequenced packet socket implementation from
- another protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.destroy" title="seq_packet_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a sequenced packet socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.get_io_service" title="seq_packet_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.get_option" title="seq_packet_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.io_control" title="seq_packet_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.is_open" title="seq_packet_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.local_endpoint" title="seq_packet_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.move_assign" title="seq_packet_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another sequenced packet socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.move_construct" title="seq_packet_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new sequenced packet socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native" title="seq_packet_socket_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle" title="seq_packet_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking" title="seq_packet_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking" title="seq_packet_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.open" title="seq_packet_socket_service::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open a sequenced packet socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.receive" title="seq_packet_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data from the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.remote_endpoint" title="seq_packet_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.send" title="seq_packet_socket_service::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send the given data to the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.seq_packet_socket_service" title="seq_packet_socket_service::seq_packet_socket_service"><span class="bold"><strong>seq_packet_socket_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new sequenced packet socket service for the specified
- io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.set_option" title="seq_packet_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.shutdown" title="seq_packet_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.seq_packet_socket_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.id" title="seq_packet_socket_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.seq_packet_socket_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.assign" title="seq_packet_socket_service::assign">seq_packet_socket_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp221978272"></a>
-Assign an existing native socket to a sequenced
- packet socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_connect" title="seq_packet_socket_service::async_connect">seq_packet_socket_service::async_connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222000272"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_receive" title="seq_packet_socket_service::async_receive">seq_packet_socket_service::async_receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222017728"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.async_send"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.async_send" title="seq_packet_socket_service::async_send">seq_packet_socket_service::async_send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222044000"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.at_mark" title="seq_packet_socket_service::at_mark">seq_packet_socket_service::at_mark</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222066416"></a>
-Determine whether the socket is at the
- out-of-band data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.available"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.available" title="seq_packet_socket_service::available">seq_packet_socket_service::available</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222081408"></a>
-Determine the number of bytes available
- for reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.bind"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.bind" title="seq_packet_socket_service::bind">seq_packet_socket_service::bind</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222097680"></a>
-Bind the sequenced packet socket to the specified
- local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.cancel" title="seq_packet_socket_service::cancel">seq_packet_socket_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222116320"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.close"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.close" title="seq_packet_socket_service::close">seq_packet_socket_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222131680"></a>
-Close a sequenced packet socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.connect"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.connect" title="seq_packet_socket_service::connect">seq_packet_socket_service::connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222147008"></a>
-Connect the sequenced packet socket to
- the specified endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.construct" title="seq_packet_socket_service::construct">seq_packet_socket_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222165792"></a>
-Construct a new sequenced packet socket
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.converting_move_construct"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.converting_move_construct" title="seq_packet_socket_service::converting_move_construct">seq_packet_socket_service::converting_move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222174480"></a>
-Move-construct a new
- sequenced packet socket implementation from another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">seq_packet_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.destroy" title="seq_packet_socket_service::destroy">seq_packet_socket_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222202320"></a>
-Destroy a sequenced packet socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.endpoint_type" title="seq_packet_socket_service::endpoint_type">seq_packet_socket_service::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222210768"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.seq_packet_socket_service.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.get_io_service" title="seq_packet_socket_service::get_io_service">seq_packet_socket_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp222225024"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.get_option"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.get_option" title="seq_packet_socket_service::get_option">seq_packet_socket_service::get_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222235504"></a>
-Get a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.id"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.id" title="seq_packet_socket_service::id">seq_packet_socket_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222258800"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.implementation_type" title="seq_packet_socket_service::implementation_type">seq_packet_socket_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222268496"></a>
-The type of a sequenced packet
- socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.seq_packet_socket_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.io_control"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.io_control" title="seq_packet_socket_service::io_control">seq_packet_socket_service::io_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222280832"></a>
-Perform an IO control command on the
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.is_open" title="seq_packet_socket_service::is_open">seq_packet_socket_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222302112"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.local_endpoint" title="seq_packet_socket_service::local_endpoint">seq_packet_socket_service::local_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222312592"></a>
-Get the local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.move_assign" title="seq_packet_socket_service::move_assign">seq_packet_socket_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222327760"></a>
-Move-assign from another sequenced
- packet socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">seq_packet_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.move_construct" title="seq_packet_socket_service::move_construct">seq_packet_socket_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222341552"></a>
-Move-construct a new sequenced packet
- socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native" title="seq_packet_socket_service::native">seq_packet_socket_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222352656"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle" title="seq_packet_socket_service::native_handle">seq_packet_socket_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222362736"></a>
-Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle_type" title="seq_packet_socket_service::native_handle_type">seq_packet_socket_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222371296"></a>
-The native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.seq_packet_socket_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking" title="seq_packet_socket_service::native_non_blocking">seq_packet_socket_service::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload1">seq_packet_socket_service::native_non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload2">seq_packet_socket_service::native_non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp222383616"></a>
-Gets the non-blocking mode
- of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload1" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload1" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload2" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload2" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload1" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">seq_packet_socket_service::native_non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload2" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">seq_packet_socket_service::native_non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_type" title="seq_packet_socket_service::native_type">seq_packet_socket_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222437392"></a>
-(Deprecated: Use native_handle_type.)
- The native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.seq_packet_socket_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking" title="seq_packet_socket_service::non_blocking">seq_packet_socket_service::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload1">seq_packet_socket_service::non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload2">seq_packet_socket_service::non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp222449712"></a>
-Gets the non-blocking mode of the
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload1" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload1" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload2" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload2" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload1" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">seq_packet_socket_service::non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.non_blocking.overload2" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">seq_packet_socket_service::non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.open"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.open" title="seq_packet_socket_service::open">seq_packet_socket_service::open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222503136"></a>
-Open a sequenced packet socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.protocol_type" title="seq_packet_socket_service::protocol_type">seq_packet_socket_service::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222521904"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.seq_packet_socket_service.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.receive"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.receive" title="seq_packet_socket_service::receive">seq_packet_socket_service::receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222534336"></a>
-Receive some data from the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.remote_endpoint" title="seq_packet_socket_service::remote_endpoint">seq_packet_socket_service::remote_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222561792"></a>
-Get the remote endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.send"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.send" title="seq_packet_socket_service::send">seq_packet_socket_service::send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222576960"></a>
-Send the given data to the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.seq_packet_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.seq_packet_socket_service" title="seq_packet_socket_service::seq_packet_socket_service">seq_packet_socket_service::seq_packet_socket_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222601040"></a>
-Construct a new sequenced
- packet socket service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">seq_packet_socket_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.set_option"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.set_option" title="seq_packet_socket_service::set_option">seq_packet_socket_service::set_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222612704"></a>
-Set a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.seq_packet_socket_service.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.seq_packet_socket_service.shutdown" title="seq_packet_socket_service::shutdown">seq_packet_socket_service::shutdown</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222634720"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port"></a><a class="link" href="reference.html#boost_asio.reference.serial_port" title="serial_port">serial_port</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp222653072"></a>
-Typedef for the typical usage of a serial port.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_serial_port</span> <span class="identifier">serial_port</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port.types"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation_type" title="basic_serial_port::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer_type" title="basic_serial_port::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_serial_port is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle_type" title="basic_serial_port::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_type" title="basic_serial_port::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service_type" title="basic_serial_port::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.assign" title="basic_serial_port::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native serial port to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_read_some" title="basic_serial_port::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.async_write_some" title="basic_serial_port::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.basic_serial_port" title="basic_serial_port::basic_serial_port"><span class="bold"><strong>basic_serial_port</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_serial_port without opening it.
- </p>
- <p>
- Construct and open a basic_serial_port.
- </p>
- <p>
- Construct a basic_serial_port on an existing native serial port.
- </p>
- <p>
- Move-construct a basic_serial_port from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.cancel" title="basic_serial_port::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.close" title="basic_serial_port::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_io_service" title="basic_serial_port::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_option" title="basic_serial_port::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get an option from the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.is_open" title="basic_serial_port::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the serial port is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.lowest_layer" title="basic_serial_port::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native" title="basic_serial_port::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native serial port representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.native_handle" title="basic_serial_port::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native serial port representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.open" title="basic_serial_port::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open the serial port using the specified device name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.operator_eq_" title="basic_serial_port::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_serial_port from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.read_some" title="basic_serial_port::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.send_break" title="basic_serial_port::send_break"><span class="bold"><strong>send_break</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a break sequence to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.set_option" title="basic_serial_port::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set an option on the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.write_some" title="basic_serial_port::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the serial port.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_implementation" title="basic_serial_port::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.get_service" title="basic_serial_port::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.implementation" title="basic_serial_port::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_serial_port.service" title="basic_serial_port::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
- provides functionality that is common to all serial ports.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_base"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base" title="serial_port_base">serial_port_base</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base._serial_port_base">serial_port_base::~serial_port_base</a></span></dt></dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.serial_port_base" title="serial_port_base"><code class="computeroutput"><span class="identifier">serial_port_base</span></code></a>
- class is used as a base for the <a class="link" href="reference.html#boost_asio.reference.basic_serial_port" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
- so that we have a common place to define the serial port options.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">serial_port_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_base.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base.types"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate" title="serial_port_base::baud_rate"><span class="bold"><strong>baud_rate</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Serial port option to permit changing the baud rate.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size" title="serial_port_base::character_size"><span class="bold"><strong>character_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Serial port option to permit changing the character size.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control" title="serial_port_base::flow_control"><span class="bold"><strong>flow_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Serial port option to permit changing the flow control.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity" title="serial_port_base::parity"><span class="bold"><strong>parity</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Serial port option to permit changing the parity.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits" title="serial_port_base::stop_bits"><span class="bold"><strong>stop_bits</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Serial port option to permit changing the number of stop bits.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_base.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base._serial_port_base" title="serial_port_base::~serial_port_base"><span class="bold"><strong>~serial_port_base</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_base.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base._serial_port_base"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base._serial_port_base" title="serial_port_base::~serial_port_base">serial_port_base::~serial_port_base</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222837264"></a>
-Protected destructor to prevent deletion
- through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">serial_port_base</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_base__baud_rate"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate" title="serial_port_base::baud_rate">serial_port_base::baud_rate</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__baud_rate.baud_rate">serial_port_base::baud_rate::baud_rate</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__baud_rate.load">serial_port_base::baud_rate::load</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__baud_rate.store">serial_port_base::baud_rate::store</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__baud_rate.value">serial_port_base::baud_rate::value</a></span></dt>
-</dl></div>
-<p>
- Serial port option to permit changing the baud rate.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">baud_rate</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_base__baud_rate.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__baud_rate.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.baud_rate" title="serial_port_base::baud_rate::baud_rate"><span class="bold"><strong>baud_rate</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.load" title="serial_port_base::baud_rate::load"><span class="bold"><strong>load</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.store" title="serial_port_base::baud_rate::store"><span class="bold"><strong>store</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.value" title="serial_port_base::baud_rate::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Implements changing the baud rate for a given serial port.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port_base__baud_rate.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__baud_rate.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__baud_rate.baud_rate"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.baud_rate" title="serial_port_base::baud_rate::baud_rate">serial_port_base::baud_rate::baud_rate</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222872032"></a>
- </p>
-<pre class="programlisting"><span class="identifier">baud_rate</span><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">rate</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__baud_rate.load"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.load" title="serial_port_base::baud_rate::load">serial_port_base::baud_rate::load</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222881040"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__baud_rate.store"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.store" title="serial_port_base::baud_rate::store">serial_port_base::baud_rate::store</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222897072"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
- <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__baud_rate.value"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__baud_rate.value" title="serial_port_base::baud_rate::value">serial_port_base::baud_rate::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222913568"></a>
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_base__character_size"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size" title="serial_port_base::character_size">serial_port_base::character_size</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__character_size.character_size">serial_port_base::character_size::character_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__character_size.load">serial_port_base::character_size::load</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__character_size.store">serial_port_base::character_size::store</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__character_size.value">serial_port_base::character_size::value</a></span></dt>
-</dl></div>
-<p>
- Serial port option to permit changing the character size.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">character_size</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_base__character_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__character_size.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.character_size" title="serial_port_base::character_size::character_size"><span class="bold"><strong>character_size</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.load" title="serial_port_base::character_size::load"><span class="bold"><strong>load</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.store" title="serial_port_base::character_size::store"><span class="bold"><strong>store</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.value" title="serial_port_base::character_size::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Implements changing the character size for a given serial port.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port_base__character_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__character_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__character_size.character_size"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.character_size" title="serial_port_base::character_size::character_size">serial_port_base::character_size::character_size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222950608"></a>
- </p>
-<pre class="programlisting"><span class="identifier">character_size</span><span class="special">(</span>
- <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">8</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__character_size.load"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.load" title="serial_port_base::character_size::load">serial_port_base::character_size::load</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222959664"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__character_size.store"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.store" title="serial_port_base::character_size::store">serial_port_base::character_size::store</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222975696"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
- <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__character_size.value"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__character_size.value" title="serial_port_base::character_size::value">serial_port_base::character_size::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp222992256"></a>
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_base__flow_control"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control" title="serial_port_base::flow_control">serial_port_base::flow_control</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__flow_control.flow_control">serial_port_base::flow_control::flow_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__flow_control.load">serial_port_base::flow_control::load</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__flow_control.store">serial_port_base::flow_control::store</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__flow_control.type">serial_port_base::flow_control::type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__flow_control.value">serial_port_base::flow_control::value</a></span></dt>
-</dl></div>
-<p>
- Serial port option to permit changing the flow control.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">flow_control</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_base__flow_control.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.types"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type" title="serial_port_base::flow_control::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_base__flow_control.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.flow_control" title="serial_port_base::flow_control::flow_control"><span class="bold"><strong>flow_control</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.load" title="serial_port_base::flow_control::load"><span class="bold"><strong>load</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.store" title="serial_port_base::flow_control::store"><span class="bold"><strong>store</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.value" title="serial_port_base::flow_control::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Implements changing the flow control for a given serial port.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port_base__flow_control.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__flow_control.flow_control"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.flow_control" title="serial_port_base::flow_control::flow_control">serial_port_base::flow_control::flow_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223039232"></a>
- </p>
-<pre class="programlisting"><span class="identifier">flow_control</span><span class="special">(</span>
- <span class="identifier">type</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">none</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__flow_control.load"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.load" title="serial_port_base::flow_control::load">serial_port_base::flow_control::load</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223047648"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__flow_control.store"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.store" title="serial_port_base::flow_control::store">serial_port_base::flow_control::store</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223063744"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
- <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__flow_control.type"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type" title="serial_port_base::flow_control::type">serial_port_base::flow_control::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223080304"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp223083712"></a>
- <a class="indexterm" name="idp223084832"></a>
- <a class="indexterm" name="idp223085952"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.serial_port_base__flow_control.type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">none</span></dt>
-<dd></dd>
-<dt><span class="term">software</span></dt>
-<dd></dd>
-<dt><span class="term">hardware</span></dt>
-<dd></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__flow_control.value"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__flow_control.value" title="serial_port_base::flow_control::value">serial_port_base::flow_control::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223096448"></a>
- </p>
-<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_base__parity"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity" title="serial_port_base::parity">serial_port_base::parity</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__parity.load">serial_port_base::parity::load</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__parity.parity">serial_port_base::parity::parity</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__parity.store">serial_port_base::parity::store</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__parity.type">serial_port_base::parity::type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__parity.value">serial_port_base::parity::value</a></span></dt>
-</dl></div>
-<p>
- Serial port option to permit changing the parity.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">parity</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_base__parity.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.types"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.type" title="serial_port_base::parity::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_base__parity.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.load" title="serial_port_base::parity::load"><span class="bold"><strong>load</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.parity" title="serial_port_base::parity::parity"><span class="bold"><strong>parity</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.store" title="serial_port_base::parity::store"><span class="bold"><strong>store</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.value" title="serial_port_base::parity::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Implements changing the parity for a given serial port.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port_base__parity.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__parity.load"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.load" title="serial_port_base::parity::load">serial_port_base::parity::load</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223142320"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__parity.parity"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.parity" title="serial_port_base::parity::parity">serial_port_base::parity::parity</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223158288"></a>
- </p>
-<pre class="programlisting"><span class="identifier">parity</span><span class="special">(</span>
- <span class="identifier">type</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">none</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__parity.store"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.store" title="serial_port_base::parity::store">serial_port_base::parity::store</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223166576"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
- <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__parity.type"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.type" title="serial_port_base::parity::type">serial_port_base::parity::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223183136"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp223186544"></a>
- <a class="indexterm" name="idp223187664"></a>
- <a class="indexterm" name="idp223188800"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.serial_port_base__parity.type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">none</span></dt>
-<dd></dd>
-<dt><span class="term">odd</span></dt>
-<dd></dd>
-<dt><span class="term">even</span></dt>
-<dd></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__parity.value"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__parity.value" title="serial_port_base::parity::value">serial_port_base::parity::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223199040"></a>
- </p>
-<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_base__stop_bits"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits" title="serial_port_base::stop_bits">serial_port_base::stop_bits</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__stop_bits.load">serial_port_base::stop_bits::load</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__stop_bits.stop_bits">serial_port_base::stop_bits::stop_bits</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__stop_bits.store">serial_port_base::stop_bits::store</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type">serial_port_base::stop_bits::type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_base__stop_bits.value">serial_port_base::stop_bits::value</a></span></dt>
-</dl></div>
-<p>
- Serial port option to permit changing the number of stop bits.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stop_bits</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_base__stop_bits.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.types"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type" title="serial_port_base::stop_bits::type"><span class="bold"><strong>type</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_base__stop_bits.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.load" title="serial_port_base::stop_bits::load"><span class="bold"><strong>load</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.stop_bits" title="serial_port_base::stop_bits::stop_bits"><span class="bold"><strong>stop_bits</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.store" title="serial_port_base::stop_bits::store"><span class="bold"><strong>store</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.value" title="serial_port_base::stop_bits::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Implements changing the number of stop bits for a given serial port.
- </p>
-<h5>
-<a name="boost_asio.reference.serial_port_base__stop_bits.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__stop_bits.load"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.load" title="serial_port_base::stop_bits::load">serial_port_base::stop_bits::load</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223244896"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__stop_bits.stop_bits"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.stop_bits" title="serial_port_base::stop_bits::stop_bits">serial_port_base::stop_bits::stop_bits</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223260864"></a>
- </p>
-<pre class="programlisting"><span class="identifier">stop_bits</span><span class="special">(</span>
- <span class="identifier">type</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">one</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__stop_bits.store"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.store" title="serial_port_base::stop_bits::store">serial_port_base::stop_bits::store</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223269248"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
- <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__stop_bits.type"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type" title="serial_port_base::stop_bits::type">serial_port_base::stop_bits::type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223285744"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp223289152"></a>
- <a class="indexterm" name="idp223290240"></a>
- <a class="indexterm" name="idp223291360"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.serial_port_base__stop_bits.type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">one</span></dt>
-<dd></dd>
-<dt><span class="term">onepointfive</span></dt>
-<dd></dd>
-<dt><span class="term">two</span></dt>
-<dd></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_base__stop_bits.value"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_base__stop_bits.value" title="serial_port_base::stop_bits::value">serial_port_base::stop_bits::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223301728"></a>
- </p>
-<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.serial_port_service"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service" title="serial_port_service">serial_port_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.assign">serial_port_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.async_read_some">serial_port_service::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.async_write_some">serial_port_service::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.cancel">serial_port_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.close">serial_port_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.construct">serial_port_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.destroy">serial_port_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.get_io_service">serial_port_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.get_option">serial_port_service::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.id">serial_port_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.implementation_type">serial_port_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.is_open">serial_port_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.move_assign">serial_port_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.move_construct">serial_port_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.native">serial_port_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.native_handle">serial_port_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.native_handle_type">serial_port_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.native_type">serial_port_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.open">serial_port_service::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.read_some">serial_port_service::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.send_break">serial_port_service::send_break</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.serial_port_service">serial_port_service::serial_port_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.set_option">serial_port_service::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.serial_port_service.write_some">serial_port_service::write_some</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a serial port.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">serial_port_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.serial_port_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.implementation_type" title="serial_port_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a serial port implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_handle_type" title="serial_port_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_type" title="serial_port_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native handle type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.assign" title="serial_port_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.async_read_some" title="serial_port_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.async_write_some" title="serial_port_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.cancel" title="serial_port_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.close" title="serial_port_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a serial port implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.construct" title="serial_port_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new serial port implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.destroy" title="serial_port_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a serial port implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.get_io_service" title="serial_port_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.get_option" title="serial_port_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a serial port option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.is_open" title="serial_port_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.move_assign" title="serial_port_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another serial port implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.move_construct" title="serial_port_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new serial port implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.native" title="serial_port_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_handle" title="serial_port_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.open" title="serial_port_service::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open a serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.read_some" title="serial_port_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.send_break" title="serial_port_service::send_break"><span class="bold"><strong>send_break</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send a break sequence to the serial port.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.serial_port_service" title="serial_port_service::serial_port_service"><span class="bold"><strong>serial_port_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new serial port service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.set_option" title="serial_port_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set a serial port option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.write_some" title="serial_port_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data to the stream.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.serial_port_service.id" title="serial_port_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.serial_port_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.assign" title="serial_port_service::assign">serial_port_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223425440"></a>
-Assign an existing native handle to a serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.async_read_some" title="serial_port_service::async_read_some">serial_port_service::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223444128"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.async_write_some" title="serial_port_service::async_write_some">serial_port_service::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223463632"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.cancel" title="serial_port_service::cancel">serial_port_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223483104"></a>
-Cancel all asynchronous operations associated
- with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.close"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.close" title="serial_port_service::close">serial_port_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223498352"></a>
-Close a serial port implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.construct" title="serial_port_service::construct">serial_port_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223513728"></a>
-Construct a new serial port implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.destroy" title="serial_port_service::destroy">serial_port_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223522192"></a>
-Destroy a serial port implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.get_io_service" title="serial_port_service::get_io_service">serial_port_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp223531408"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.get_option"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.get_option" title="serial_port_service::get_option">serial_port_service::get_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223541744"></a>
-Get a serial port option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSerialPortOption" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.id"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.id" title="serial_port_service::id">serial_port_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223564912"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.implementation_type" title="serial_port_service::implementation_type">serial_port_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223574672"></a>
-The type of a serial port implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.serial_port_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.is_open" title="serial_port_service::is_open">serial_port_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223587024"></a>
-Determine whether the handle is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.move_assign" title="serial_port_service::move_assign">serial_port_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223597392"></a>
-Move-assign from another serial port implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">serial_port_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.move_construct" title="serial_port_service::move_construct">serial_port_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223610976"></a>
-Move-construct a new serial port implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.native"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.native" title="serial_port_service::native">serial_port_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223621984"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_handle" title="serial_port_service::native_handle">serial_port_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223632096"></a>
-Get the native handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_handle_type" title="serial_port_service::native_handle_type">serial_port_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223640544"></a>
-The native handle type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.serial_port_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_type" title="serial_port_service::native_type">serial_port_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223652944"></a>
-(Deprecated: Use native_handle_type.) The
- native handle type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.serial_port_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.serial_port_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.serial_port_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.open"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.open" title="serial_port_service::open">serial_port_service::open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223665104"></a>
-Open a serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.read_some"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.read_some" title="serial_port_service::read_some">serial_port_service::read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223684736"></a>
-Read some data from the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.send_break"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.send_break" title="serial_port_service::send_break">serial_port_service::send_break</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223705568"></a>
-Send a break sequence to the serial port.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">send_break</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.serial_port_service"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.serial_port_service" title="serial_port_service::serial_port_service">serial_port_service::serial_port_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223720896"></a>
-Construct a new serial port service
- for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">serial_port_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.set_option"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.set_option" title="serial_port_service::set_option">serial_port_service::set_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223732512"></a>
-Set a serial port option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSerialPortOption" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.serial_port_service.write_some"></a><a class="link" href="reference.html#boost_asio.reference.serial_port_service.write_some" title="serial_port_service::write_some">serial_port_service::write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223754480"></a>
-Write the given data to the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.service_already_exists"></a><a class="link" href="reference.html#boost_asio.reference.service_already_exists" title="service_already_exists">service_already_exists</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.service_already_exists.service_already_exists">service_already_exists::service_already_exists</a></span></dt></dl></div>
-<p>
- Exception thrown when trying to add a duplicate service to an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">service_already_exists</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.service_already_exists.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.service_already_exists.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.service_already_exists.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.service_already_exists.service_already_exists" title="service_already_exists::service_already_exists"><span class="bold"><strong>service_already_exists</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.service_already_exists.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.service_already_exists.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.service_already_exists.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.service_already_exists.service_already_exists"></a><a class="link" href="reference.html#boost_asio.reference.service_already_exists.service_already_exists" title="service_already_exists::service_already_exists">service_already_exists::service_already_exists</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp223796800"></a>
- </p>
-<pre class="programlisting"><span class="identifier">service_already_exists</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.signal_set"></a><a class="link" href="reference.html#boost_asio.reference.signal_set" title="signal_set">signal_set</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp223802016"></a>
-Typedef for the typical usage of a signal set.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_signal_set</span> <span class="identifier">signal_set</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.signal_set.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.types"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation_type" title="basic_signal_set::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service_type" title="basic_signal_set::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.signal_set.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.add" title="basic_signal_set::add"><span class="bold"><strong>add</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add a signal to a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.async_wait" title="basic_signal_set::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous operation to wait for a signal to be delivered.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.basic_signal_set" title="basic_signal_set::basic_signal_set"><span class="bold"><strong>basic_signal_set</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a signal set without adding any signals.
- </p>
- <p>
- Construct a signal set and add one signal.
- </p>
- <p>
- Construct a signal set and add two signals.
- </p>
- <p>
- Construct a signal set and add three signals.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.cancel" title="basic_signal_set::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all operations associated with the signal set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.clear" title="basic_signal_set::clear"><span class="bold"><strong>clear</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove all signals from a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_io_service" title="basic_signal_set::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.remove" title="basic_signal_set::remove"><span class="bold"><strong>remove</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove a signal from a signal_set.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.signal_set.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_implementation" title="basic_signal_set::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.get_service" title="basic_signal_set::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.signal_set.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.implementation" title="basic_signal_set::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_signal_set.service" title="basic_signal_set::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_signal_set" title="basic_signal_set"><code class="computeroutput"><span class="identifier">basic_signal_set</span></code></a>
- class template provides the ability to perform an asynchronous wait for one
- or more signals to occur.
- </p>
-<p>
- Most applications will use the <a class="link" href="reference.html#boost_asio.reference.signal_set" title="signal_set"><code class="computeroutput"><span class="identifier">signal_set</span></code></a> typedef.
- </p>
-<h5>
-<a name="boost_asio.reference.signal_set.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.signal_set.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.example"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.example">Example</a>
- </h5>
-<p>
- Performing an asynchronous wait:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// A signal occurred.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a signal set registered for process termination.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">SIGINT</span><span class="special">,</span> <span class="identifier">SIGTERM</span><span class="special">);</span>
-
-<span class="comment">// Start an asynchronous wait for one of the signals to occur.</span>
-<span class="identifier">signals</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.signal_set.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.queueing_of_signal_notifications"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.queueing_of_signal_notifications">Queueing
- of signal notifications</a>
- </h5>
-<p>
- If a signal is registered with a signal_set, and the signal occurs when there
- are no waiting handlers, then the signal notification is queued. The next
- async_wait operation on that signal_set will dequeue the notification. If
- multiple notifications are queued, subsequent async_wait operations dequeue
- them one at a time. Signal notifications are dequeued in order of ascending
- signal number.
- </p>
-<p>
- If a signal number is removed from a signal_set (using the <code class="computeroutput"><span class="identifier">remove</span></code> or <code class="computeroutput"><span class="identifier">erase</span></code>
- member functions) then any queued notifications for that signal are discarded.
- </p>
-<h5>
-<a name="boost_asio.reference.signal_set.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.multiple_registration_of_signals"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.multiple_registration_of_signals">Multiple
- registration of signals</a>
- </h5>
-<p>
- The same signal number may be registered with different signal_set objects.
- When the signal occurs, one handler is called for each signal_set object.
- </p>
-<p>
- Note that multiple registration only works for signals that are registered
- using Asio. The application must not also register a signal handler using
- functions such as <code class="computeroutput"><span class="identifier">signal</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">sigaction</span><span class="special">()</span></code>.
- </p>
-<h5>
-<a name="boost_asio.reference.signal_set.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.signal_masking_on_posix_platforms"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.signal_masking_on_posix_platforms">Signal
- masking on POSIX platforms</a>
- </h5>
-<p>
- POSIX allows signals to be blocked using functions such as <code class="computeroutput"><span class="identifier">sigprocmask</span><span class="special">()</span></code>
- and <code class="computeroutput"><span class="identifier">pthread_sigmask</span><span class="special">()</span></code>.
- For signals to be delivered, programs must ensure that any signals registered
- using signal_set objects are unblocked in at least one thread.
- </p>
-<h5>
-<a name="boost_asio.reference.signal_set.h9"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/signal_set.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.signal_set_service"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service" title="signal_set_service">signal_set_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.add">signal_set_service::add</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.async_wait">signal_set_service::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.cancel">signal_set_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.clear">signal_set_service::clear</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.construct">signal_set_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.destroy">signal_set_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.get_io_service">signal_set_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.id">signal_set_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.implementation_type">signal_set_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.remove">signal_set_service::remove</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.signal_set_service.signal_set_service">signal_set_service::signal_set_service</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a signal set.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">signal_set_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.signal_set_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.implementation_type" title="signal_set_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a signal set implementation.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.signal_set_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.add" title="signal_set_service::add"><span class="bold"><strong>add</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add a signal to a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.async_wait" title="signal_set_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.cancel" title="signal_set_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all operations associated with the signal set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.clear" title="signal_set_service::clear"><span class="bold"><strong>clear</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove all signals from a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.construct" title="signal_set_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new signal set implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.destroy" title="signal_set_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a signal set implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.get_io_service" title="signal_set_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.remove" title="signal_set_service::remove"><span class="bold"><strong>remove</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove a signal to a signal_set.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.signal_set_service" title="signal_set_service::signal_set_service"><span class="bold"><strong>signal_set_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new signal set service for the specified io_service.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.signal_set_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.signal_set_service.id" title="signal_set_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.signal_set_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/signal_set_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.add"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.add" title="signal_set_service::add">signal_set_service::add</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107248896"></a>
-Add a signal to a signal_set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.async_wait" title="signal_set_service::async_wait">signal_set_service::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107265632"></a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SignalHandler" title="Signal handler requirements">SignalHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">SignalHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.cancel" title="signal_set_service::cancel">signal_set_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107279344"></a>
-Cancel all operations associated with the signal
- set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.clear"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.clear" title="signal_set_service::clear">signal_set_service::clear</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107294272"></a>
-Remove all signals from a signal_set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">clear</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.construct" title="signal_set_service::construct">signal_set_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107309200"></a>
-Construct a new signal set implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.destroy" title="signal_set_service::destroy">signal_set_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107317216"></a>
-Destroy a signal set implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.get_io_service" title="signal_set_service::get_io_service">signal_set_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp107326048"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.id"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.id" title="signal_set_service::id">signal_set_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp107335984"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.implementation_type" title="signal_set_service::implementation_type">signal_set_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224015952"></a>
-The type of a signal set implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.signal_set_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.signal_set_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.signal_set_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/signal_set_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.remove"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.remove" title="signal_set_service::remove">signal_set_service::remove</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224026608"></a>
-Remove a signal to a signal_set.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">remove</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.signal_set_service.signal_set_service"></a><a class="link" href="reference.html#boost_asio.reference.signal_set_service.signal_set_service" title="signal_set_service::signal_set_service">signal_set_service::signal_set_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224042384"></a>
-Construct a new signal set service
- for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">signal_set_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.socket_acceptor_service"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service" title="socket_acceptor_service">socket_acceptor_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.accept">socket_acceptor_service::accept</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.assign">socket_acceptor_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.async_accept">socket_acceptor_service::async_accept</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.bind">socket_acceptor_service::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.cancel">socket_acceptor_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.close">socket_acceptor_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.construct">socket_acceptor_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.converting_move_construct">socket_acceptor_service::converting_move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.destroy">socket_acceptor_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.endpoint_type">socket_acceptor_service::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.get_io_service">socket_acceptor_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.get_option">socket_acceptor_service::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.id">socket_acceptor_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.implementation_type">socket_acceptor_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.io_control">socket_acceptor_service::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.is_open">socket_acceptor_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.listen">socket_acceptor_service::listen</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.local_endpoint">socket_acceptor_service::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.move_assign">socket_acceptor_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.move_construct">socket_acceptor_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native">socket_acceptor_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle">socket_acceptor_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle_type">socket_acceptor_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking">socket_acceptor_service::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native_type">socket_acceptor_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking">socket_acceptor_service::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.open">socket_acceptor_service::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.protocol_type">socket_acceptor_service::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.set_option">socket_acceptor_service::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.socket_acceptor_service">socket_acceptor_service::socket_acceptor_service</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a socket acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">socket_acceptor_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.socket_acceptor_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.endpoint_type" title="socket_acceptor_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.implementation_type" title="socket_acceptor_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native type of the socket acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle_type" title="socket_acceptor_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native acceptor type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_type" title="socket_acceptor_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native acceptor type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.protocol_type" title="socket_acceptor_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.socket_acceptor_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.accept" title="socket_acceptor_service::accept"><span class="bold"><strong>accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Accept a new connection.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.assign" title="socket_acceptor_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native acceptor to a socket acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.async_accept" title="socket_acceptor_service::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.bind" title="socket_acceptor_service::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the socket acceptor to the specified local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.cancel" title="socket_acceptor_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.close" title="socket_acceptor_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a socket acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.construct" title="socket_acceptor_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new socket acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.converting_move_construct" title="socket_acceptor_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new socket acceptor implementation from another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.destroy" title="socket_acceptor_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a socket acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.get_io_service" title="socket_acceptor_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.get_option" title="socket_acceptor_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.io_control" title="socket_acceptor_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.is_open" title="socket_acceptor_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the acceptor is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.listen" title="socket_acceptor_service::listen"><span class="bold"><strong>listen</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Place the socket acceptor into the state where it will listen for
- new connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.local_endpoint" title="socket_acceptor_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.move_assign" title="socket_acceptor_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another socket acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.move_construct" title="socket_acceptor_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new socket acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native" title="socket_acceptor_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle" title="socket_acceptor_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking" title="socket_acceptor_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native acceptor implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking" title="socket_acceptor_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the acceptor.
- </p>
- <p>
- Sets the non-blocking mode of the acceptor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.open" title="socket_acceptor_service::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open a new socket acceptor implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.set_option" title="socket_acceptor_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.socket_acceptor_service" title="socket_acceptor_service::socket_acceptor_service"><span class="bold"><strong>socket_acceptor_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new socket acceptor service for the specified io_service.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.socket_acceptor_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.id" title="socket_acceptor_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.socket_acceptor_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.accept"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.accept" title="socket_acceptor_service::accept">socket_acceptor_service::accept</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224178096"></a>
-Accept a new connection.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">accept</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">*</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.assign" title="socket_acceptor_service::assign">socket_acceptor_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224213232"></a>
-Assign an existing native acceptor to a socket
- acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.async_accept"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.async_accept" title="socket_acceptor_service::async_accept">socket_acceptor_service::async_accept</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224233344"></a>
-Start an asynchronous accept.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SocketService" title="Socket service requirements">SocketService</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.AcceptHandler" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_accept</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
- <span class="identifier">endpoint_type</span> <span class="special">*</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.bind"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.bind" title="socket_acceptor_service::bind">socket_acceptor_service::bind</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224266048"></a>
-Bind the socket acceptor to the specified local
- endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.cancel" title="socket_acceptor_service::cancel">socket_acceptor_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224282752"></a>
-Cancel all asynchronous operations associated
- with the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.close"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.close" title="socket_acceptor_service::close">socket_acceptor_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224296560"></a>
-Close a socket acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.construct" title="socket_acceptor_service::construct">socket_acceptor_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224310272"></a>
-Construct a new socket acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.converting_move_construct"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.converting_move_construct" title="socket_acceptor_service::converting_move_construct">socket_acceptor_service::converting_move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224318048"></a>
-Move-construct a new socket
- acceptor implementation from another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">socket_acceptor_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.destroy" title="socket_acceptor_service::destroy">socket_acceptor_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224342848"></a>
-Destroy a socket acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.endpoint_type" title="socket_acceptor_service::endpoint_type">socket_acceptor_service::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224350544"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">protocol_type</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_acceptor_service.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.get_io_service" title="socket_acceptor_service::get_io_service">socket_acceptor_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp224363120"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.get_option"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.get_option" title="socket_acceptor_service::get_option">socket_acceptor_service::get_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224372096"></a>
-Get a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.id"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.id" title="socket_acceptor_service::id">socket_acceptor_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224392784"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.implementation_type" title="socket_acceptor_service::implementation_type">socket_acceptor_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224401712"></a>
-The native type of the socket
- acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_acceptor_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.io_control"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.io_control" title="socket_acceptor_service::io_control">socket_acceptor_service::io_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224412448"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.is_open" title="socket_acceptor_service::is_open">socket_acceptor_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224431392"></a>
-Determine whether the acceptor is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.listen"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.listen" title="socket_acceptor_service::listen">socket_acceptor_service::listen</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224440512"></a>
-Place the socket acceptor into the state where
- it will listen for new connections.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">listen</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">int</span> <span class="identifier">backlog</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.local_endpoint" title="socket_acceptor_service::local_endpoint">socket_acceptor_service::local_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224456400"></a>
-Get the local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.move_assign" title="socket_acceptor_service::move_assign">socket_acceptor_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224470192"></a>
-Move-assign from another socket acceptor
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">socket_acceptor_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.move_construct" title="socket_acceptor_service::move_construct">socket_acceptor_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224482624"></a>
-Move-construct a new socket acceptor
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native" title="socket_acceptor_service::native">socket_acceptor_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224492464"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle" title="socket_acceptor_service::native_handle">socket_acceptor_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224501648"></a>
-Get the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle_type" title="socket_acceptor_service::native_handle_type">socket_acceptor_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224509344"></a>
-The native acceptor type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_acceptor_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking" title="socket_acceptor_service::native_non_blocking">socket_acceptor_service::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload1">socket_acceptor_service::native_non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload2">socket_acceptor_service::native_non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp224520320"></a>
-Gets the non-blocking mode of
- the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload1" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload1" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload2" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload2" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload1" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">socket_acceptor_service::native_non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_non_blocking.overload2" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">socket_acceptor_service::native_non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_type" title="socket_acceptor_service::native_type">socket_acceptor_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224569200"></a>
-(Deprecated: Use native_handle_type.)
- The native acceptor type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_acceptor_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking" title="socket_acceptor_service::non_blocking">socket_acceptor_service::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload1">socket_acceptor_service::non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload2">socket_acceptor_service::non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp224580112"></a>
-Gets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload1" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload1" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload2" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload2" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload1" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">socket_acceptor_service::non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.non_blocking.overload2" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">socket_acceptor_service::non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the acceptor.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.open"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.open" title="socket_acceptor_service::open">socket_acceptor_service::open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224628224"></a>
-Open a new socket acceptor implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.protocol_type" title="socket_acceptor_service::protocol_type">socket_acceptor_service::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224645328"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_acceptor_service.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.set_option"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.set_option" title="socket_acceptor_service::set_option">socket_acceptor_service::set_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224655824"></a>
-Set a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_acceptor_service.socket_acceptor_service"></a><a class="link" href="reference.html#boost_asio.reference.socket_acceptor_service.socket_acceptor_service" title="socket_acceptor_service::socket_acceptor_service">socket_acceptor_service::socket_acceptor_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224675712"></a>
-Construct a new socket acceptor
- service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">socket_acceptor_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.socket_base"></a><a class="link" href="reference.html#boost_asio.reference.socket_base" title="socket_base">socket_base</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.broadcast">socket_base::broadcast</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.bytes_readable">socket_base::bytes_readable</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.debug">socket_base::debug</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.do_not_route">socket_base::do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted">socket_base::enable_connection_aborted</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.keep_alive">socket_base::keep_alive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.linger">socket_base::linger</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.max_connections">socket_base::max_connections</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.message_do_not_route">socket_base::message_do_not_route</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.message_end_of_record">socket_base::message_end_of_record</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.message_flags">socket_base::message_flags</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.message_out_of_band">socket_base::message_out_of_band</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.message_peek">socket_base::message_peek</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.non_blocking_io">socket_base::non_blocking_io</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.receive_buffer_size">socket_base::receive_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.receive_low_watermark">socket_base::receive_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.reuse_address">socket_base::reuse_address</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.send_buffer_size">socket_base::send_buffer_size</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.send_low_watermark">socket_base::send_low_watermark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base.shutdown_type">socket_base::shutdown_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.socket_base._socket_base">socket_base::~socket_base</a></span></dt>
-</dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.socket_base" title="socket_base"><code class="computeroutput"><span class="identifier">socket_base</span></code></a>
- class is used as a base for the <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> and <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class templates
- so that we have a common place to define the shutdown_type and enum.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">socket_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.socket_base.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.types"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.broadcast" title="socket_base::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to permit sending of broadcast messages.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.bytes_readable" title="socket_base::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- IO control command to get the amount of data that can be read without
- blocking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.debug" title="socket_base::debug"><span class="bold"><strong>debug</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to enable socket-level debugging.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.do_not_route" title="socket_base::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to prevent routing, use local interfaces only.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted" title="socket_base::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to report aborted connections on accept.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.keep_alive" title="socket_base::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to send keep-alives.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.linger" title="socket_base::linger"><span class="bold"><strong>linger</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to specify whether the socket lingers on close if
- unsent data is present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.message_flags" title="socket_base::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for flags that can be passed to send and receive operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.non_blocking_io" title="socket_base::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use non_blocking().) IO control command to set the
- blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.receive_buffer_size" title="socket_base::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.receive_low_watermark" title="socket_base::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the receive low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.reuse_address" title="socket_base::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option to allow the socket to be bound to an address that
- is already in use.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.send_buffer_size" title="socket_base::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send buffer size of a socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.send_low_watermark" title="socket_base::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Socket option for the send low watermark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.shutdown_type" title="socket_base::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different ways a socket may be shutdown.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.socket_base.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base._socket_base" title="socket_base::~socket_base"><span class="bold"><strong>~socket_base</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.socket_base.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.max_connections" title="socket_base::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The maximum length of the queue of pending incoming connections.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.message_do_not_route" title="socket_base::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify that the data should not be subject to routing.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.message_end_of_record" title="socket_base::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specifies that the data marks the end of a record.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.message_out_of_band" title="socket_base::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Process out-of-band data.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.socket_base.message_peek" title="socket_base::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Peek at incoming data without removing it from the input queue.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.socket_base.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.broadcast"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.broadcast" title="socket_base::broadcast">socket_base::broadcast</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224779280"></a>
-Socket option to permit sending of broadcast messages.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_BROADCAST socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.broadcast.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.broadcast.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.broadcast.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.broadcast.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.broadcast.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.broadcast.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.bytes_readable"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.bytes_readable" title="socket_base::bytes_readable">socket_base::bytes_readable</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224828752"></a>
-IO control command to get the amount of data that
- can be read without blocking.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONREAD IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.bytes_readable.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.bytes_readable.example"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.bytes_readable.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.bytes_readable.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.bytes_readable.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.bytes_readable.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.debug"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.debug" title="socket_base::debug">socket_base::debug</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224863216"></a>
-Socket option to enable socket-level debugging.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DEBUG socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.debug.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.debug.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.debug.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.debug.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.debug.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.debug.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.do_not_route" title="socket_base::do_not_route">socket_base::do_not_route</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224912592"></a>
-Socket option to prevent routing, use local interfaces
- only.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.do_not_route.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.do_not_route.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.do_not_route.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.do_not_route.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.do_not_route.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.do_not_route.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.enable_connection_aborted"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted" title="socket_base::enable_connection_aborted">socket_base::enable_connection_aborted</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp224962800"></a>
-Socket option to report aborted connections
- on accept.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
-</pre>
-<p>
- Implements a custom socket option that determines whether or not an accept
- operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
- By default the option is false.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.enable_connection_aborted.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.enable_connection_aborted.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.enable_connection_aborted.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.enable_connection_aborted.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.enable_connection_aborted.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.keep_alive"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.keep_alive" title="socket_base::keep_alive">socket_base::keep_alive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225017264"></a>
-Socket option to send keep-alives.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.keep_alive.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.keep_alive.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.keep_alive.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.keep_alive.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.keep_alive.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.keep_alive.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.linger"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.linger" title="socket_base::linger">socket_base::linger</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225066976"></a>
-Socket option to specify whether the socket lingers on
- close if unsent data is present.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_LINGER socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.linger.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.linger.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.linger.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
-<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.linger.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.linger.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.linger.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.max_connections"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.max_connections" title="socket_base::max_connections">socket_base::max_connections</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225122128"></a>
-The maximum length of the queue of pending incoming
- connections.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.message_do_not_route"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.message_do_not_route" title="socket_base::message_do_not_route">socket_base::message_do_not_route</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225129728"></a>
-Specify that the data should not be subject
- to routing.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.message_end_of_record"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.message_end_of_record" title="socket_base::message_end_of_record">socket_base::message_end_of_record</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225137328"></a>
-Specifies that the data marks the end of
- a record.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.message_flags"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.message_flags" title="socket_base::message_flags">socket_base::message_flags</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225144912"></a>
-Bitmask type for flags that can be passed to send
- and receive operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.message_flags.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.message_flags.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.message_flags.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.message_out_of_band"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.message_out_of_band" title="socket_base::message_out_of_band">socket_base::message_out_of_band</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225155440"></a>
-Process out-of-band data.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.message_peek"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.message_peek" title="socket_base::message_peek">socket_base::message_peek</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225162944"></a>
-Peek at incoming data without removing it from the
- input queue.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.non_blocking_io"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.non_blocking_io" title="socket_base::non_blocking_io">socket_base::non_blocking_io</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225170544"></a>
-(Deprecated: Use non_blocking().) IO control
- command to set the blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
-</pre>
-<p>
- Implements the FIONBIO IO control command.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.non_blocking_io.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.non_blocking_io.example"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.non_blocking_io.example">Example</a>
- </h6>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.non_blocking_io.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.non_blocking_io.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.non_blocking_io.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.receive_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_buffer_size" title="socket_base::receive_buffer_size">socket_base::receive_buffer_size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225200288"></a>
-Socket option for the receive buffer size
- of a socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.receive_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.receive_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.receive_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.receive_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.receive_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_low_watermark" title="socket_base::receive_low_watermark">socket_base::receive_low_watermark</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225250400"></a>
-Socket option for the receive low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.receive_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.receive_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.receive_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.receive_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.receive_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.reuse_address"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.reuse_address" title="socket_base::reuse_address">socket_base::reuse_address</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225300752"></a>
-Socket option to allow the socket to be bound to
- an address that is already in use.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.reuse_address.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.reuse_address.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.reuse_address.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.reuse_address.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.reuse_address.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.reuse_address.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.send_buffer_size"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.send_buffer_size" title="socket_base::send_buffer_size">socket_base::send_buffer_size</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225350592"></a>
-Socket option for the send buffer size of a
- socket.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDBUF socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.send_buffer_size.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.send_buffer_size.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.send_buffer_size.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.send_buffer_size.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.send_buffer_size.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.send_buffer_size.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.send_low_watermark"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.send_low_watermark" title="socket_base::send_low_watermark">socket_base::send_low_watermark</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225400704"></a>
-Socket option for the send low watermark.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
-</pre>
-<p>
- Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.send_low_watermark.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.send_low_watermark.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.send_low_watermark.examples">Examples</a>
- </h6>
-<p>
- Setting the option:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-</pre>
-<p>
- Getting the current option value:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="special">...</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
-<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.socket_base.send_low_watermark.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.send_low_watermark.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.send_low_watermark.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base.shutdown_type"></a><a class="link" href="reference.html#boost_asio.reference.socket_base.shutdown_type" title="socket_base::shutdown_type">socket_base::shutdown_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225450736"></a>
-Different ways a socket may be shutdown.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp225453872"></a>
- <a class="indexterm" name="idp225454880"></a>
- <a class="indexterm" name="idp225455888"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.socket_base.shutdown_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.socket_base.shutdown_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.socket_base.shutdown_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">shutdown_receive</span></dt>
-<dd><p>
- Shutdown the receive side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_send</span></dt>
-<dd><p>
- Shutdown the send side of the socket.
- </p></dd>
-<dt><span class="term">shutdown_both</span></dt>
-<dd><p>
- Shutdown both send and receive on the socket.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.socket_base._socket_base"></a><a class="link" href="reference.html#boost_asio.reference.socket_base._socket_base" title="socket_base::~socket_base">socket_base::~socket_base</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp225465952"></a>
-Protected destructor to prevent deletion through
- this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">socket_base</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.spawn"></a><a class="link" href="reference.html#boost_asio.reference.spawn" title="spawn">spawn</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.spawn.overload1">spawn (1 of 4
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.spawn.overload2">spawn (2 of 4
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.spawn.overload3">spawn (3 of 4
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.spawn.overload4">spawn (4 of 4
- overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp225471056"></a>
-Start a new stackful coroutine.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.spawn.overload1" title="spawn (1 of 4 overloads)">spawn</a><span class="special">(</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.spawn.overload1" title="spawn (1 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.spawn.overload2" title="spawn (2 of 4 overloads)">spawn</a><span class="special">(</span>
- <span class="identifier">basic_yield_context</span><span class="special">&lt;</span> <span class="identifier">Handler</span> <span class="special">&gt;</span> <span class="identifier">ctx</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.spawn.overload2" title="spawn (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.spawn.overload3" title="spawn (3 of 4 overloads)">spawn</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.spawn.overload3" title="spawn (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.spawn.overload4" title="spawn (4 of 4 overloads)">spawn</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.spawn.overload4" title="spawn (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code>
- function is a high-level wrapper over the Boost.Coroutine library. This function
- enables programs to implement asynchronous logic in a synchronous manner,
- as illustrated by the following example:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">spawn</span><span class="special">(</span><span class="identifier">my_strand</span><span class="special">,</span> <span class="identifier">do_echo</span><span class="special">);</span>
-
-<span class="comment">// ...</span>
-
-<span class="keyword">void</span> <span class="identifier">do_echo</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="keyword">char</span> <span class="identifier">data</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">length</span> <span class="special">=</span>
- <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">my_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">length</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// ...</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.spawn.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.spawn.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.spawn.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.spawn.overload1"></a><a class="link" href="reference.html#boost_asio.reference.spawn.overload1" title="spawn (1 of 4 overloads)">spawn (1 of 4
- overloads)</a>
-</h4></div></div></div>
-<p>
- Start a new stackful coroutine, calling the specified handler when it completes.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
-</pre>
-<p>
- This function is used to launch a new coroutine.
- </p>
-<h6>
-<a name="boost_asio.reference.spawn.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.spawn.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.spawn.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- A handler to be called when the coroutine exits. More importantly,
- the handler provides an execution context (via the the handler invocation
- hook) for the coroutine. The handler must have the signature:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-</dd>
-<dt><span class="term">function</span></dt>
-<dd>
-<p>
- The coroutine function. The function must have the signature:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-<dt><span class="term">attributes</span></dt>
-<dd><p>
- Boost.Coroutine attributes used to customise the coroutine.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.spawn.overload2"></a><a class="link" href="reference.html#boost_asio.reference.spawn.overload2" title="spawn (2 of 4 overloads)">spawn (2 of 4
- overloads)</a>
-</h4></div></div></div>
-<p>
- Start a new stackful coroutine, inheriting the execution context of another.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
- <span class="identifier">basic_yield_context</span><span class="special">&lt;</span> <span class="identifier">Handler</span> <span class="special">&gt;</span> <span class="identifier">ctx</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
-</pre>
-<p>
- This function is used to launch a new coroutine.
- </p>
-<h6>
-<a name="boost_asio.reference.spawn.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.spawn.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.spawn.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ctx</span></dt>
-<dd><p>
- Identifies the current coroutine as a parent of the new coroutine.
- This specifies that the new coroutine should inherit the execution
- context of the parent. For example, if the parent coroutine is executing
- in a particular strand, then the new coroutine will execute in the
- same strand.
- </p></dd>
-<dt><span class="term">function</span></dt>
-<dd>
-<p>
- The coroutine function. The function must have the signature:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-<dt><span class="term">attributes</span></dt>
-<dd><p>
- Boost.Coroutine attributes used to customise the coroutine.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.spawn.overload3"></a><a class="link" href="reference.html#boost_asio.reference.spawn.overload3" title="spawn (3 of 4 overloads)">spawn (3 of 4
- overloads)</a>
-</h4></div></div></div>
-<p>
- Start a new stackful coroutine that executes in the context of a strand.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
-</pre>
-<p>
- This function is used to launch a new coroutine.
- </p>
-<h6>
-<a name="boost_asio.reference.spawn.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.spawn.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.spawn.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">strand</span></dt>
-<dd><p>
- Identifies a strand. By starting multiple coroutines on the same
- strand, the implementation ensures that none of those coroutines
- can execute simultaneously.
- </p></dd>
-<dt><span class="term">function</span></dt>
-<dd>
-<p>
- The coroutine function. The function must have the signature:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-<dt><span class="term">attributes</span></dt>
-<dd><p>
- Boost.Coroutine attributes used to customise the coroutine.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.spawn.overload4"></a><a class="link" href="reference.html#boost_asio.reference.spawn.overload4" title="spawn (4 of 4 overloads)">spawn (4 of 4
- overloads)</a>
-</h4></div></div></div>
-<p>
- Start a new stackful coroutine that executes on a given <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
-</pre>
-<p>
- This function is used to launch a new coroutine.
- </p>
-<h6>
-<a name="boost_asio.reference.spawn.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.spawn.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.spawn.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- Identifies the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that will run
- the coroutine. The new coroutine is implicitly given its own strand
- within this <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p></dd>
-<dt><span class="term">function</span></dt>
-<dd>
-<p>
- The coroutine function. The function must have the signature:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-<dt><span class="term">attributes</span></dt>
-<dd><p>
- Boost.Coroutine attributes used to customise the coroutine.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__context"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context" title="ssl::context">ssl::context</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority">ssl::context::add_certificate_authority</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.add_verify_path">ssl::context::add_verify_path</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.clear_options">ssl::context::clear_options</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.context">ssl::context::context</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.default_workarounds">ssl::context::default_workarounds</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.file_format">ssl::context::file_format</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.impl">ssl::context::impl</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.impl_type">ssl::context::impl_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.load_verify_file">ssl::context::load_verify_file</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.method">ssl::context::method</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.native_handle">ssl::context::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.native_handle_type">ssl::context::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.no_compression">ssl::context::no_compression</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.no_sslv2">ssl::context::no_sslv2</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.no_sslv3">ssl::context::no_sslv3</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.no_tlsv1">ssl::context::no_tlsv1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_1">ssl::context::no_tlsv1_1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_2">ssl::context::no_tlsv1_2</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.operator_eq_">ssl::context::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.options">ssl::context::options</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.password_purpose">ssl::context::password_purpose</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths">ssl::context::set_default_verify_paths</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_options">ssl::context::set_options</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_password_callback">ssl::context::set_password_callback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_callback">ssl::context::set_verify_callback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_depth">ssl::context::set_verify_depth</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_mode">ssl::context::set_verify_mode</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.single_dh_use">ssl::context::single_dh_use</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate">ssl::context::use_certificate</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain">ssl::context::use_certificate_chain</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file">ssl::context::use_certificate_chain_file</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_file">ssl::context::use_certificate_file</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_private_key">ssl::context::use_private_key</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_private_key_file">ssl::context::use_private_key_file</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key">ssl::context::use_rsa_private_key</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file">ssl::context::use_rsa_private_key_file</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh">ssl::context::use_tmp_dh</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file">ssl::context::use_tmp_dh_file</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context._context">ssl::context::~context</a></span></dt>
-</dl></div>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">context</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span><span class="special">,</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__context.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.file_format" title="ssl::context::file_format"><span class="bold"><strong>file_format</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- File format types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.impl_type" title="ssl::context::impl_type"><span class="bold"><strong>impl_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native type of the SSL
- context.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.method" title="ssl::context::method"><span class="bold"><strong>method</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different methods supported by a context.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.native_handle_type" title="ssl::context::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type of the SSL context.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.options" title="ssl::context::options"><span class="bold"><strong>options</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for SSL options.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.password_purpose" title="ssl::context::password_purpose"><span class="bold"><strong>password_purpose</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Purpose of PEM password.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__context.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority" title="ssl::context::add_certificate_authority"><span class="bold"><strong>add_certificate_authority</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add certification authority for performing verification.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path" title="ssl::context::add_verify_path"><span class="bold"><strong>add_verify_path</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add a directory containing certificate authority files to be used
- for performing verification.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options" title="ssl::context::clear_options"><span class="bold"><strong>clear_options</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Clear options on the context.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.context" title="ssl::context::context"><span class="bold"><strong>context</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Deprecated constructor taking a reference to an io_service object.
- </p>
- <p>
- Move-construct a context from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.impl" title="ssl::context::impl"><span class="bold"><strong>impl</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the underlying implementation
- in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file" title="ssl::context::load_verify_file"><span class="bold"><strong>load_verify_file</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Load a certification authority file for performing verification.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.native_handle" title="ssl::context::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.operator_eq_" title="ssl::context::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a context from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths" title="ssl::context::set_default_verify_paths"><span class="bold"><strong>set_default_verify_paths</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Configures the context to use the default directories for finding
- certification authority certificates.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options" title="ssl::context::set_options"><span class="bold"><strong>set_options</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set options on the context.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback" title="ssl::context::set_password_callback"><span class="bold"><strong>set_password_callback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the password callback.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback" title="ssl::context::set_verify_callback"><span class="bold"><strong>set_verify_callback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the callback used to verify peer certificates.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth" title="ssl::context::set_verify_depth"><span class="bold"><strong>set_verify_depth</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the peer verification depth.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode" title="ssl::context::set_verify_mode"><span class="bold"><strong>set_verify_mode</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the peer verification mode.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate" title="ssl::context::use_certificate"><span class="bold"><strong>use_certificate</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use a certificate from a memory buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain" title="ssl::context::use_certificate_chain"><span class="bold"><strong>use_certificate_chain</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use a certificate chain from a memory buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file" title="ssl::context::use_certificate_chain_file"><span class="bold"><strong>use_certificate_chain_file</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use a certificate chain from a file.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file" title="ssl::context::use_certificate_file"><span class="bold"><strong>use_certificate_file</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use a certificate from a file.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key" title="ssl::context::use_private_key"><span class="bold"><strong>use_private_key</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use a private key from a memory buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file" title="ssl::context::use_private_key_file"><span class="bold"><strong>use_private_key_file</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use a private key from a file.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key" title="ssl::context::use_rsa_private_key"><span class="bold"><strong>use_rsa_private_key</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use an RSA private key from a memory buffer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file" title="ssl::context::use_rsa_private_key_file"><span class="bold"><strong>use_rsa_private_key_file</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use an RSA private key from a file.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh" title="ssl::context::use_tmp_dh"><span class="bold"><strong>use_tmp_dh</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use the specified memory buffer to obtain the temporary Diffie-Hellman
- parameters.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file" title="ssl::context::use_tmp_dh_file"><span class="bold"><strong>use_tmp_dh_file</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Use the specified file to obtain the temporary Diffie-Hellman parameters.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context._context" title="ssl::context::~context"><span class="bold"><strong>~context</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__context.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.default_workarounds" title="ssl::context::default_workarounds"><span class="bold"><strong>default_workarounds</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Implement various bug workarounds.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.no_compression" title="ssl::context::no_compression"><span class="bold"><strong>no_compression</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable compression. Compression is disabled by default.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.no_sslv2" title="ssl::context::no_sslv2"><span class="bold"><strong>no_sslv2</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable SSL v2.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.no_sslv3" title="ssl::context::no_sslv3"><span class="bold"><strong>no_sslv3</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable SSL v3.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1" title="ssl::context::no_tlsv1"><span class="bold"><strong>no_tlsv1</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable TLS v1.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_1" title="ssl::context::no_tlsv1_1"><span class="bold"><strong>no_tlsv1_1</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable TLS v1.1.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_2" title="ssl::context::no_tlsv1_2"><span class="bold"><strong>no_tlsv1_2</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable TLS v1.2.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context.single_dh_use" title="ssl::context::single_dh_use"><span class="bold"><strong>single_dh_use</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Always create a new key when using tmp_dh parameters.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__context.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.add_certificate_authority"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority" title="ssl::context::add_certificate_authority">ssl::context::add_certificate_authority</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1">ssl::context::add_certificate_authority
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2">ssl::context::add_certificate_authority
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp225896384"></a>
-Add certification authority for performing
- verification.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1" title="ssl::context::add_certificate_authority (1 of 2 overloads)">add_certificate_authority</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1" title="ssl::context::add_certificate_authority (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2" title="ssl::context::add_certificate_authority (2 of 2 overloads)">add_certificate_authority</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2" title="ssl::context::add_certificate_authority (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1" title="ssl::context::add_certificate_authority (1 of 2 overloads)">ssl::context::add_certificate_authority
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Add certification authority for performing verification.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add_certificate_authority</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to add one trusted certification authority from
- a memory buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ca</span></dt>
-<dd><p>
- The buffer containing the certification authority certificate.
- The certificate must use the PEM format.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_get_cert_store</span></code>
- and <code class="computeroutput"><span class="identifier">X509_STORE_add_cert</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2" title="ssl::context::add_certificate_authority (2 of 2 overloads)">ssl::context::add_certificate_authority
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Add certification authority for performing verification.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add_certificate_authority</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to add one trusted certification authority from
- a memory buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ca</span></dt>
-<dd><p>
- The buffer containing the certification authority certificate.
- The certificate must use the PEM format.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_get_cert_store</span></code>
- and <code class="computeroutput"><span class="identifier">X509_STORE_add_cert</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.add_verify_path"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path" title="ssl::context::add_verify_path">ssl::context::add_verify_path</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1">ssl::context::add_verify_path
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload2">ssl::context::add_verify_path
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp225969808"></a>
-Add a directory containing certificate authority
- files to be used for performing verification.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1" title="ssl::context::add_verify_path (1 of 2 overloads)">add_verify_path</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1" title="ssl::context::add_verify_path (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload2" title="ssl::context::add_verify_path (2 of 2 overloads)">add_verify_path</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload2" title="ssl::context::add_verify_path (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1" title="ssl::context::add_verify_path (1 of 2 overloads)">ssl::context::add_verify_path
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Add a directory containing certificate authority files to be used for
- performing verification.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add_verify_path</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify the name of a directory containing certification
- authority certificates. Each file in the directory must contain a single
- certificate. The files must be named using the subject name's hash and
- an extension of ".0".
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">path</span></dt>
-<dd><p>
- The name of a directory containing the certificates.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload2" title="ssl::context::add_verify_path (2 of 2 overloads)">ssl::context::add_verify_path
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Add a directory containing certificate authority files to be used for
- performing verification.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add_verify_path</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify the name of a directory containing certification
- authority certificates. Each file in the directory must contain a single
- certificate. The files must be named using the subject name's hash and
- an extension of ".0".
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">path</span></dt>
-<dd><p>
- The name of a directory containing the certificates.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.add_verify_path.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.add_verify_path.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.clear_options"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options" title="ssl::context::clear_options">ssl::context::clear_options</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1">ssl::context::clear_options
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.clear_options.overload2">ssl::context::clear_options
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226048736"></a>
-Clear options on the context.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1" title="ssl::context::clear_options (1 of 2 overloads)">clear_options</a><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1" title="ssl::context::clear_options (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload2" title="ssl::context::clear_options (2 of 2 overloads)">clear_options</a><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload2" title="ssl::context::clear_options (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.clear_options.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1" title="ssl::context::clear_options (1 of 2 overloads)">ssl::context::clear_options
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Clear options on the context.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">clear_options</span><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the SSL options used by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.clear_options.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">o</span></dt>
-<dd><p>
- A bitmask of options. The available option values are defined in
- the <a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
- specified options, if currently enabled on the context, are cleared.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.clear_options.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.clear_options.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_clear_options</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.clear_options.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload2" title="ssl::context::clear_options (2 of 2 overloads)">ssl::context::clear_options
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Clear options on the context.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">clear_options</span><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the SSL options used by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.clear_options.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">o</span></dt>
-<dd><p>
- A bitmask of options. The available option values are defined in
- the <a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
- specified options, if currently enabled on the context, are cleared.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.clear_options.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.clear_options.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_clear_options</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.context"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.context" title="ssl::context::context">ssl::context::context</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.context.overload1">ssl::context::context
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.context.overload2">ssl::context::context
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.context.overload3">ssl::context::context
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226123008"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload1" title="ssl::context::context (1 of 3 overloads)">context</a><span class="special">(</span>
- <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload1" title="ssl::context::context (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Deprecated constructor taking a reference to an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload2" title="ssl::context::context (2 of 3 overloads)">context</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="special">,</span>
- <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload2" title="ssl::context::context (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a context from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload3" title="ssl::context::context (3 of 3 overloads)">context</a><span class="special">(</span>
- <span class="identifier">context</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload3" title="ssl::context::context (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.context.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload1" title="ssl::context::context (1 of 3 overloads)">ssl::context::context
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span>
- <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.context.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload2" title="ssl::context::context (2 of 3 overloads)">ssl::context::context
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Deprecated constructor taking a reference to an <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
- </p>
-<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="special">,</span>
- <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.context.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload3" title="ssl::context::context (3 of 3 overloads)">ssl::context::context
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a context from another.
- </p>
-<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span>
- <span class="identifier">context</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves an SSL context from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.context.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.context.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other context object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.context.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.context.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.context.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the following operations only are valid for the moved-from
- object: * Destruction.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- As a target for move-assignment.
- </li></ul></div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.default_workarounds"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.default_workarounds" title="ssl::context::default_workarounds">ssl::context::default_workarounds</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226184352"></a>
-Implement various bug workarounds.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">default_workarounds</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.file_format"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.file_format" title="ssl::context::file_format">ssl::context::file_format</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226192880"></a>
-File format types.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">file_format</span>
-</pre>
-<p>
- <a class="indexterm" name="idp226196320"></a>
- <a class="indexterm" name="idp226197424"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.file_format.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.file_format.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.file_format.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">asn1</span></dt>
-<dd><p>
- ASN.1 file.
- </p></dd>
-<dt><span class="term">pem</span></dt>
-<dd><p>
- PEM file.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.impl"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.impl" title="ssl::context::impl">ssl::context::impl</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226207264"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the underlying implementation in
- the native type.
- </p>
-<pre class="programlisting"><span class="identifier">impl_type</span> <span class="identifier">impl</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying implementation of the
- context. This is intended to allow access to context functionality that
- is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.impl_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.impl_type" title="ssl::context::impl_type">ssl::context::impl_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226215360"></a>
-(Deprecated: Use native_handle_type.) The native type
- of the SSL context.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SSL_CTX</span> <span class="special">*</span> <span class="identifier">impl_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__context.impl_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.impl_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.impl_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.load_verify_file"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file" title="ssl::context::load_verify_file">ssl::context::load_verify_file</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1">ssl::context::load_verify_file
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload2">ssl::context::load_verify_file
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226228176"></a>
-Load a certification authority file for performing
- verification.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1" title="ssl::context::load_verify_file (1 of 2 overloads)">load_verify_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1" title="ssl::context::load_verify_file (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload2" title="ssl::context::load_verify_file (2 of 2 overloads)">load_verify_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload2" title="ssl::context::load_verify_file (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1" title="ssl::context::load_verify_file (1 of 2 overloads)">ssl::context::load_verify_file
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Load a certification authority file for performing verification.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">load_verify_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load one or more trusted certification authorities
- from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of a file containing certification authority certificates
- in PEM format.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload2" title="ssl::context::load_verify_file (2 of 2 overloads)">ssl::context::load_verify_file
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Load a certification authority file for performing verification.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load_verify_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load the certificates for one or more trusted
- certification authorities from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of a file containing certification authority certificates
- in PEM format.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.load_verify_file.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.load_verify_file.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.method"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.method" title="ssl::context::method">ssl::context::method</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226306944"></a>
-Different methods supported by a context.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">method</span>
-</pre>
-<p>
- <a class="indexterm" name="idp226310336"></a>
- <a class="indexterm" name="idp226311440"></a>
- <a class="indexterm" name="idp226312544"></a>
- <a class="indexterm" name="idp226313648"></a>
- <a class="indexterm" name="idp226314752"></a>
- <a class="indexterm" name="idp226315856"></a>
- <a class="indexterm" name="idp226316960"></a>
- <a class="indexterm" name="idp226318064"></a>
- <a class="indexterm" name="idp226319168"></a>
- <a class="indexterm" name="idp226320272"></a>
- <a class="indexterm" name="idp226321376"></a>
- <a class="indexterm" name="idp226322480"></a>
- <a class="indexterm" name="idp226323584"></a>
- <a class="indexterm" name="idp226324688"></a>
- <a class="indexterm" name="idp226325792"></a>
- <a class="indexterm" name="idp226326896"></a>
- <a class="indexterm" name="idp226328000"></a>
- <a class="indexterm" name="idp226329104"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.method.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.method.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.method.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">sslv2</span></dt>
-<dd><p>
- Generic SSL version 2.
- </p></dd>
-<dt><span class="term">sslv2_client</span></dt>
-<dd><p>
- SSL version 2 client.
- </p></dd>
-<dt><span class="term">sslv2_server</span></dt>
-<dd><p>
- SSL version 2 server.
- </p></dd>
-<dt><span class="term">sslv3</span></dt>
-<dd><p>
- Generic SSL version 3.
- </p></dd>
-<dt><span class="term">sslv3_client</span></dt>
-<dd><p>
- SSL version 3 client.
- </p></dd>
-<dt><span class="term">sslv3_server</span></dt>
-<dd><p>
- SSL version 3 server.
- </p></dd>
-<dt><span class="term">tlsv1</span></dt>
-<dd><p>
- Generic TLS version 1.
- </p></dd>
-<dt><span class="term">tlsv1_client</span></dt>
-<dd><p>
- TLS version 1 client.
- </p></dd>
-<dt><span class="term">tlsv1_server</span></dt>
-<dd><p>
- TLS version 1 server.
- </p></dd>
-<dt><span class="term">sslv23</span></dt>
-<dd><p>
- Generic SSL/TLS.
- </p></dd>
-<dt><span class="term">sslv23_client</span></dt>
-<dd><p>
- SSL/TLS client.
- </p></dd>
-<dt><span class="term">sslv23_server</span></dt>
-<dd><p>
- SSL/TLS server.
- </p></dd>
-<dt><span class="term">tlsv11</span></dt>
-<dd><p>
- Generic TLS version 1.1.
- </p></dd>
-<dt><span class="term">tlsv11_client</span></dt>
-<dd><p>
- TLS version 1.1 client.
- </p></dd>
-<dt><span class="term">tlsv11_server</span></dt>
-<dd><p>
- TLS version 1.1 server.
- </p></dd>
-<dt><span class="term">tlsv12</span></dt>
-<dd><p>
- Generic TLS version 1.2.
- </p></dd>
-<dt><span class="term">tlsv12_client</span></dt>
-<dd><p>
- TLS version 1.2 client.
- </p></dd>
-<dt><span class="term">tlsv12_server</span></dt>
-<dd><p>
- TLS version 1.2 server.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.native_handle" title="ssl::context::native_handle">ssl::context::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226365264"></a>
-Get the underlying implementation in the native
- type.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying implementation of the
- context. This is intended to allow access to context functionality that
- is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.native_handle_type" title="ssl::context::native_handle_type">ssl::context::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226371776"></a>
-The native handle type of the SSL context.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SSL_CTX</span> <span class="special">*</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__context.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.no_compression"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.no_compression" title="ssl::context::no_compression">ssl::context::no_compression</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226384736"></a>
-Disable compression. Compression is disabled
- by default.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_compression</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.no_sslv2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.no_sslv2" title="ssl::context::no_sslv2">ssl::context::no_sslv2</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226393280"></a>
-Disable SSL v2.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.no_sslv3"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.no_sslv3" title="ssl::context::no_sslv3">ssl::context::no_sslv3</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226401840"></a>
-Disable SSL v3.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv3</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.no_tlsv1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1" title="ssl::context::no_tlsv1">ssl::context::no_tlsv1</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226410400"></a>
-Disable TLS v1.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.no_tlsv1_1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_1" title="ssl::context::no_tlsv1_1">ssl::context::no_tlsv1_1</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226418976"></a>
-Disable TLS v1.1.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.no_tlsv1_2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.no_tlsv1_2" title="ssl::context::no_tlsv1_2">ssl::context::no_tlsv1_2</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226427488"></a>
-Disable TLS v1.2.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.operator_eq_" title="ssl::context::operator=">ssl::context::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226435984"></a>
-Move-assign a context from another.
- </p>
-<pre class="programlisting"><span class="identifier">context</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">context</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves an SSL context from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other context object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the following operations only are valid for the moved-from
- object: * Destruction.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- As a target for move-assignment.
- </li></ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.options"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.options" title="ssl::context::options">ssl::context::options</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226455152"></a>
-Bitmask type for SSL options.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="identifier">options</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__context.options.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.options.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.options.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.password_purpose"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.password_purpose" title="ssl::context::password_purpose">ssl::context::password_purpose</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226467184"></a>
-Purpose of PEM password.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">password_purpose</span>
-</pre>
-<p>
- <a class="indexterm" name="idp226470624"></a>
- <a class="indexterm" name="idp226471664"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.password_purpose.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.password_purpose.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.password_purpose.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">for_reading</span></dt>
-<dd><p>
- The password is needed for reading/decryption.
- </p></dd>
-<dt><span class="term">for_writing</span></dt>
-<dd><p>
- The password is needed for writing/encryption.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths" title="ssl::context::set_default_verify_paths">ssl::context::set_default_verify_paths</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1">ssl::context::set_default_verify_paths
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2">ssl::context::set_default_verify_paths
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226481888"></a>
-Configures the context to use the default
- directories for finding certification authority certificates.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">set_default_verify_paths</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">set_default_verify_paths</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">ssl::context::set_default_verify_paths
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Configures the context to use the default directories for finding certification
- authority certificates.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_default_verify_paths</span><span class="special">();</span>
-</pre>
-<p>
- This function specifies that the context should use the default, system-dependent
- directories for locating certification authority certificates.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_verify_paths</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">ssl::context::set_default_verify_paths
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Configures the context to use the default directories for finding certification
- authority certificates.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_default_verify_paths</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function specifies that the context should use the default, system-dependent
- directories for locating certification authority certificates.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_verify_paths</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.set_options"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options" title="ssl::context::set_options">ssl::context::set_options</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_options.overload1">ssl::context::set_options
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_options.overload2">ssl::context::set_options
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226537200"></a>
-Set options on the context.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload1" title="ssl::context::set_options (1 of 2 overloads)">set_options</a><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload1" title="ssl::context::set_options (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload2" title="ssl::context::set_options (2 of 2 overloads)">set_options</a><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload2" title="ssl::context::set_options (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_options.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload1" title="ssl::context::set_options (1 of 2 overloads)">ssl::context::set_options
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set options on the context.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_options</span><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the SSL options used by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_options.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">o</span></dt>
-<dd><p>
- A bitmask of options. The available option values are defined in
- the <a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
- options are bitwise-ored with any existing value for the options.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_options.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_options.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_options</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_options.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload2" title="ssl::context::set_options (2 of 2 overloads)">ssl::context::set_options
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set options on the context.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_options</span><span class="special">(</span>
- <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the SSL options used by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_options.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">o</span></dt>
-<dd><p>
- A bitmask of options. The available option values are defined in
- the <a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
- options are bitwise-ored with any existing value for the options.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_options.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_options.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_options</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.set_password_callback"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback" title="ssl::context::set_password_callback">ssl::context::set_password_callback</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1">ssl::context::set_password_callback
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload2">ssl::context::set_password_callback
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226611136"></a>
-Set the password callback.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1" title="ssl::context::set_password_callback (1 of 2 overloads)">set_password_callback</a><span class="special">(</span>
- <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1" title="ssl::context::set_password_callback (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload2" title="ssl::context::set_password_callback (2 of 2 overloads)">set_password_callback</a><span class="special">(</span>
- <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload2" title="ssl::context::set_password_callback (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1" title="ssl::context::set_password_callback (1 of 2 overloads)">ssl::context::set_password_callback
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the password callback.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_password_callback</span><span class="special">(</span>
- <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify a callback function to obtain password
- information about an encrypted key in PEM format.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">callback</span></dt>
-<dd>
-<p>
- The function object to be used for obtaining the password. The
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">password_callback</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_length</span><span class="special">,</span> <span class="comment">// The maximum size for a password.</span>
- <span class="identifier">password_purpose</span> <span class="identifier">purpose</span> <span class="comment">// Whether password is for reading or writing.</span>
-<span class="special">);</span>
-</pre>
-<p>
- The return value of the callback is a string containing the password.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_passwd_cb</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload2" title="ssl::context::set_password_callback (2 of 2 overloads)">ssl::context::set_password_callback
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the password callback.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_password_callback</span><span class="special">(</span>
- <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify a callback function to obtain password
- information about an encrypted key in PEM format.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">callback</span></dt>
-<dd>
-<p>
- The function object to be used for obtaining the password. The
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">password_callback</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_length</span><span class="special">,</span> <span class="comment">// The maximum size for a password.</span>
- <span class="identifier">password_purpose</span> <span class="identifier">purpose</span> <span class="comment">// Whether password is for reading or writing.</span>
-<span class="special">);</span>
-</pre>
-<p>
- The return value of the callback is a string containing the password.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_password_callback.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_password_callback.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_passwd_cb</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_callback"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback" title="ssl::context::set_verify_callback">ssl::context::set_verify_callback</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1">ssl::context::set_verify_callback
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload2">ssl::context::set_verify_callback
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226713456"></a>
-Set the callback used to verify peer certificates.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1" title="ssl::context::set_verify_callback (1 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1" title="ssl::context::set_verify_callback (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload2" title="ssl::context::set_verify_callback (2 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload2" title="ssl::context::set_verify_callback (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1" title="ssl::context::set_verify_callback (1 of 2 overloads)">ssl::context::set_verify_callback
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the callback used to verify peer certificates.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify a callback function that will be called
- by the implementation when it needs to verify a peer certificate.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">callback</span></dt>
-<dd>
-<p>
- The function object to be used for verifying a certificate. The
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
- <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
-<span class="special">);</span>
-</pre>
-<p>
- The return value of the callback is true if the certificate has
- passed verification, false otherwise.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload2" title="ssl::context::set_verify_callback (2 of 2 overloads)">ssl::context::set_verify_callback
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the callback used to verify peer certificates.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify a callback function that will be called
- by the implementation when it needs to verify a peer certificate.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">callback</span></dt>
-<dd>
-<p>
- The function object to be used for verifying a certificate. The
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
- <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
-<span class="special">);</span>
-</pre>
-<p>
- The return value of the callback is true if the certificate has
- passed verification, false otherwise.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_callback.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_depth"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth" title="ssl::context::set_verify_depth">ssl::context::set_verify_depth</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1">ssl::context::set_verify_depth
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload2">ssl::context::set_verify_depth
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226812336"></a>
-Set the peer verification depth.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1" title="ssl::context::set_verify_depth (1 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1" title="ssl::context::set_verify_depth (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload2" title="ssl::context::set_verify_depth (2 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload2" title="ssl::context::set_verify_depth (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1" title="ssl::context::set_verify_depth (1 of 2 overloads)">ssl::context::set_verify_depth
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification depth.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the maximum verification depth
- allowed by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">depth</span></dt>
-<dd><p>
- Maximum depth for the certificate chain verification that shall
- be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify_depth</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload2" title="ssl::context::set_verify_depth (2 of 2 overloads)">ssl::context::set_verify_depth
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification depth.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the maximum verification depth
- allowed by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">depth</span></dt>
-<dd><p>
- Maximum depth for the certificate chain verification that shall
- be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_depth.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify_depth</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_mode"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode" title="ssl::context::set_verify_mode">ssl::context::set_verify_mode</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1">ssl::context::set_verify_mode
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload2">ssl::context::set_verify_mode
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226881008"></a>
-Set the peer verification mode.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1" title="ssl::context::set_verify_mode (1 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1" title="ssl::context::set_verify_mode (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload2" title="ssl::context::set_verify_mode (2 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload2" title="ssl::context::set_verify_mode (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1" title="ssl::context::set_verify_mode (1 of 2 overloads)">ssl::context::set_verify_mode
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification mode.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the peer verification mode used
- by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">v</span></dt>
-<dd><p>
- A bitmask of peer verification modes. See <a class="link" href="reference.html#boost_asio.reference.ssl__verify_mode" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
- values.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload2" title="ssl::context::set_verify_mode (2 of 2 overloads)">ssl::context::set_verify_mode
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification mode.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the peer verification mode used
- by the context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">v</span></dt>
-<dd><p>
- A bitmask of peer verification modes. See <a class="link" href="reference.html#boost_asio.reference.ssl__verify_mode" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
- values.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.set_verify_mode.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.single_dh_use"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.single_dh_use" title="ssl::context::single_dh_use">ssl::context::single_dh_use</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp226955136"></a>
-Always create a new key when using tmp_dh parameters.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">single_dh_use</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate" title="ssl::context::use_certificate">ssl::context::use_certificate</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1">ssl::context::use_certificate
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload2">ssl::context::use_certificate
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp226963664"></a>
-Use a certificate from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1" title="ssl::context::use_certificate (1 of 2 overloads)">use_certificate</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1" title="ssl::context::use_certificate (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload2" title="ssl::context::use_certificate (2 of 2 overloads)">use_certificate</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload2" title="ssl::context::use_certificate (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1" title="ssl::context::use_certificate (1 of 2 overloads)">ssl::context::use_certificate
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate into the context from a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">certificate</span></dt>
-<dd><p>
- The buffer containing the certificate.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The certificate format (ASN.1 or PEM).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
- or SSL_CTX_use_certificate_ASN1.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload2" title="ssl::context::use_certificate (2 of 2 overloads)">ssl::context::use_certificate
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate from a memory buffer.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate into the context from a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">certificate</span></dt>
-<dd><p>
- The buffer containing the certificate.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The certificate format (ASN.1 or PEM).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
- or SSL_CTX_use_certificate_ASN1.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_chain"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain" title="ssl::context::use_certificate_chain">ssl::context::use_certificate_chain</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1">ssl::context::use_certificate_chain
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2">ssl::context::use_certificate_chain
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227049104"></a>
-Use a certificate chain from a memory
- buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1" title="ssl::context::use_certificate_chain (1 of 2 overloads)">use_certificate_chain</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1" title="ssl::context::use_certificate_chain (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2" title="ssl::context::use_certificate_chain (2 of 2 overloads)">use_certificate_chain</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2" title="ssl::context::use_certificate_chain (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1" title="ssl::context::use_certificate_chain (1 of 2 overloads)">ssl::context::use_certificate_chain
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate chain from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate_chain</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate chain into the context from
- a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">chain</span></dt>
-<dd><p>
- The buffer containing the certificate chain. The certificate chain
- must use the PEM format.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
- and SSL_CTX_add_extra_chain_cert.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2" title="ssl::context::use_certificate_chain (2 of 2 overloads)">ssl::context::use_certificate_chain
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate chain from a memory buffer.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate_chain</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate chain into the context from
- a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">chain</span></dt>
-<dd><p>
- The buffer containing the certificate chain. The certificate chain
- must use the PEM format.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
- and SSL_CTX_add_extra_chain_cert.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file" title="ssl::context::use_certificate_chain_file">ssl::context::use_certificate_chain_file</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1">ssl::context::use_certificate_chain_file
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2">ssl::context::use_certificate_chain_file
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227124192"></a>
-Use a certificate chain from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">use_certificate_chain_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">use_certificate_chain_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">ssl::context::use_certificate_chain_file
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate chain from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate_chain_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate chain into the context from
- a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the certificate. The file must
- use the PEM format.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_chain_file</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">ssl::context::use_certificate_chain_file
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate chain from a file.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate_chain_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate chain into the context from
- a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the certificate. The file must
- use the PEM format.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_chain_file</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_file"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file" title="ssl::context::use_certificate_file">ssl::context::use_certificate_file</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1">ssl::context::use_certificate_file
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload2">ssl::context::use_certificate_file
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227203248"></a>
-Use a certificate from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1" title="ssl::context::use_certificate_file (1 of 2 overloads)">use_certificate_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1" title="ssl::context::use_certificate_file (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload2" title="ssl::context::use_certificate_file (2 of 2 overloads)">use_certificate_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload2" title="ssl::context::use_certificate_file (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1" title="ssl::context::use_certificate_file (1 of 2 overloads)">ssl::context::use_certificate_file
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate into the context from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the certificate.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The file format (ASN.1 or PEM).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_file</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload2" title="ssl::context::use_certificate_file (2 of 2 overloads)">ssl::context::use_certificate_file
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a certificate from a file.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a certificate into the context from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the certificate.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The file format (ASN.1 or PEM).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_certificate_file.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_file</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_private_key"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key" title="ssl::context::use_private_key">ssl::context::use_private_key</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1">ssl::context::use_private_key
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload2">ssl::context::use_private_key
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227293056"></a>
-Use a private key from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1" title="ssl::context::use_private_key (1 of 2 overloads)">use_private_key</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1" title="ssl::context::use_private_key (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload2" title="ssl::context::use_private_key (2 of 2 overloads)">use_private_key</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload2" title="ssl::context::use_private_key (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_private_key.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1" title="ssl::context::use_private_key (1 of 2 overloads)">ssl::context::use_private_key
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a private key from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_private_key</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a private key into the context from a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">private_key</span></dt>
-<dd><p>
- The buffer containing the private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The private key format (ASN.1 or PEM).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey</span></code>
- or SSL_CTX_use_PrivateKey_ASN1.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_private_key.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload2" title="ssl::context::use_private_key (2 of 2 overloads)">ssl::context::use_private_key
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a private key from a memory buffer.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_private_key</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a private key into the context from a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">private_key</span></dt>
-<dd><p>
- The buffer containing the private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The private key format (ASN.1 or PEM).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey</span></code>
- or SSL_CTX_use_PrivateKey_ASN1.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_private_key_file"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file" title="ssl::context::use_private_key_file">ssl::context::use_private_key_file</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1">ssl::context::use_private_key_file
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload2">ssl::context::use_private_key_file
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227378272"></a>
-Use a private key from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1" title="ssl::context::use_private_key_file (1 of 2 overloads)">use_private_key_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1" title="ssl::context::use_private_key_file (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload2" title="ssl::context::use_private_key_file (2 of 2 overloads)">use_private_key_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload2" title="ssl::context::use_private_key_file (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1" title="ssl::context::use_private_key_file (1 of 2 overloads)">ssl::context::use_private_key_file
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a private key from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_private_key_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a private key into the context from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The file format (ASN.1 or PEM).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey_file</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload2" title="ssl::context::use_private_key_file (2 of 2 overloads)">ssl::context::use_private_key_file
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use a private key from a file.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_private_key_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load a private key into the context from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The file format (ASN.1 or PEM).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_private_key_file.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey_file</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key" title="ssl::context::use_rsa_private_key">ssl::context::use_rsa_private_key</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1">ssl::context::use_rsa_private_key
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2">ssl::context::use_rsa_private_key
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227468144"></a>
-Use an RSA private key from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">use_rsa_private_key</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">use_rsa_private_key</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">ssl::context::use_rsa_private_key
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use an RSA private key from a memory buffer.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_rsa_private_key</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load an RSA private key into the context from
- a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">private_key</span></dt>
-<dd><p>
- The buffer containing the RSA private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The private key format (ASN.1 or PEM).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey</span></code>
- or SSL_CTX_use_RSAPrivateKey_ASN1.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">ssl::context::use_rsa_private_key
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use an RSA private key from a memory buffer.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_rsa_private_key</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load an RSA private key into the context from
- a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">private_key</span></dt>
-<dd><p>
- The buffer containing the RSA private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The private key format (ASN.1 or PEM).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey</span></code>
- or SSL_CTX_use_RSAPrivateKey_ASN1.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file" title="ssl::context::use_rsa_private_key_file">ssl::context::use_rsa_private_key_file</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1">ssl::context::use_rsa_private_key_file
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2">ssl::context::use_rsa_private_key_file
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227553520"></a>
-Use an RSA private key from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">use_rsa_private_key_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">use_rsa_private_key_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">ssl::context::use_rsa_private_key_file
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use an RSA private key from a file.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_rsa_private_key_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load an RSA private key into the context from
- a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the RSA private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The file format (ASN.1 or PEM).
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey_file</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">ssl::context::use_rsa_private_key_file
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use an RSA private key from a file.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_rsa_private_key_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load an RSA private key into the context from
- a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the RSA private key.
- </p></dd>
-<dt><span class="term">format</span></dt>
-<dd><p>
- The file format (ASN.1 or PEM).
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey_file</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_tmp_dh"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh" title="ssl::context::use_tmp_dh">ssl::context::use_tmp_dh</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1">ssl::context::use_tmp_dh
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2">ssl::context::use_tmp_dh
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227643616"></a>
-Use the specified memory buffer to obtain the temporary
- Diffie-Hellman parameters.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1" title="ssl::context::use_tmp_dh (1 of 2 overloads)">use_tmp_dh</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1" title="ssl::context::use_tmp_dh (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2" title="ssl::context::use_tmp_dh (2 of 2 overloads)">use_tmp_dh</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2" title="ssl::context::use_tmp_dh (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1" title="ssl::context::use_tmp_dh (1 of 2 overloads)">ssl::context::use_tmp_dh
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use the specified memory buffer to obtain the temporary Diffie-Hellman
- parameters.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_tmp_dh</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load Diffie-Hellman parameters into the context
- from a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">dh</span></dt>
-<dd><p>
- The memory buffer containing the Diffie-Hellman parameters. The
- buffer must use the PEM format.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2" title="ssl::context::use_tmp_dh (2 of 2 overloads)">ssl::context::use_tmp_dh
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use the specified memory buffer to obtain the temporary Diffie-Hellman
- parameters.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_tmp_dh</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load Diffie-Hellman parameters into the context
- from a buffer.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">dh</span></dt>
-<dd><p>
- The memory buffer containing the Diffie-Hellman parameters. The
- buffer must use the PEM format.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file" title="ssl::context::use_tmp_dh_file">ssl::context::use_tmp_dh_file</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1">ssl::context::use_tmp_dh_file
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2">ssl::context::use_tmp_dh_file
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp227717648"></a>
-Use the specified file to obtain the temporary
- Diffie-Hellman parameters.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">use_tmp_dh_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">use_tmp_dh_file</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">ssl::context::use_tmp_dh_file
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use the specified file to obtain the temporary Diffie-Hellman parameters.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_tmp_dh_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load Diffie-Hellman parameters into the context
- from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the Diffie-Hellman parameters.
- The file must use the PEM format.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">ssl::context::use_tmp_dh_file
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Use the specified file to obtain the temporary Diffie-Hellman parameters.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_tmp_dh_file</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to load Diffie-Hellman parameters into the context
- from a file.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">filename</span></dt>
-<dd><p>
- The name of the file containing the Diffie-Hellman parameters.
- The file must use the PEM format.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context._context"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context._context" title="ssl::context::~context">ssl::context::~context</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227796416"></a>
-Destructor.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">context</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__context_base"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base">ssl::context_base</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.default_workarounds">ssl::context_base::default_workarounds</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.file_format">ssl::context_base::file_format</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.method">ssl::context_base::method</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.no_compression">ssl::context_base::no_compression</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.no_sslv2">ssl::context_base::no_sslv2</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.no_sslv3">ssl::context_base::no_sslv3</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1">ssl::context_base::no_tlsv1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_1">ssl::context_base::no_tlsv1_1</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_2">ssl::context_base::no_tlsv1_2</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.options">ssl::context_base::options</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.password_purpose">ssl::context_base::password_purpose</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base.single_dh_use">ssl::context_base::single_dh_use</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__context_base._context_base">ssl::context_base::~context_base</a></span></dt>
-</dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ssl__context_base" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a>
- class is used as a base for the basic_context class template so that we have
- a common place to define various enums.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">context_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__context_base.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.file_format" title="ssl::context_base::file_format"><span class="bold"><strong>file_format</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- File format types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.method" title="ssl::context_base::method"><span class="bold"><strong>method</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different methods supported by a context.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.options" title="ssl::context_base::options"><span class="bold"><strong>options</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bitmask type for SSL options.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.password_purpose" title="ssl::context_base::password_purpose"><span class="bold"><strong>password_purpose</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Purpose of PEM password.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__context_base.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base._context_base" title="ssl::context_base::~context_base"><span class="bold"><strong>~context_base</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__context_base.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.default_workarounds" title="ssl::context_base::default_workarounds"><span class="bold"><strong>default_workarounds</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Implement various bug workarounds.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_compression" title="ssl::context_base::no_compression"><span class="bold"><strong>no_compression</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable compression. Compression is disabled by default.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_sslv2" title="ssl::context_base::no_sslv2"><span class="bold"><strong>no_sslv2</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable SSL v2.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_sslv3" title="ssl::context_base::no_sslv3"><span class="bold"><strong>no_sslv3</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable SSL v3.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1" title="ssl::context_base::no_tlsv1"><span class="bold"><strong>no_tlsv1</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable TLS v1.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_1" title="ssl::context_base::no_tlsv1_1"><span class="bold"><strong>no_tlsv1_1</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable TLS v1.1.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_2" title="ssl::context_base::no_tlsv1_2"><span class="bold"><strong>no_tlsv1_2</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable TLS v1.2.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__context_base.single_dh_use" title="ssl::context_base::single_dh_use"><span class="bold"><strong>single_dh_use</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Always create a new key when using tmp_dh parameters.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__context_base.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.default_workarounds"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.default_workarounds" title="ssl::context_base::default_workarounds">ssl::context_base::default_workarounds</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227879024"></a>
-Implement various bug workarounds.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">default_workarounds</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.file_format"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.file_format" title="ssl::context_base::file_format">ssl::context_base::file_format</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227887680"></a>
-File format types.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">file_format</span>
-</pre>
-<p>
- <a class="indexterm" name="idp227891120"></a>
- <a class="indexterm" name="idp227892224"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context_base.file_format.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.file_format.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.file_format.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">asn1</span></dt>
-<dd><p>
- ASN.1 file.
- </p></dd>
-<dt><span class="term">pem</span></dt>
-<dd><p>
- PEM file.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.method"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.method" title="ssl::context_base::method">ssl::context_base::method</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227902176"></a>
-Different methods supported by a context.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">method</span>
-</pre>
-<p>
- <a class="indexterm" name="idp227905568"></a>
- <a class="indexterm" name="idp227906672"></a>
- <a class="indexterm" name="idp227907776"></a>
- <a class="indexterm" name="idp227908880"></a>
- <a class="indexterm" name="idp227909984"></a>
- <a class="indexterm" name="idp227911088"></a>
- <a class="indexterm" name="idp227912192"></a>
- <a class="indexterm" name="idp227913296"></a>
- <a class="indexterm" name="idp227914400"></a>
- <a class="indexterm" name="idp227915504"></a>
- <a class="indexterm" name="idp227916608"></a>
- <a class="indexterm" name="idp227917712"></a>
- <a class="indexterm" name="idp227918816"></a>
- <a class="indexterm" name="idp227919920"></a>
- <a class="indexterm" name="idp227921024"></a>
- <a class="indexterm" name="idp227922128"></a>
- <a class="indexterm" name="idp227923232"></a>
- <a class="indexterm" name="idp227924336"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context_base.method.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.method.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.method.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">sslv2</span></dt>
-<dd><p>
- Generic SSL version 2.
- </p></dd>
-<dt><span class="term">sslv2_client</span></dt>
-<dd><p>
- SSL version 2 client.
- </p></dd>
-<dt><span class="term">sslv2_server</span></dt>
-<dd><p>
- SSL version 2 server.
- </p></dd>
-<dt><span class="term">sslv3</span></dt>
-<dd><p>
- Generic SSL version 3.
- </p></dd>
-<dt><span class="term">sslv3_client</span></dt>
-<dd><p>
- SSL version 3 client.
- </p></dd>
-<dt><span class="term">sslv3_server</span></dt>
-<dd><p>
- SSL version 3 server.
- </p></dd>
-<dt><span class="term">tlsv1</span></dt>
-<dd><p>
- Generic TLS version 1.
- </p></dd>
-<dt><span class="term">tlsv1_client</span></dt>
-<dd><p>
- TLS version 1 client.
- </p></dd>
-<dt><span class="term">tlsv1_server</span></dt>
-<dd><p>
- TLS version 1 server.
- </p></dd>
-<dt><span class="term">sslv23</span></dt>
-<dd><p>
- Generic SSL/TLS.
- </p></dd>
-<dt><span class="term">sslv23_client</span></dt>
-<dd><p>
- SSL/TLS client.
- </p></dd>
-<dt><span class="term">sslv23_server</span></dt>
-<dd><p>
- SSL/TLS server.
- </p></dd>
-<dt><span class="term">tlsv11</span></dt>
-<dd><p>
- Generic TLS version 1.1.
- </p></dd>
-<dt><span class="term">tlsv11_client</span></dt>
-<dd><p>
- TLS version 1.1 client.
- </p></dd>
-<dt><span class="term">tlsv11_server</span></dt>
-<dd><p>
- TLS version 1.1 server.
- </p></dd>
-<dt><span class="term">tlsv12</span></dt>
-<dd><p>
- Generic TLS version 1.2.
- </p></dd>
-<dt><span class="term">tlsv12_client</span></dt>
-<dd><p>
- TLS version 1.2 client.
- </p></dd>
-<dt><span class="term">tlsv12_server</span></dt>
-<dd><p>
- TLS version 1.2 server.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.no_compression"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_compression" title="ssl::context_base::no_compression">ssl::context_base::no_compression</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227960352"></a>
-Disable compression. Compression is disabled
- by default.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_compression</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.no_sslv2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_sslv2" title="ssl::context_base::no_sslv2">ssl::context_base::no_sslv2</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227968976"></a>
-Disable SSL v2.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.no_sslv3"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_sslv3" title="ssl::context_base::no_sslv3">ssl::context_base::no_sslv3</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227977488"></a>
-Disable SSL v3.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv3</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.no_tlsv1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1" title="ssl::context_base::no_tlsv1">ssl::context_base::no_tlsv1</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227986064"></a>
-Disable TLS v1.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.no_tlsv1_1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_1" title="ssl::context_base::no_tlsv1_1">ssl::context_base::no_tlsv1_1</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp227994640"></a>
-Disable TLS v1.1.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.no_tlsv1_2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.no_tlsv1_2" title="ssl::context_base::no_tlsv1_2">ssl::context_base::no_tlsv1_2</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228003152"></a>
-Disable TLS v1.2.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.options"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.options" title="ssl::context_base::options">ssl::context_base::options</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228011664"></a>
-Bitmask type for SSL options.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="identifier">options</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__context_base.options.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.options.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.options.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.password_purpose"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.password_purpose" title="ssl::context_base::password_purpose">ssl::context_base::password_purpose</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228023904"></a>
-Purpose of PEM password.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">password_purpose</span>
-</pre>
-<p>
- <a class="indexterm" name="idp228027344"></a>
- <a class="indexterm" name="idp228028448"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__context_base.password_purpose.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__context_base.password_purpose.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.password_purpose.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">for_reading</span></dt>
-<dd><p>
- The password is needed for reading/decryption.
- </p></dd>
-<dt><span class="term">for_writing</span></dt>
-<dd><p>
- The password is needed for writing/encryption.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base.single_dh_use"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base.single_dh_use" title="ssl::context_base::single_dh_use">ssl::context_base::single_dh_use</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228038752"></a>
-Always create a new key when using tmp_dh
- parameters.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">single_dh_use</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__context_base._context_base"></a><a class="link" href="reference.html#boost_asio.reference.ssl__context_base._context_base" title="ssl::context_base::~context_base">ssl::context_base::~context_base</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228047312"></a>
-Protected destructor to prevent deletion
- through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">context_base</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__error__get_stream_category"></a><a class="link" href="reference.html#boost_asio.reference.ssl__error__get_stream_category" title="ssl::error::get_stream_category">ssl::error::get_stream_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp228053296"></a>
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_stream_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__error__get_stream_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__error__get_stream_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__error__get_stream_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__error__make_error_code"></a><a class="link" href="reference.html#boost_asio.reference.ssl__error__make_error_code" title="ssl::error::make_error_code">ssl::error::make_error_code</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp228068032"></a>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
- <span class="identifier">stream_errors</span> <span class="identifier">e</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__error__make_error_code.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__error__make_error_code.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__error__make_error_code.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__error__stream_category"></a><a class="link" href="reference.html#boost_asio.reference.ssl__error__stream_category" title="ssl::error::stream_category">ssl::error::stream_category</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp228083200"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">stream_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_stream_category</span><span class="special">();</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__error__stream_category.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__error__stream_category.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__error__stream_category.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__error__stream_errors"></a><a class="link" href="reference.html#boost_asio.reference.ssl__error__stream_errors" title="ssl::error::stream_errors">ssl::error::stream_errors</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp228104384"></a>
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">stream_errors</span>
-</pre>
-<p>
- <a class="indexterm" name="idp228107504"></a>
- </p>
-<h5>
-<a name="boost_asio.reference.ssl__error__stream_errors.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__error__stream_errors.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__error__stream_errors.values">Values</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">stream_truncated</span></dt>
-<dd><p>
- The underlying stream closed before the ssl stream gracefully shut
- down.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.ssl__error__stream_errors.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__error__stream_errors.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__error__stream_errors.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__rfc2818_verification"></a><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__rfc2818_verification.operator_lp__rp_">ssl::rfc2818_verification::operator()</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__rfc2818_verification.result_type">ssl::rfc2818_verification::result_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__rfc2818_verification.rfc2818_verification">ssl::rfc2818_verification::rfc2818_verification</a></span></dt>
-</dl></div>
-<p>
- Verifies a certificate against a hostname according to the rules described
- in RFC 2818.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">rfc2818_verification</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__rfc2818_verification.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.result_type" title="ssl::rfc2818_verification::result_type"><span class="bold"><strong>result_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the function object's result.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__rfc2818_verification.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.operator_lp__rp_" title="ssl::rfc2818_verification::operator()"><span class="bold"><strong>operator()</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform certificate verification.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.rfc2818_verification" title="ssl::rfc2818_verification::rfc2818_verification"><span class="bold"><strong>rfc2818_verification</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__rfc2818_verification.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.example"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.example">Example</a>
- </h5>
-<p>
- The following example shows how to synchronously open a secure connection
- to a given host name:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-<span class="keyword">namespace</span> <span class="identifier">ssl</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">ssl_socket</span><span class="special">;</span>
-
-<span class="comment">// Create a context that uses the default paths for finding CA certificates.</span>
-<span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span> <span class="identifier">ctx</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">sslv23</span><span class="special">);</span>
-<span class="identifier">ctx</span><span class="special">.</span><span class="identifier">set_default_verify_paths</span><span class="special">();</span>
-
-<span class="comment">// Open a socket and connect it to the remote host.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-<span class="identifier">ssl_socket</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="string">"host.name"</span><span class="special">,</span> <span class="string">"https"</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">(),</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">));</span>
-<span class="identifier">sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">().</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
-
-<span class="comment">// Perform SSL handshake and verify the remote host's certificate.</span>
-<span class="identifier">sock</span><span class="special">.</span><span class="identifier">set_verify_mode</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span><span class="special">);</span>
-<span class="identifier">sock</span><span class="special">.</span><span class="identifier">set_verify_callback</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">rfc2818_verification</span><span class="special">(</span><span class="string">"host.name"</span><span class="special">));</span>
-<span class="identifier">sock</span><span class="special">.</span><span class="identifier">handshake</span><span class="special">(</span><span class="identifier">ssl_socket</span><span class="special">::</span><span class="identifier">client</span><span class="special">);</span>
-
-<span class="comment">// ... read and write as normal ...</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__rfc2818_verification.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/rfc2818_verification.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__rfc2818_verification.operator_lp__rp_"></a><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.operator_lp__rp_" title="ssl::rfc2818_verification::operator()">ssl::rfc2818_verification::operator()</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228236016"></a>
-Perform certificate verification.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span>
- <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span>
- <span class="identifier">verify_context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__rfc2818_verification.result_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.result_type" title="ssl::rfc2818_verification::result_type">ssl::rfc2818_verification::result_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228247648"></a>
-The type of the function object's result.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">result_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__rfc2818_verification.result_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.result_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.result_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/rfc2818_verification.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__rfc2818_verification.rfc2818_verification"></a><a class="link" href="reference.html#boost_asio.reference.ssl__rfc2818_verification.rfc2818_verification" title="ssl::rfc2818_verification::rfc2818_verification">ssl::rfc2818_verification::rfc2818_verification</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228259872"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">rfc2818_verification</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__stream"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream" title="ssl::stream">ssl::stream</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.async_handshake">ssl::stream::async_handshake</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.async_read_some">ssl::stream::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.async_shutdown">ssl::stream::async_shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.async_write_some">ssl::stream::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.get_io_service">ssl::stream::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.handshake">ssl::stream::handshake</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.handshake_type">ssl::stream::handshake_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.impl">ssl::stream::impl</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.impl_type">ssl::stream::impl_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.lowest_layer">ssl::stream::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.lowest_layer_type">ssl::stream::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.native_handle">ssl::stream::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.native_handle_type">ssl::stream::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.next_layer">ssl::stream::next_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.next_layer_type">ssl::stream::next_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.read_some">ssl::stream::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback">ssl::stream::set_verify_callback</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth">ssl::stream::set_verify_depth</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode">ssl::stream::set_verify_mode</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.shutdown">ssl::stream::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.stream">ssl::stream::stream</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.write_some">ssl::stream::write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream._stream">ssl::stream::~stream</a></span></dt>
-</dl></div>
-<p>
- Provides stream-oriented functionality using SSL.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">stream</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream_base</span><span class="special">,</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__stream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream__impl_struct" title="ssl::stream::impl_struct"><span class="bold"><strong>impl_struct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Structure for use with deprecated impl_type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake_type" title="ssl::stream::handshake_type"><span class="bold"><strong>handshake_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different handshake types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.impl_type" title="ssl::stream::impl_type"><span class="bold"><strong>impl_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The underlying implementation
- type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer_type" title="ssl::stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.native_handle_type" title="ssl::stream::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type of the SSL stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer_type" title="ssl::stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the next layer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__stream.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake" title="ssl::stream::async_handshake"><span class="bold"><strong>async_handshake</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous SSL handshake.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_read_some" title="ssl::stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_shutdown" title="ssl::stream::async_shutdown"><span class="bold"><strong>async_shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Asynchronously shut down SSL on the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_write_some" title="ssl::stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.get_io_service" title="ssl::stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake" title="ssl::stream::handshake"><span class="bold"><strong>handshake</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform SSL handshaking.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.impl" title="ssl::stream::impl"><span class="bold"><strong>impl</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the underlying implementation
- in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer" title="ssl::stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.native_handle" title="ssl::stream::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer" title="ssl::stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the next layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some" title="ssl::stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback" title="ssl::stream::set_verify_callback"><span class="bold"><strong>set_verify_callback</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the callback used to verify peer certificates.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth" title="ssl::stream::set_verify_depth"><span class="bold"><strong>set_verify_depth</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the peer verification depth.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode" title="ssl::stream::set_verify_mode"><span class="bold"><strong>set_verify_mode</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set the peer verification mode.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown" title="ssl::stream::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Shut down SSL on the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.stream" title="ssl::stream::stream"><span class="bold"><strong>stream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some" title="ssl::stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream._stream" title="ssl::stream::~stream"><span class="bold"><strong>~stream</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The stream class template provides asynchronous and blocking stream-oriented
- functionality using SSL.
- </p>
-<h5>
-<a name="boost_asio.reference.ssl__stream.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe. The application
- must also ensure that all asynchronous operations are performed within the
- same implicit or explicit strand.
- </p>
-<h5>
-<a name="boost_asio.reference.ssl__stream.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.example"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.example">Example</a>
- </h5>
-<p>
- To use the SSL stream template with an <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>, you would write:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span> <span class="identifier">ctx</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">sslv23</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">asio</span><span class="special">:</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__stream.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.async_handshake"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake" title="ssl::stream::async_handshake">ssl::stream::async_handshake</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload1">ssl::stream::async_handshake
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload2">ssl::stream::async_handshake
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp228420576"></a>
-Start an asynchronous SSL handshake.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.HandshakeHandler" title="SSL handshake handler requirements">HandshakeHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload1" title="ssl::stream::async_handshake (1 of 2 overloads)">async_handshake</a><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="identifier">HandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload1" title="ssl::stream::async_handshake (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.BufferedHandshakeHandler" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload2" title="ssl::stream::async_handshake (2 of 2 overloads)">async_handshake</a><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">BufferedHandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload2" title="ssl::stream::async_handshake (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.async_handshake.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload1" title="ssl::stream::async_handshake (1 of 2 overloads)">ssl::stream::async_handshake
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous SSL handshake.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.HandshakeHandler" title="SSL handshake handler requirements">HandshakeHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_handshake</span><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="identifier">HandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously perform an SSL handshake on the
- stream. This function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_handshake.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_handshake.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">type</span></dt>
-<dd><p>
- The type of handshaking to be performed, i.e. as a client or as
- a server.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the handshake operation completes.
- Copies will be made of the handler as required. The equivalent
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.async_handshake.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload2" title="ssl::stream::async_handshake (2 of 2 overloads)">ssl::stream::async_handshake
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Start an asynchronous SSL handshake.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.BufferedHandshakeHandler" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_handshake</span><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">BufferedHandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously perform an SSL handshake on the
- stream. This function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_handshake.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_handshake.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_handshake.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">type</span></dt>
-<dd><p>
- The type of handshaking to be performed, i.e. as a client or as
- a server.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The buffered data to be reused for the handshake. Although the
- buffers object may be copied as necessary, ownership of the underlying
- buffers is retained by the caller, which must guarantee that they
- remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the handshake operation completes.
- Copies will be made of the handler as required. The equivalent
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Amount of buffers used in handshake.</span>
-<span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_read_some" title="ssl::stream::async_read_some">ssl::stream::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228519936"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read one or more bytes of data
- from the stream. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_read_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_read_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_read_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The buffers into which the data will be read. Although the buffers
- object may be copied as necessary, ownership of the underlying buffers
- is retained by the caller, which must guarantee that they remain
- valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The equivalent function
- signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
-<span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_read_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_read_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_read_some.remarks">Remarks</a>
- </h6>
-<p>
- The async_read_some operation may not read all of the requested number
- of bytes. Consider using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is read before the asynchronous
- operation completes.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.async_shutdown"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_shutdown" title="ssl::stream::async_shutdown">ssl::stream::async_shutdown</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228562160"></a>
-Asynchronously shut down SSL on the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ShutdownHandler" title="SSL shutdown handler requirements">ShutdownHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_shutdown</span><span class="special">(</span>
- <span class="identifier">ShutdownHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously shut down SSL on the stream. This
- function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_shutdown.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_shutdown.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_shutdown.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the handshake operation completes.
- Copies will be made of the handler as required. The equivalent function
- signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_write_some" title="ssl::stream::async_write_some">ssl::stream::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228588064"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write one or more bytes of data
- to the stream. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_write_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_write_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_write_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The data to be written to the stream. Although the buffers object
- may be copied as necessary, ownership of the underlying buffers is
- retained by the caller, which must guarantee that they remain valid
- until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The equivalent function
- signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
-<span class="special">);</span>
-</pre>
-<p>
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.async_write_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_write_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.async_write_some.remarks">Remarks</a>
- </h6>
-<p>
- The async_write_some operation may not transmit all of the data to the
- peer. Consider using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
- to ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.get_io_service" title="ssl::stream::get_io_service">ssl::stream::get_io_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228629952"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the stream
- uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that stream
- will use to dispatch handlers. Ownership is not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.handshake"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake" title="ssl::stream::handshake">ssl::stream::handshake</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.handshake.overload1">ssl::stream::handshake
- (1 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.handshake.overload2">ssl::stream::handshake
- (2 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.handshake.overload3">ssl::stream::handshake
- (3 of 4 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.handshake.overload4">ssl::stream::handshake
- (4 of 4 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp228647456"></a>
-Perform SSL handshaking.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload1" title="ssl::stream::handshake (1 of 4 overloads)">handshake</a><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload1" title="ssl::stream::handshake (1 of 4 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload2" title="ssl::stream::handshake (2 of 4 overloads)">handshake</a><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload2" title="ssl::stream::handshake (2 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload3" title="ssl::stream::handshake (3 of 4 overloads)">handshake</a><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload3" title="ssl::stream::handshake (3 of 4 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload4" title="ssl::stream::handshake (4 of 4 overloads)">handshake</a><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload4" title="ssl::stream::handshake (4 of 4 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.handshake.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload1" title="ssl::stream::handshake (1 of 4 overloads)">ssl::stream::handshake
- (1 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform SSL handshaking.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handshake</span><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to perform SSL handshaking on the stream. The function
- call will block until handshaking is complete or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">type</span></dt>
-<dd><p>
- The type of handshaking to be performed, i.e. as a client or as
- a server.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.handshake.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload2" title="ssl::stream::handshake (2 of 4 overloads)">ssl::stream::handshake
- (2 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform SSL handshaking.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">handshake</span><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to perform SSL handshaking on the stream. The function
- call will block until handshaking is complete or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">type</span></dt>
-<dd><p>
- The type of handshaking to be performed, i.e. as a client or as
- a server.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.handshake.overload3"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload3" title="ssl::stream::handshake (3 of 4 overloads)">ssl::stream::handshake
- (3 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform SSL handshaking.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">handshake</span><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to perform SSL handshaking on the stream. The function
- call will block until handshaking is complete or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">type</span></dt>
-<dd><p>
- The type of handshaking to be performed, i.e. as a client or as
- a server.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The buffered data to be reused for the handshake.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.handshake.overload4"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload4" title="ssl::stream::handshake (4 of 4 overloads)">ssl::stream::handshake
- (4 of 4 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform SSL handshaking.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">handshake</span><span class="special">(</span>
- <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to perform SSL handshaking on the stream. The function
- call will block until handshaking is complete or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">type</span></dt>
-<dd><p>
- The type of handshaking to be performed, i.e. as a client or as
- a server.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The buffered data to be reused for the handshake.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.handshake_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake_type" title="ssl::stream::handshake_type">ssl::stream::handshake_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228792816"></a>
-Different handshake types.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">handshake_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp228796256"></a>
- <a class="indexterm" name="idp228797360"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.handshake_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.handshake_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">client</span></dt>
-<dd><p>
- Perform handshaking as a client.
- </p></dd>
-<dt><span class="term">server</span></dt>
-<dd><p>
- Perform handshaking as a server.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.impl"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.impl" title="ssl::stream::impl">ssl::stream::impl</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228807232"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the underlying implementation in
- the native type.
- </p>
-<pre class="programlisting"><span class="identifier">impl_type</span> <span class="identifier">impl</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying implementation of the
- context. This is intended to allow access to stream functionality that
- is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.impl_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.impl_type" title="ssl::stream::impl_type">ssl::stream::impl_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228815392"></a>
-(Deprecated: Use native_handle_type.) The underlying
- implementation type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">impl_struct</span> <span class="special">*</span> <span class="identifier">impl_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__stream.impl_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.impl_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.impl_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer" title="ssl::stream::lowest_layer">ssl::stream::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload1">ssl::stream::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload2">ssl::stream::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp228828144"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload1" title="ssl::stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload1" title="ssl::stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload2" title="ssl::stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload2" title="ssl::stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload1" title="ssl::stream::lowest_layer (1 of 2 overloads)">ssl::stream::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of stream
- layers.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of stream layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload2" title="ssl::stream::lowest_layer (2 of 2 overloads)">ssl::stream::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of stream
- layers.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of stream layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer_type" title="ssl::stream::lowest_layer_type">ssl::stream::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228862848"></a>
-The type of the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__stream.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.native_handle" title="ssl::stream::native_handle">ssl::stream::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228876032"></a>
-Get the underlying implementation in the native
- type.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying implementation of the
- context. This is intended to allow access to context functionality that
- is not otherwise provided.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.native_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.native_handle.example"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.native_handle.example">Example</a>
- </h6>
-<p>
- The <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>
- function returns a pointer of type <code class="computeroutput"><span class="identifier">SSL</span><span class="special">*</span></code> that is suitable for passing to functions
- such as <code class="computeroutput"><span class="identifier">SSL_get_verify_result</span></code>
- and <code class="computeroutput"><span class="identifier">SSL_get_peer_certificate</span><span class="special">:</span></code>
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">asio</span><span class="special">:</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
-
-<span class="comment">// ... establish connection and perform handshake ...</span>
-
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">X509</span><span class="special">*</span> <span class="identifier">cert</span> <span class="special">=</span> <span class="identifier">SSL_get_peer_certificate</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">()))</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">SSL_get_verify_result</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">())</span> <span class="special">==</span> <span class="identifier">X509_V_OK</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// ...</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.native_handle_type" title="ssl::stream::native_handle_type">ssl::stream::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228922192"></a>
-The native handle type of the SSL stream.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SSL</span> <span class="special">*</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__stream.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.next_layer"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer" title="ssl::stream::next_layer">ssl::stream::next_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload1">ssl::stream::next_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload2">ssl::stream::next_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp228935040"></a>
-Get a reference to the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload1" title="ssl::stream::next_layer (1 of 2 overloads)">next_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload1" title="ssl::stream::next_layer (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload2" title="ssl::stream::next_layer (2 of 2 overloads)">next_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload2" title="ssl::stream::next_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.next_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload1" title="ssl::stream::next_layer (1 of 2 overloads)">ssl::stream::next_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a reference to the next layer in a stack of stream
- layers.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.next_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.next_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the next layer in the stack of stream layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.next_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload2" title="ssl::stream::next_layer (2 of 2 overloads)">ssl::stream::next_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the next layer.
- </p>
-<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the next layer in a stack of stream
- layers.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.next_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.next_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the next layer in the stack of stream layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.next_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer_type" title="ssl::stream::next_layer_type">ssl::stream::next_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp228969664"></a>
-The type of the next layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__stream.next_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.next_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.next_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.read_some"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some" title="ssl::stream::read_some">ssl::stream::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1">ssl::stream::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2">ssl::stream::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp228984224"></a>
-Read some data from the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1" title="ssl::stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1" title="ssl::stream::read_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2" title="ssl::stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2" title="ssl::stream::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1" title="ssl::stream::read_some (1 of 2 overloads)">ssl::stream::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream. The function call
- will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The buffers into which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2" title="ssl::stream::read_some (2 of 2 overloads)">ssl::stream::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream. The function call
- will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The buffers into which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.read_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.read_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_callback"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback" title="ssl::stream::set_verify_callback">ssl::stream::set_verify_callback</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1">ssl::stream::set_verify_callback
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2">ssl::stream::set_verify_callback
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp229079952"></a>
-Set the callback used to verify peer certificates.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1" title="ssl::stream::set_verify_callback (1 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1" title="ssl::stream::set_verify_callback (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2" title="ssl::stream::set_verify_callback (2 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2" title="ssl::stream::set_verify_callback (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1" title="ssl::stream::set_verify_callback (1 of 2 overloads)">ssl::stream::set_verify_callback
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the callback used to verify peer certificates.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify a callback function that will be called
- by the implementation when it needs to verify a peer certificate.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">callback</span></dt>
-<dd>
-<p>
- The function object to be used for verifying a certificate. The
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
- <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
-<span class="special">);</span>
-</pre>
-<p>
- The return value of the callback is true if the certificate has
- passed verification, false otherwise.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2" title="ssl::stream::set_verify_callback (2 of 2 overloads)">ssl::stream::set_verify_callback
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the callback used to verify peer certificates.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
- <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to specify a callback function that will be called
- by the implementation when it needs to verify a peer certificate.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">callback</span></dt>
-<dd>
-<p>
- The function object to be used for verifying a certificate. The
- function signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
- <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
- <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
-<span class="special">);</span>
-</pre>
-<p>
- The return value of the callback is true if the certificate has
- passed verification, false otherwise.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_depth"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth" title="ssl::stream::set_verify_depth">ssl::stream::set_verify_depth</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1">ssl::stream::set_verify_depth
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2">ssl::stream::set_verify_depth
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp229178720"></a>
-Set the peer verification depth.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1" title="ssl::stream::set_verify_depth (1 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1" title="ssl::stream::set_verify_depth (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2" title="ssl::stream::set_verify_depth (2 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2" title="ssl::stream::set_verify_depth (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1" title="ssl::stream::set_verify_depth (1 of 2 overloads)">ssl::stream::set_verify_depth
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification depth.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the maximum verification depth
- allowed by the stream.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">depth</span></dt>
-<dd><p>
- Maximum depth for the certificate chain verification that shall
- be allowed.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_set_verify_depth</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2" title="ssl::stream::set_verify_depth (2 of 2 overloads)">ssl::stream::set_verify_depth
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification depth.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
- <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the maximum verification depth
- allowed by the stream.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">depth</span></dt>
-<dd><p>
- Maximum depth for the certificate chain verification that shall
- be allowed.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_set_verify_depth</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_mode"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode" title="ssl::stream::set_verify_mode">ssl::stream::set_verify_mode</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1">ssl::stream::set_verify_mode
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2">ssl::stream::set_verify_mode
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp229247488"></a>
-Set the peer verification mode.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1" title="ssl::stream::set_verify_mode (1 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1" title="ssl::stream::set_verify_mode (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2" title="ssl::stream::set_verify_mode (2 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2" title="ssl::stream::set_verify_mode (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1" title="ssl::stream::set_verify_mode (1 of 2 overloads)">ssl::stream::set_verify_mode
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification mode.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the peer verification mode used
- by the stream. The new mode will override the mode inherited from the
- context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">v</span></dt>
-<dd><p>
- A bitmask of peer verification modes. See <a class="link" href="reference.html#boost_asio.reference.ssl__verify_mode" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
- values.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2" title="ssl::stream::set_verify_mode (2 of 2 overloads)">ssl::stream::set_verify_mode
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the peer verification mode.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
- <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function may be used to configure the peer verification mode used
- by the stream. The new mode will override the mode inherited from the
- context.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">v</span></dt>
-<dd><p>
- A bitmask of peer verification modes. See <a class="link" href="reference.html#boost_asio.reference.ssl__verify_mode" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
- values.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2.remarks">Remarks</a>
- </h6>
-<p>
- Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown" title="ssl::stream::shutdown">ssl::stream::shutdown</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload1">ssl::stream::shutdown
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload2">ssl::stream::shutdown
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp229321696"></a>
-Shut down SSL on the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload1" title="ssl::stream::shutdown (1 of 2 overloads)">shutdown</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload1" title="ssl::stream::shutdown (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload2" title="ssl::stream::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload2" title="ssl::stream::shutdown (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.shutdown.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload1" title="ssl::stream::shutdown (1 of 2 overloads)">ssl::stream::shutdown
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Shut down SSL on the stream.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to shut down SSL on the stream. The function call
- will block until SSL has been shut down or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.shutdown.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.shutdown.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.shutdown.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload2" title="ssl::stream::shutdown (2 of 2 overloads)">ssl::stream::shutdown
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Shut down SSL on the stream.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to shut down SSL on the stream. The function call
- will block until SSL has been shut down or an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.shutdown.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.shutdown.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.shutdown.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.stream"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.stream" title="ssl::stream::stream">ssl::stream::stream</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229366848"></a>
-Construct a stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
-<span class="identifier">stream</span><span class="special">(</span>
- <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">,</span>
- <span class="identifier">context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream and initialises the underlying stream
- object.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.stream.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.stream.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.stream.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">arg</span></dt>
-<dd><p>
- The argument to be passed to initialise the underlying stream.
- </p></dd>
-<dt><span class="term">ctx</span></dt>
-<dd><p>
- The SSL context to be used for the stream.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream.write_some"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some" title="ssl::stream::write_some">ssl::stream::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1">ssl::stream::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2">ssl::stream::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp229387360"></a>
-Write some data to the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1" title="ssl::stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1" title="ssl::stream::write_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2" title="ssl::stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2" title="ssl::stream::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1" title="ssl::stream::write_some (1 of 2 overloads)">ssl::stream::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data on the stream. The function call
- will block until one or more bytes of data has been written successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The data to be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.ssl__stream.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2" title="ssl::stream::write_some (2 of 2 overloads)">ssl::stream::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data on the stream. The function call
- will block until one or more bytes of data has been written successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- The data to be written to the stream.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream.write_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream.write_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream._stream"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream._stream" title="ssl::stream::~stream">ssl::stream::~stream</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229483024"></a>
-Destructor.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">stream</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__stream__impl_struct"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream__impl_struct" title="ssl::stream::impl_struct">ssl::stream::impl_struct</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream__impl_struct.ssl">ssl::stream::impl_struct::ssl</a></span></dt></dl></div>
-<p>
- Structure for use with deprecated impl_type.
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">impl_struct</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__stream__impl_struct.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream__impl_struct.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream__impl_struct.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream__impl_struct.ssl" title="ssl::stream::impl_struct::ssl"><span class="bold"><strong>ssl</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__stream__impl_struct.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream__impl_struct.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream__impl_struct.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream__impl_struct.ssl"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream__impl_struct.ssl" title="ssl::stream::impl_struct::ssl">ssl::stream::impl_struct::ssl</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229508240"></a>
- </p>
-<pre class="programlisting"><span class="identifier">SSL</span> <span class="special">*</span> <span class="identifier">ssl</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__stream_base"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base" title="ssl::stream_base">ssl::stream_base</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type">ssl::stream_base::handshake_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__stream_base._stream_base">ssl::stream_base::~stream_base</a></span></dt>
-</dl></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ssl__stream_base" title="ssl::stream_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream_base</span></code></a>
- class is used as a base for the <a class="link" href="reference.html#boost_asio.reference.ssl__stream" title="ssl::stream"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span></code></a>
- class template so that we have a common place to define various enums.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_base</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__stream_base.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type" title="ssl::stream_base::handshake_type"><span class="bold"><strong>handshake_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Different handshake types.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__stream_base.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__stream_base._stream_base" title="ssl::stream_base::~stream_base"><span class="bold"><strong>~stream_base</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__stream_base.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream_base.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream_base.handshake_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type" title="ssl::stream_base::handshake_type">ssl::stream_base::handshake_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229550352"></a>
-Different handshake types.
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">handshake_type</span>
-</pre>
-<p>
- <a class="indexterm" name="idp229553792"></a>
- <a class="indexterm" name="idp229554896"></a>
- </p>
-<h6>
-<a name="boost_asio.reference.ssl__stream_base.handshake_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.handshake_type.values"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base.handshake_type.values">Values</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">client</span></dt>
-<dd><p>
- Perform handshaking as a client.
- </p></dd>
-<dt><span class="term">server</span></dt>
-<dd><p>
- Perform handshaking as a server.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__stream_base._stream_base"></a><a class="link" href="reference.html#boost_asio.reference.ssl__stream_base._stream_base" title="ssl::stream_base::~stream_base">ssl::stream_base::~stream_base</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229564992"></a>
-Protected destructor to prevent deletion through
- this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">stream_base</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__verify_client_once"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_client_once" title="ssl::verify_client_once">ssl::verify_client_once</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229570960"></a>
-Do not request client certificate on renegotiation.
- Ignored unless <a class="link" href="reference.html#boost_asio.reference.ssl__verify_peer" title="ssl::verify_peer"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span></code></a>
- is set.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_client_once</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__verify_client_once.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_client_once.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_client_once.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__verify_context"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context" title="ssl::verify_context">ssl::verify_context</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_context.native_handle">ssl::verify_context::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_context.native_handle_type">ssl::verify_context::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.ssl__verify_context.verify_context">ssl::verify_context::verify_context</a></span></dt>
-</dl></div>
-<p>
- A simple wrapper around the X509_STORE_CTX type, used during verification
- of a peer certificate.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">verify_context</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__verify_context.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle_type" title="ssl::verify_context::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type of the verification context.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__verify_context.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle" title="ssl::verify_context::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation in the native type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.verify_context" title="ssl::verify_context::verify_context"><span class="bold"><strong>verify_context</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.ssl__verify_context.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.remarks">Remarks</a>
- </h5>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ssl__verify_context" title="ssl::verify_context"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_context</span></code></a>
- does not own the underlying X509_STORE_CTX object.
- </p>
-<h5>
-<a name="boost_asio.reference.ssl__verify_context.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_context.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__verify_context.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle" title="ssl::verify_context::native_handle">ssl::verify_context::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229627792"></a>
-Get the underlying implementation in the
- native type.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying implementation of the
- context. This is intended to allow access to context functionality that
- is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__verify_context.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle_type" title="ssl::verify_context::native_handle_type">ssl::verify_context::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229634384"></a>
-The native handle type of the verification
- context.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">X509_STORE_CTX</span> <span class="special">*</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.ssl__verify_context.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_context.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.ssl__verify_context.verify_context"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_context.verify_context" title="ssl::verify_context::verify_context">ssl::verify_context::verify_context</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp229647360"></a>
-Constructor.
- </p>
-<pre class="programlisting"><span class="identifier">verify_context</span><span class="special">(</span>
- <span class="identifier">native_handle_type</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__verify_fail_if_no_peer_cert"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_fail_if_no_peer_cert" title="ssl::verify_fail_if_no_peer_cert">ssl::verify_fail_if_no_peer_cert</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229654656"></a>
-Fail verification if the peer has no certificate.
- Ignored unless <a class="link" href="reference.html#boost_asio.reference.ssl__verify_peer" title="ssl::verify_peer"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span></code></a>
- is set.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_fail_if_no_peer_cert</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__verify_fail_if_no_peer_cert.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_fail_if_no_peer_cert.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_fail_if_no_peer_cert.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__verify_mode"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_mode" title="ssl::verify_mode">ssl::verify_mode</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229670272"></a>
-Bitmask type for peer verification.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">verify_mode</span><span class="special">;</span>
-</pre>
-<p>
- Possible values are:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_none" title="ssl::verify_none"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_none</span></code></a>
- </li>
-<li class="listitem">
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_peer" title="ssl::verify_peer"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span></code></a>
- </li>
-<li class="listitem">
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_fail_if_no_peer_cert" title="ssl::verify_fail_if_no_peer_cert"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_fail_if_no_peer_cert</span></code></a>
- </li>
-<li class="listitem">
- <a class="link" href="reference.html#boost_asio.reference.ssl__verify_client_once" title="ssl::verify_client_once"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_client_once</span></code></a>
- </li>
-</ul></div>
-<h5>
-<a name="boost_asio.reference.ssl__verify_mode.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_mode.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_mode.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__verify_none"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_none" title="ssl::verify_none">ssl::verify_none</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229696736"></a>
-No verification.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_none</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__verify_none.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_none.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_none.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.ssl__verify_peer"></a><a class="link" href="reference.html#boost_asio.reference.ssl__verify_peer" title="ssl::verify_peer">ssl::verify_peer</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229709632"></a>
-Verify the peer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_peer</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.ssl__verify_peer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.ssl__verify_peer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ssl__verify_peer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.steady_timer"></a><a class="link" href="reference.html#boost_asio.reference.steady_timer" title="steady_timer">steady_timer</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229722528"></a>
-Typedef for a timer based on the steady clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span> <span class="special">&gt;</span> <span class="identifier">steady_timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.steady_timer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.types"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The clock type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.duration" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time point type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The wait traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.steady_timer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
- <p>
- Constructor to set a particular expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time as an absolute time.
- </p>
- <p>
- Set the timer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the timer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the timer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.steady_timer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.steady_timer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
- provides the ability to perform a blocking or asynchronous wait for a timer
- to expire.
- </p>
-<p>
- A waitable timer is always in one of two states: "expired" or "not
- expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
- the wait operation will complete immediately.
- </p>
-<p>
- Most applications will use one of the <a class="link" href="reference.html#boost_asio.reference.steady_timer" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="reference.html#boost_asio.reference.system_timer" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="reference.html#boost_asio.reference.high_resolution_timer" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
- </p>
-<h5>
-<a name="boost_asio.reference.steady_timer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.remarks">Remarks</a>
- </h5>
-<p>
- This waitable timer functionality is for use with the C++11 standard library's
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
- </p>
-<h5>
-<a name="boost_asio.reference.steady_timer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.steady_timer.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.examples">Examples</a>
- </h5>
-<p>
- Performing a blocking wait (C++11):
- </p>
-<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// Set an expiry time relative to now.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-
-<span class="comment">// Wait for the timer to expire.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Performing an asynchronous wait (C++11):
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer expired.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a timer with an absolute expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
-
-<span class="comment">// Start an asynchronous wait.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.steady_timer.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
- an active waitable timer's expiry time</a>
- </h5>
-<p>
- Changing the expiry time of a timer while there are pending asynchronous
- waits causes those wait operations to be cancelled. To ensure that the action
- associated with the timer is performed only once, use something like this:
- used:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
- <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="comment">// Too late, timer has already expired!</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer was not cancelled, take necessary action.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- function cancels any pending asynchronous waits, and returns the number
- of asynchronous waits that were cancelled. If it returns 0 then you were
- too late and the wait handler has already been executed, or will soon
- be executed. If it returns 1 then the wait handler was successfully cancelled.
- </li>
-<li class="listitem">
- If a wait handler is cancelled, the boost::system::error_code passed
- to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<p>
- This typedef uses the C++11 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code>
- standard library facility, if available. Otherwise, it may use the Boost.Chrono
- library. To explicitly utilise Boost.Chrono, use the <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> template directly:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">&gt;</span> <span class="identifier">timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.steady_timer.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.steady_timer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.steady_timer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/steady_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.strand"></a><a class="link" href="reference.html#boost_asio.reference.strand" title="strand">strand</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp229964928"></a>
-(Deprecated: Use <a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a>.) Typedef for backwards compatibility.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.strand.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.strand.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.strand.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.dispatch" title="io_service::strand::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Request the strand to invoke the given handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.get_io_service" title="io_service::strand::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the strand.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.post" title="io_service::strand::post"><span class="bold"><strong>post</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Request the strand to invoke the given handler and return immediately.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.running_in_this_thread" title="io_service::strand::running_in_this_thread"><span class="bold"><strong>running_in_this_thread</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the strand is running in the current thread.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.strand" title="io_service::strand::strand"><span class="bold"><strong>strand</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand.wrap" title="io_service::strand::wrap"><span class="bold"><strong>wrap</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Create a new handler that automatically dispatches the wrapped
- handler on the strand.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.io_service__strand._strand" title="io_service::strand::~strand"><span class="bold"><strong>~strand</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service__strand" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> class provides the ability
- to post and dispatch handlers with the guarantee that none of those handlers
- will execute concurrently.
- </p>
-<h5>
-<a name="boost_asio.reference.strand.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.strand.order_of_handler_invocation"></a></span><a class="link" href="reference.html#boost_asio.reference.strand.order_of_handler_invocation">Order of
- handler invocation</a>
- </h5>
-<p>
- Given:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- a strand object <code class="computeroutput"><span class="identifier">s</span></code>
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">a</span></code> meeting completion
- handler requirements
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">a1</span></code> which is
- an arbitrary copy of <code class="computeroutput"><span class="identifier">a</span></code>
- made by the implementation
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">b</span></code> meeting completion
- handler requirements
- </li>
-<li class="listitem">
- an object <code class="computeroutput"><span class="identifier">b1</span></code> which is
- an arbitrary copy of <code class="computeroutput"><span class="identifier">b</span></code>
- made by the implementation
- </li>
-</ul></div>
-<p>
- if any of the following conditions are true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- where the latter is performed outside the strand
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- where the former is performed outside the strand
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- where both are performed outside the strand
- </li>
-</ul></div>
-<p>
- then <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
- <span class="special">&amp;</span><span class="identifier">a1</span><span class="special">)</span></code> happens-before <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">b1</span><span class="special">,</span>
- <span class="special">&amp;</span><span class="identifier">b1</span><span class="special">)</span></code>.
- </p>
-<p>
- Note that in the following case:
- </p>
-<pre class="programlisting"><span class="identifier">async_op_1</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">a</span><span class="special">));</span>
-<span class="identifier">async_op_2</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span>
-</pre>
-<p>
- the completion of the first async operation will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>,
- and the second will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
- but the order in which those are performed is unspecified. That is, you cannot
- state whether one happens-before the other. Therefore none of the above conditions
- are met and no ordering guarantee is made.
- </p>
-<h5>
-<a name="boost_asio.reference.strand.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.strand.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.strand.remarks">Remarks</a>
- </h5>
-<p>
- The implementation makes no guarantee that handlers posted or dispatched
- through different <code class="computeroutput"><span class="identifier">strand</span></code>
- objects will be invoked concurrently.
- </p>
-<h5>
-<a name="boost_asio.reference.strand.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.strand.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.strand.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<h5>
-<a name="boost_asio.reference.strand.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.strand.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.strand.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/strand.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.stream_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service" title="stream_socket_service">stream_socket_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.assign">stream_socket_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.async_connect">stream_socket_service::async_connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.async_receive">stream_socket_service::async_receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.async_send">stream_socket_service::async_send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.at_mark">stream_socket_service::at_mark</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.available">stream_socket_service::available</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.bind">stream_socket_service::bind</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.cancel">stream_socket_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.close">stream_socket_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.connect">stream_socket_service::connect</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.construct">stream_socket_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.converting_move_construct">stream_socket_service::converting_move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.destroy">stream_socket_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.endpoint_type">stream_socket_service::endpoint_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.get_io_service">stream_socket_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.get_option">stream_socket_service::get_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.id">stream_socket_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.implementation_type">stream_socket_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.io_control">stream_socket_service::io_control</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.is_open">stream_socket_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.local_endpoint">stream_socket_service::local_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.move_assign">stream_socket_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.move_construct">stream_socket_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native">stream_socket_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native_handle">stream_socket_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native_handle_type">stream_socket_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking">stream_socket_service::native_non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native_type">stream_socket_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.non_blocking">stream_socket_service::non_blocking</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.open">stream_socket_service::open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.protocol_type">stream_socket_service::protocol_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.receive">stream_socket_service::receive</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.remote_endpoint">stream_socket_service::remote_endpoint</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.send">stream_socket_service::send</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.set_option">stream_socket_service::set_option</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.shutdown">stream_socket_service::shutdown</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.stream_socket_service">stream_socket_service::stream_socket_service</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a stream socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">stream_socket_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.stream_socket_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.endpoint_type" title="stream_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The endpoint type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.implementation_type" title="stream_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a stream socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_handle_type" title="stream_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_type" title="stream_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native socket type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.protocol_type" title="stream_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The protocol type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.stream_socket_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.assign" title="stream_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native socket to a stream socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.async_connect" title="stream_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous connect.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.async_receive" title="stream_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous receive.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.async_send" title="stream_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous send.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.at_mark" title="stream_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is at the out-of-band data mark.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.available" title="stream_socket_service::available"><span class="bold"><strong>available</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine the number of bytes available for reading.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.bind" title="stream_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Bind the stream socket to the specified local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.cancel" title="stream_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.close" title="stream_socket_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a stream socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.connect" title="stream_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Connect the stream socket to the specified endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.construct" title="stream_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new stream socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.converting_move_construct" title="stream_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new stream socket implementation from another
- protocol type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.destroy" title="stream_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a stream socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.get_io_service" title="stream_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.get_option" title="stream_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.io_control" title="stream_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform an IO control command on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.is_open" title="stream_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the socket is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.local_endpoint" title="stream_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the local endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.move_assign" title="stream_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another stream socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.move_construct" title="stream_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new stream socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native" title="stream_socket_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_handle" title="stream_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking" title="stream_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
- <p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking" title="stream_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Gets the non-blocking mode of the socket.
- </p>
- <p>
- Sets the non-blocking mode of the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.open" title="stream_socket_service::open"><span class="bold"><strong>open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Open a stream socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.receive" title="stream_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Receive some data from the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.remote_endpoint" title="stream_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the remote endpoint.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.send" title="stream_socket_service::send"><span class="bold"><strong>send</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Send the given data to the peer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.set_option" title="stream_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Set a socket option.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.shutdown" title="stream_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Disable sends or receives on the socket.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.stream_socket_service" title="stream_socket_service::stream_socket_service"><span class="bold"><strong>stream_socket_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new stream socket service for the specified io_service.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.stream_socket_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.id" title="stream_socket_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.stream_socket_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.assign" title="stream_socket_service::assign">stream_socket_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230266864"></a>
-Assign an existing native socket to a stream
- socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.async_connect"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.async_connect" title="stream_socket_service::async_connect">stream_socket_service::async_connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230288912"></a>
-Start an asynchronous connect.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConnectHandler" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.async_receive"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.async_receive" title="stream_socket_service::async_receive">stream_socket_service::async_receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230306352"></a>
-Start an asynchronous receive.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.async_send"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.async_send" title="stream_socket_service::async_send">stream_socket_service::async_send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230328832"></a>
-Start an asynchronous send.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.at_mark"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.at_mark" title="stream_socket_service::at_mark">stream_socket_service::at_mark</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230351232"></a>
-Determine whether the socket is at the out-of-band
- data mark.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.available"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.available" title="stream_socket_service::available">stream_socket_service::available</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230366272"></a>
-Determine the number of bytes available for
- reading.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.bind"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.bind" title="stream_socket_service::bind">stream_socket_service::bind</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230382464"></a>
-Bind the stream socket to the specified local
- endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.cancel" title="stream_socket_service::cancel">stream_socket_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230401024"></a>
-Cancel all asynchronous operations associated
- with the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.close"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.close" title="stream_socket_service::close">stream_socket_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230416368"></a>
-Close a stream socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.connect"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.connect" title="stream_socket_service::connect">stream_socket_service::connect</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230431744"></a>
-Connect the stream socket to the specified
- endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.construct" title="stream_socket_service::construct">stream_socket_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230450368"></a>
-Construct a new stream socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.converting_move_construct"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.converting_move_construct" title="stream_socket_service::converting_move_construct">stream_socket_service::converting_move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230458880"></a>
-Move-construct a new stream
- socket implementation from another protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Protocol" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.destroy" title="stream_socket_service::destroy">stream_socket_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230486672"></a>
-Destroy a stream socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.endpoint_type"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.endpoint_type" title="stream_socket_service::endpoint_type">stream_socket_service::endpoint_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230495072"></a>
-The endpoint type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.stream_socket_service.endpoint_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.endpoint_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.endpoint_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.get_io_service" title="stream_socket_service::get_io_service">stream_socket_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp230509152"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.get_option"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.get_option" title="stream_socket_service::get_option">stream_socket_service::get_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230519552"></a>
-Get a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.GettableSocketOption" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.id"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.id" title="stream_socket_service::id">stream_socket_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230542640"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.implementation_type" title="stream_socket_service::implementation_type">stream_socket_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230552464"></a>
-The type of a stream socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.stream_socket_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.io_control"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.io_control" title="stream_socket_service::io_control">stream_socket_service::io_control</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230564816"></a>
-Perform an IO control command on the socket.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.IoControlCommand" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.is_open" title="stream_socket_service::is_open">stream_socket_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230586112"></a>
-Determine whether the socket is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.local_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.local_endpoint" title="stream_socket_service::local_endpoint">stream_socket_service::local_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230596416"></a>
-Get the local endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.move_assign" title="stream_socket_service::move_assign">stream_socket_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230611568"></a>
-Move-assign from another stream socket
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">stream_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.move_construct" title="stream_socket_service::move_construct">stream_socket_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230625152"></a>
-Move-construct a new stream socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.native"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native" title="stream_socket_service::native">stream_socket_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230636208"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_handle" title="stream_socket_service::native_handle">stream_socket_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230646400"></a>
-Get the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_handle_type" title="stream_socket_service::native_handle_type">stream_socket_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230654880"></a>
-The native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.stream_socket_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.native_non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking" title="stream_socket_service::native_non_blocking">stream_socket_service::native_non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload1">stream_socket_service::native_non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload2">stream_socket_service::native_non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp230667376"></a>
-Gets the non-blocking mode of the
- native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload1" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload1" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload2" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload2" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.stream_socket_service.native_non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload1" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">stream_socket_service::native_non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.stream_socket_service.native_non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_non_blocking.overload2" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">stream_socket_service::native_non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the native socket implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_type" title="stream_socket_service::native_type">stream_socket_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230720768"></a>
-(Deprecated: Use native_handle_type.) The
- native socket type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.stream_socket_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.non_blocking"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking" title="stream_socket_service::non_blocking">stream_socket_service::non_blocking</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload1">stream_socket_service::non_blocking
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload2">stream_socket_service::non_blocking
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp230732944"></a>
-Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload1" title="stream_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload1" title="stream_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload2" title="stream_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload2" title="stream_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.stream_socket_service.non_blocking.overload1"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload1" title="stream_socket_service::non_blocking (1 of 2 overloads)">stream_socket_service::non_blocking
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Gets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.stream_socket_service.non_blocking.overload2"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.non_blocking.overload2" title="stream_socket_service::non_blocking (2 of 2 overloads)">stream_socket_service::non_blocking
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Sets the non-blocking mode of the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.open"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.open" title="stream_socket_service::open">stream_socket_service::open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230786080"></a>
-Open a stream socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.protocol_type"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.protocol_type" title="stream_socket_service::protocol_type">stream_socket_service::protocol_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230804800"></a>
-The protocol type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.stream_socket_service.protocol_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.stream_socket_service.protocol_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.protocol_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.receive"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.receive" title="stream_socket_service::receive">stream_socket_service::receive</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230816976"></a>
-Receive some data from the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.remote_endpoint"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.remote_endpoint" title="stream_socket_service::remote_endpoint">stream_socket_service::remote_endpoint</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230840800"></a>
-Get the remote endpoint.
- </p>
-<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.send"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.send" title="stream_socket_service::send">stream_socket_service::send</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230855888"></a>
-Send the given data to the peer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.set_option"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.set_option" title="stream_socket_service::set_option">stream_socket_service::set_option</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230879776"></a>
-Set a socket option.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SettableSocketOption" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.shutdown"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.shutdown" title="stream_socket_service::shutdown">stream_socket_service::shutdown</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230901776"></a>
-Disable sends or receives on the socket.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.stream_socket_service.stream_socket_service"></a><a class="link" href="reference.html#boost_asio.reference.stream_socket_service.stream_socket_service" title="stream_socket_service::stream_socket_service">stream_socket_service::stream_socket_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp230920160"></a>
-Construct a new stream socket
- service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">stream_socket_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.streambuf"></a><a class="link" href="reference.html#boost_asio.reference.streambuf" title="streambuf">streambuf</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp230931808"></a>
-Typedef for the typical usage of <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a>.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_streambuf</span> <span class="identifier">streambuf</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.streambuf.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.streambuf.types"></a></span><a class="link" href="reference.html#boost_asio.reference.streambuf.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.const_buffers_type" title="basic_streambuf::const_buffers_type"><span class="bold"><strong>const_buffers_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used to represent the input sequence as a list of buffers.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.mutable_buffers_type" title="basic_streambuf::mutable_buffers_type"><span class="bold"><strong>mutable_buffers_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type used to represent the output sequence as a list of buffers.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.streambuf.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.streambuf.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.streambuf.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.basic_streambuf" title="basic_streambuf::basic_streambuf"><span class="bold"><strong>basic_streambuf</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_streambuf object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.commit" title="basic_streambuf::commit"><span class="bold"><strong>commit</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move characters from the output sequence to the input sequence.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.consume" title="basic_streambuf::consume"><span class="bold"><strong>consume</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Remove characters from the input sequence.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.data" title="basic_streambuf::data"><span class="bold"><strong>data</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a list of buffers that represents the input sequence.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.max_size" title="basic_streambuf::max_size"><span class="bold"><strong>max_size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the maximum size of the basic_streambuf.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.prepare" title="basic_streambuf::prepare"><span class="bold"><strong>prepare</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a list of buffers that represents the output sequence, with
- the given size.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.size" title="basic_streambuf::size"><span class="bold"><strong>size</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the size of the input sequence.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.streambuf.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.streambuf.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.streambuf.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.overflow" title="basic_streambuf::overflow"><span class="bold"><strong>overflow</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Override std::streambuf behaviour.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.reserve" title="basic_streambuf::reserve"><span class="bold"><strong>reserve</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_streambuf.underflow" title="basic_streambuf::underflow"><span class="bold"><strong>underflow</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Override std::streambuf behaviour.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class
- is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span></code> to associate the streambuf's
- input and output sequences with one or more character arrays. These character
- arrays are internal to the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object, but direct access to the array elements is provided to permit them
- to be used efficiently with I/O operations. Characters written to the output
- sequence of a <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object are appended to the input sequence of the same object.
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class's
- public interface is intended to permit the following implementation strategies:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A single contiguous character array, which is reallocated as necessary
- to accommodate changes in the size of the character sequence. This is
- the implementation approach currently used in Asio.
- </li>
-<li class="listitem">
- A sequence of one or more character arrays, where each array is of the
- same size. Additional character array objects are appended to the sequence
- to accommodate changes in the size of the character sequence.
- </li>
-<li class="listitem">
- A sequence of one or more character arrays of varying sizes. Additional
- character array objects are appended to the sequence to accommodate changes
- in the size of the character sequence.
- </li>
-</ul></div>
-<p>
- The constructor for <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> accepts a <code class="computeroutput"><span class="identifier">size_t</span></code> argument specifying the maximum
- of the sum of the sizes of the input sequence and output sequence. During
- the lifetime of the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object, the following invariant holds:
- </p>
-<pre class="programlisting"><span class="identifier">size</span><span class="special">()</span> <span class="special">&lt;=</span> <span class="identifier">max_size</span><span class="special">()</span>
-</pre>
-<p>
- Any member function that would, if successful, cause the invariant to be
- violated shall throw an exception of class <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code>.
- </p>
-<p>
- The constructor for <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- takes an Allocator argument. A copy of this argument is used for any memory
- allocation performed, by the constructor and by all member functions, during
- the lifetime of each <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
- object.
- </p>
-<h5>
-<a name="boost_asio.reference.streambuf.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.streambuf.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.streambuf.examples">Examples</a>
- </h5>
-<p>
- Writing directly from an streambuf to a socket:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="identifier">os</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, World!\n"</span><span class="special">;</span>
-
-<span class="comment">// try sending some data in input sequence</span>
-<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">.</span><span class="identifier">data</span><span class="special">());</span>
-
-<span class="identifier">b</span><span class="special">.</span><span class="identifier">consume</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span> <span class="comment">// sent data is removed from input sequence</span>
-</pre>
-<p>
- Reading from a socket directly into a streambuf:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
-
-<span class="comment">// reserve 512 bytes in output sequence</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">mutable_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">.</span><span class="identifier">prepare</span><span class="special">(</span><span class="number">512</span><span class="special">);</span>
-
-<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">bufs</span><span class="special">);</span>
-
-<span class="comment">// received data is "committed" from output sequence to input sequence</span>
-<span class="identifier">b</span><span class="special">.</span><span class="identifier">commit</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
-<span class="identifier">is</span> <span class="special">&gt;&gt;</span> <span class="identifier">s</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.streambuf.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.streambuf.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.streambuf.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/streambuf.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.system_timer"></a><a class="link" href="reference.html#boost_asio.reference.system_timer" title="system_timer">system_timer</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp231088272"></a>
-Typedef for a timer based on the system clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span> <span class="identifier">system_timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.system_timer.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.types"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.clock_type" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The clock type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.duration" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation_type" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service_type" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.time_point" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time point type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.traits_type" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The wait traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.system_timer.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.async_wait" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Constructor.
- </p>
- <p>
- Constructor to set a particular expiry time as an absolute time.
- </p>
- <p>
- Constructor to set a particular expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous operations that are waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.cancel_one" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous operation that is waiting on the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_at" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time as an absolute time.
- </p>
- <p>
- Set the timer's expiry time as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.expires_from_now" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the timer's expiry time relative to now.
- </p>
- <p>
- Set the timer's expiry time relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_io_service" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.wait" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the timer.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.system_timer.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_implementation" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.get_service" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.system_timer.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.implementation" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer.service" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
- provides the ability to perform a blocking or asynchronous wait for a timer
- to expire.
- </p>
-<p>
- A waitable timer is always in one of two states: "expired" or "not
- expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
- the wait operation will complete immediately.
- </p>
-<p>
- Most applications will use one of the <a class="link" href="reference.html#boost_asio.reference.steady_timer" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="reference.html#boost_asio.reference.system_timer" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="reference.html#boost_asio.reference.high_resolution_timer" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
- </p>
-<h5>
-<a name="boost_asio.reference.system_timer.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.remarks">Remarks</a>
- </h5>
-<p>
- This waitable timer functionality is for use with the C++11 standard library's
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
- </p>
-<h5>
-<a name="boost_asio.reference.system_timer.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.system_timer.h6"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.examples"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.examples">Examples</a>
- </h5>
-<p>
- Performing a blocking wait (C++11):
- </p>
-<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-
-<span class="comment">// Set an expiry time relative to now.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-
-<span class="comment">// Wait for the timer to expire.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Performing an asynchronous wait (C++11):
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer expired.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="special">...</span>
-
-<span class="comment">// Construct a timer with an absolute expiry time.</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
-
-<span class="comment">// Start an asynchronous wait.</span>
-<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.system_timer.h7"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
- an active waitable timer's expiry time</a>
- </h5>
-<p>
- Changing the expiry time of a timer while there are pending asynchronous
- waits causes those wait operations to be cancelled. To ensure that the action
- associated with the timer is performed only once, use something like this:
- used:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
- <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="special">{</span>
- <span class="comment">// Too late, timer has already expired!</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Timer was not cancelled, take necessary action.</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
- function cancels any pending asynchronous waits, and returns the number
- of asynchronous waits that were cancelled. If it returns 0 then you were
- too late and the wait handler has already been executed, or will soon
- be executed. If it returns 1 then the wait handler was successfully cancelled.
- </li>
-<li class="listitem">
- If a wait handler is cancelled, the boost::system::error_code passed
- to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
- </li>
-</ul></div>
-<p>
- This typedef uses the C++11 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code>
- standard library facility, if available. Otherwise, it may use the Boost.Chrono
- library. To explicitly utilise Boost.Chrono, use the <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> template directly:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span><span class="special">&gt;</span> <span class="identifier">timer</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.system_timer.h8"></a>
- <span class="phrase"><a name="boost_asio.reference.system_timer.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.system_timer.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/system_timer.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_" title="time_traits&lt; boost::posix_time::ptime &gt;">time_traits&lt;
- boost::posix_time::ptime &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.add">time_traits&lt;
- boost::posix_time::ptime &gt;::add</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.duration_type">time_traits&lt;
- boost::posix_time::ptime &gt;::duration_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.less_than">time_traits&lt;
- boost::posix_time::ptime &gt;::less_than</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.now">time_traits&lt;
- boost::posix_time::ptime &gt;::now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.subtract">time_traits&lt;
- boost::posix_time::ptime &gt;::subtract</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.time_type">time_traits&lt;
- boost::posix_time::ptime &gt;::time_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.to_posix_duration">time_traits&lt;
- boost::posix_time::ptime &gt;::to_posix_duration</a></span></dt>
-</dl></div>
-<p>
- Time traits specialised for posix_time.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">time_traits</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.types"></a></span><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.duration_type" title="time_traits&lt; boost::posix_time::ptime &gt;::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.time_type" title="time_traits&lt; boost::posix_time::ptime &gt;::time_type"><span class="bold"><strong>time_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.add" title="time_traits&lt; boost::posix_time::ptime &gt;::add"><span class="bold"><strong>add</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Add a duration to a time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.less_than" title="time_traits&lt; boost::posix_time::ptime &gt;::less_than"><span class="bold"><strong>less_than</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Test whether one time is less than another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.now" title="time_traits&lt; boost::posix_time::ptime &gt;::now"><span class="bold"><strong>now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the current time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.subtract" title="time_traits&lt; boost::posix_time::ptime &gt;::subtract"><span class="bold"><strong>subtract</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Subtract one time from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.to_posix_duration" title="time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration"><span class="bold"><strong>to_posix_duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Convert to POSIX duration type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/time_traits.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.add"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.add" title="time_traits&lt; boost::posix_time::ptime &gt;::add">time_traits&lt;
- boost::posix_time::ptime &gt;::add</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231383184"></a>
-Add a duration to a time.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">time_type</span> <span class="identifier">add</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.duration_type"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.duration_type" title="time_traits&lt; boost::posix_time::ptime &gt;::duration_type">time_traits&lt;
- boost::posix_time::ptime &gt;::duration_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231396256"></a>
-The duration
- type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span> <span class="identifier">duration_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.duration_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.duration_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.duration_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/time_traits.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.less_than"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.less_than" title="time_traits&lt; boost::posix_time::ptime &gt;::less_than">time_traits&lt;
- boost::posix_time::ptime &gt;::less_than</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231410928"></a>
-Test whether one
- time is less than another.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">less_than</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t2</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.now"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.now" title="time_traits&lt; boost::posix_time::ptime &gt;::now">time_traits&lt;
- boost::posix_time::ptime &gt;::now</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231424080"></a>
-Get the current time.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">time_type</span> <span class="identifier">now</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.subtract"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.subtract" title="time_traits&lt; boost::posix_time::ptime &gt;::subtract">time_traits&lt;
- boost::posix_time::ptime &gt;::subtract</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231430736"></a>
-Subtract one time
- from another.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">duration_type</span> <span class="identifier">subtract</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t2</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.time_type"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.time_type" title="time_traits&lt; boost::posix_time::ptime &gt;::time_type">time_traits&lt;
- boost::posix_time::ptime &gt;::time_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231444016"></a>
-The time type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span> <span class="identifier">time_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.time_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.time_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.time_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/time_traits.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.time_traits_lt__ptime__gt_.to_posix_duration"></a><a class="link" href="reference.html#boost_asio.reference.time_traits_lt__ptime__gt_.to_posix_duration" title="time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration">time_traits&lt;
- boost::posix_time::ptime &gt;::to_posix_duration</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231458464"></a>
-Convert to
- POSIX duration type.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span> <span class="identifier">to_posix_duration</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.transfer_all"></a><a class="link" href="reference.html#boost_asio.reference.transfer_all" title="transfer_all">transfer_all</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp231470560"></a>
-Return a completion condition function object that indicates
- that a read or write operation should continue until all of the data has
- been transferred, or until an error occurs.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">transfer_all</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to create an object, of unspecified type, that meets
- CompletionCondition requirements.
- </p>
-<h5>
-<a name="boost_asio.reference.transfer_all.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.transfer_all.example"></a></span><a class="link" href="reference.html#boost_asio.reference.transfer_all.example">Example</a>
- </h5>
-<p>
- Reading until a buffer is full:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">else</span>
-<span class="special">{</span>
- <span class="comment">// n == 128</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.transfer_all.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.transfer_all.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.transfer_all.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/completion_condition.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.transfer_at_least"></a><a class="link" href="reference.html#boost_asio.reference.transfer_at_least" title="transfer_at_least">transfer_at_least</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp231519280"></a>
-Return a completion condition function object that indicates
- that a read or write operation should continue until a minimum number of
- bytes has been transferred, or until an error occurs.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">transfer_at_least</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">minimum</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to create an object, of unspecified type, that meets
- CompletionCondition requirements.
- </p>
-<h5>
-<a name="boost_asio.reference.transfer_at_least.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.transfer_at_least.example"></a></span><a class="link" href="reference.html#boost_asio.reference.transfer_at_least.example">Example</a>
- </h5>
-<p>
- Reading until a buffer is full or contains at least 64 bytes:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">64</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">else</span>
-<span class="special">{</span>
- <span class="comment">// n &gt;= 64 &amp;&amp; n &lt;= 128</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.transfer_at_least.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.transfer_at_least.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.transfer_at_least.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/completion_condition.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.transfer_exactly"></a><a class="link" href="reference.html#boost_asio.reference.transfer_exactly" title="transfer_exactly">transfer_exactly</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp231572352"></a>
-Return a completion condition function object that indicates
- that a read or write operation should continue until an exact number of bytes
- has been transferred, or until an error occurs.
- </p>
-<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">transfer_exactly</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to create an object, of unspecified type, that meets
- CompletionCondition requirements.
- </p>
-<h5>
-<a name="boost_asio.reference.transfer_exactly.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.transfer_exactly.example"></a></span><a class="link" href="reference.html#boost_asio.reference.transfer_exactly.example">Example</a>
- </h5>
-<p>
- Reading until a buffer is full or contains exactly 64 bytes:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
- <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_exactly</span><span class="special">(</span><span class="number">64</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// An error occurred.</span>
-<span class="special">}</span>
-<span class="keyword">else</span>
-<span class="special">{</span>
- <span class="comment">// n == 64</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.transfer_exactly.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.transfer_exactly.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.transfer_exactly.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/completion_condition.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.use_future"></a><a class="link" href="reference.html#boost_asio.reference.use_future" title="use_future">use_future</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp231625392"></a>
-A special value, similar to std::nothrow.
- </p>
-<pre class="programlisting"><span class="keyword">constexpr</span> <span class="identifier">use_future_t</span> <span class="identifier">use_future</span><span class="special">;</span>
-</pre>
-<p>
- See the documentation for <a class="link" href="reference.html#boost_asio.reference.use_future_t" title="use_future_t"><code class="computeroutput"><span class="identifier">use_future_t</span></code></a> for a usage example.
- </p>
-<h5>
-<a name="boost_asio.reference.use_future.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.use_future.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.use_future.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/use_future.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.use_future_t"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t" title="use_future_t">use_future_t</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t.allocator_type">use_future_t::allocator_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t.get_allocator">use_future_t::get_allocator</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t.operator_lb__rb_">use_future_t::operator[]</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t.use_future_t">use_future_t::use_future_t</a></span></dt>
-</dl></div>
-<p>
- Class used to specify that an asynchronous operation should return a future.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">use_future_t</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.use_future_t.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.use_future_t.types"></a></span><a class="link" href="reference.html#boost_asio.reference.use_future_t.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.use_future_t.allocator_type" title="use_future_t::allocator_type"><span class="bold"><strong>allocator_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The allocator type. The allocator is used when constructing the
- std::promise object for a given asynchronous operation.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.use_future_t.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.use_future_t.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.use_future_t.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.use_future_t.get_allocator" title="use_future_t::get_allocator"><span class="bold"><strong>get_allocator</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Obtain allocator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.use_future_t.operator_lb__rb_" title="use_future_t::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Specify an alternate allocator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t" title="use_future_t::use_future_t"><span class="bold"><strong>use_future_t</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct using default-constructed allocator.
- </p>
- <p>
- Construct using specified allocator.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.use_future_t" title="use_future_t"><code class="computeroutput"><span class="identifier">use_future_t</span></code></a>
- class is used to indicate that an asynchronous operation should return a
- std::future object. A <a class="link" href="reference.html#boost_asio.reference.use_future_t" title="use_future_t"><code class="computeroutput"><span class="identifier">use_future_t</span></code></a> object may be passed
- as a handler to an asynchronous operation, typically using the special value
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code>. For example:
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">my_future</span>
- <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span>
-</pre>
-<p>
- The initiating function (async_read_some in the above example) returns a
- future that will receive the result of the operation. If the operation completes
- with an error_code indicating failure, it is converted into a system_error
- and passed back to the caller via the future.
- </p>
-<h5>
-<a name="boost_asio.reference.use_future_t.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.use_future_t.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.use_future_t.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/use_future.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.use_future_t.allocator_type"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t.allocator_type" title="use_future_t::allocator_type">use_future_t::allocator_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231703264"></a>
-The allocator type. The allocator is used when
- constructing the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">promise</span></code> object for a given asynchronous
- operation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Allocator</span> <span class="identifier">allocator_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.use_future_t.allocator_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.use_future_t.allocator_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.use_future_t.allocator_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/use_future.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.use_future_t.get_allocator"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t.get_allocator" title="use_future_t::get_allocator">use_future_t::get_allocator</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231717232"></a>
-Obtain allocator.
- </p>
-<pre class="programlisting"><span class="identifier">allocator_type</span> <span class="identifier">get_allocator</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.use_future_t.operator_lb__rb_"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t.operator_lb__rb_" title="use_future_t::operator[]">use_future_t::operator[]</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231724304"></a>
-Specify an alternate allocator.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">OtherAllocator</span><span class="special">&gt;</span>
-<span class="identifier">use_future_t</span><span class="special">&lt;</span> <span class="identifier">OtherAllocator</span> <span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">[](</span>
- <span class="keyword">const</span> <span class="identifier">OtherAllocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.use_future_t.use_future_t"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t" title="use_future_t::use_future_t">use_future_t::use_future_t</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload1">use_future_t::use_future_t
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload2">use_future_t::use_future_t
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp231739728"></a>
-Construct using default-constructed allocator.
- </p>
-<pre class="programlisting"><span class="keyword">constexpr</span> <a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload1" title="use_future_t::use_future_t (1 of 2 overloads)">use_future_t</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload1" title="use_future_t::use_future_t (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct using specified allocator.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload2" title="use_future_t::use_future_t (2 of 2 overloads)">use_future_t</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload2" title="use_future_t::use_future_t (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.use_future_t.use_future_t.overload1"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload1" title="use_future_t::use_future_t (1 of 2 overloads)">use_future_t::use_future_t
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct using default-constructed allocator.
- </p>
-<pre class="programlisting"><span class="keyword">constexpr</span> <span class="identifier">use_future_t</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.use_future_t.use_future_t.overload2"></a><a class="link" href="reference.html#boost_asio.reference.use_future_t.use_future_t.overload2" title="use_future_t::use_future_t (2 of 2 overloads)">use_future_t::use_future_t
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct using specified allocator.
- </p>
-<pre class="programlisting"><span class="identifier">use_future_t</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.use_service"></a><a class="link" href="reference.html#boost_asio.reference.use_service" title="use_service">use_service</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp231767024"></a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Service" title="Service requirements">Service</a><span class="special">&gt;</span>
-<span class="identifier">Service</span> <span class="special">&amp;</span> <span class="identifier">use_service</span><span class="special">(</span>
- <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to locate a service object that corresponds to the
- given service type. If there is no existing implementation of the service,
- then the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- will create a new instance of the service.
- </p>
-<h5>
-<a name="boost_asio.reference.use_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.use_service.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.use_service.parameters">Parameters</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ios</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
- object that owns the service.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="boost_asio.reference.use_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.use_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.use_service.return_value">Return
- Value</a>
- </h5>
-<p>
- The service interface implementing the specified service type. Ownership
- of the service interface is not transferred to the caller.
- </p>
-<h5>
-<a name="boost_asio.reference.use_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.use_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.use_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.wait_traits"></a><a class="link" href="reference.html#boost_asio.reference.wait_traits" title="wait_traits">wait_traits</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.wait_traits.to_wait_duration">wait_traits::to_wait_duration</a></span></dt></dl></div>
-<p>
- Wait traits suitable for use with the <a class="link" href="reference.html#boost_asio.reference.basic_waitable_timer" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">wait_traits</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.wait_traits.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.wait_traits.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.wait_traits.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.wait_traits.to_wait_duration" title="wait_traits::to_wait_duration"><span class="bold"><strong>to_wait_duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Convert a clock duration into a duration used for waiting.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.wait_traits.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.wait_traits.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.wait_traits.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/wait_traits.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.wait_traits.to_wait_duration"></a><a class="link" href="reference.html#boost_asio.reference.wait_traits.to_wait_duration" title="wait_traits::to_wait_duration">wait_traits::to_wait_duration</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231821424"></a>
-Convert a clock duration into a duration used
- for waiting.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">to_wait_duration</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.wait_traits.to_wait_duration.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.wait_traits.to_wait_duration.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.wait_traits.to_wait_duration.return_value">Return
- Value</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">d</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.waitable_timer_service"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service" title="waitable_timer_service">waitable_timer_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.async_wait">waitable_timer_service::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.cancel">waitable_timer_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.cancel_one">waitable_timer_service::cancel_one</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.clock_type">waitable_timer_service::clock_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.construct">waitable_timer_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.destroy">waitable_timer_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.duration">waitable_timer_service::duration</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.expires_at">waitable_timer_service::expires_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now">waitable_timer_service::expires_from_now</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.get_io_service">waitable_timer_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.id">waitable_timer_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.implementation_type">waitable_timer_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.time_point">waitable_timer_service::time_point</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.traits_type">waitable_timer_service::traits_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.wait">waitable_timer_service::wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.waitable_timer_service">waitable_timer_service::waitable_timer_service</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a timer.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitTraits" title="Wait traits requirements">WaitTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">wait_traits</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">waitable_timer_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.waitable_timer_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.clock_type" title="waitable_timer_service::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The clock type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.duration" title="waitable_timer_service::duration"><span class="bold"><strong>duration</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The duration type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.implementation_type" title="waitable_timer_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The implementation type of the waitable timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.time_point" title="waitable_timer_service::time_point"><span class="bold"><strong>time_point</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The time point type of the clock.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.traits_type" title="waitable_timer_service::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The wait traits type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.waitable_timer_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.async_wait" title="waitable_timer_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.cancel" title="waitable_timer_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel any asynchronous wait operations associated with the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.cancel_one" title="waitable_timer_service::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancels one asynchronous wait operation associated with the timer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.construct" title="waitable_timer_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new timer implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.destroy" title="waitable_timer_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a timer implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at" title="waitable_timer_service::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the expiry time for the timer as an absolute time.
- </p>
- <p>
- Set the expiry time for the timer as an absolute time.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now" title="waitable_timer_service::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the expiry time for the timer relative to now.
- </p>
- <p>
- Set the expiry time for the timer relative to now.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.get_io_service" title="waitable_timer_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.wait" title="waitable_timer_service::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.waitable_timer_service" title="waitable_timer_service::waitable_timer_service"><span class="bold"><strong>waitable_timer_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new timer service for the specified io_service.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.waitable_timer_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.data_members">Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.id" title="waitable_timer_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.waitable_timer_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.async_wait" title="waitable_timer_service::async_wait">waitable_timer_service::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231936464"></a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.cancel" title="waitable_timer_service::cancel">waitable_timer_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231950560"></a>
-Cancel any asynchronous wait operations associated
- with the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.cancel_one"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.cancel_one" title="waitable_timer_service::cancel_one">waitable_timer_service::cancel_one</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231964752"></a>
-Cancels one asynchronous wait operation
- associated with the timer.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.clock_type"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.clock_type" title="waitable_timer_service::clock_type">waitable_timer_service::clock_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231978976"></a>
-The clock type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.waitable_timer_service.clock_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.clock_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.clock_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.construct" title="waitable_timer_service::construct">waitable_timer_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231991024"></a>
-Construct a new timer implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.destroy" title="waitable_timer_service::destroy">waitable_timer_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp231999488"></a>
-Destroy a timer implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.duration"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.duration" title="waitable_timer_service::duration">waitable_timer_service::duration</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232007888"></a>
-The duration type of the clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.waitable_timer_service.duration.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.duration.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.duration.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.expires_at"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at" title="waitable_timer_service::expires_at">waitable_timer_service::expires_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload1">waitable_timer_service::expires_at
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload2">waitable_timer_service::expires_at
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232021024"></a>
-Get the expiry time for the timer as an
- absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_point</span> <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload1" title="waitable_timer_service::expires_at (1 of 2 overloads)">expires_at</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload1" title="waitable_timer_service::expires_at (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the expiry time for the timer as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload2" title="waitable_timer_service::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload2" title="waitable_timer_service::expires_at (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.waitable_timer_service.expires_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload1" title="waitable_timer_service::expires_at (1 of 2 overloads)">waitable_timer_service::expires_at
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the expiry time for the timer as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.waitable_timer_service.expires_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_at.overload2" title="waitable_timer_service::expires_at (2 of 2 overloads)">waitable_timer_service::expires_at
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the expiry time for the timer as an absolute time.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.expires_from_now"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now" title="waitable_timer_service::expires_from_now">waitable_timer_service::expires_from_now</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload1">waitable_timer_service::expires_from_now
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload2">waitable_timer_service::expires_from_now
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232074848"></a>
-Get the expiry time for the timer
- relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration</span> <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload1" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload1" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Set the expiry time for the timer relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload2" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload2" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.waitable_timer_service.expires_from_now.overload1"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload1" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">waitable_timer_service::expires_from_now
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the expiry time for the timer relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.waitable_timer_service.expires_from_now.overload2"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.expires_from_now.overload2" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">waitable_timer_service::expires_from_now
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Set the expiry time for the timer relative to now.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.get_io_service" title="waitable_timer_service::get_io_service">waitable_timer_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp232129632"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.id"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.id" title="waitable_timer_service::id">waitable_timer_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232140032"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.implementation_type" title="waitable_timer_service::implementation_type">waitable_timer_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232149776"></a>
-The implementation type of the
- waitable timer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.waitable_timer_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.time_point"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.time_point" title="waitable_timer_service::time_point">waitable_timer_service::time_point</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232162144"></a>
-The time point type of the clock.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_point</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.waitable_timer_service.time_point.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.time_point.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.time_point.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.traits_type"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.traits_type" title="waitable_timer_service::traits_type">waitable_timer_service::traits_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232175296"></a>
-The wait traits type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">WaitTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.waitable_timer_service.traits_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.traits_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.traits_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.wait"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.wait" title="waitable_timer_service::wait">waitable_timer_service::wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232187408"></a>
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.waitable_timer_service.waitable_timer_service"></a><a class="link" href="reference.html#boost_asio.reference.waitable_timer_service.waitable_timer_service" title="waitable_timer_service::waitable_timer_service">waitable_timer_service::waitable_timer_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232200496"></a>
-Construct a new timer service
- for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">waitable_timer_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__basic_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle">windows::basic_handle</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.assign">windows::basic_handle::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle">windows::basic_handle::basic_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.cancel">windows::basic_handle::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.close">windows::basic_handle::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation">windows::basic_handle::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service">windows::basic_handle::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_service">windows::basic_handle::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.implementation">windows::basic_handle::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type">windows::basic_handle::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.is_open">windows::basic_handle::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer">windows::basic_handle::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type">windows::basic_handle::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.native">windows::basic_handle::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.native_handle">windows::basic_handle::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type">windows::basic_handle::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.native_type">windows::basic_handle::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_">windows::basic_handle::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.service">windows::basic_handle::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.service_type">windows::basic_handle::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle">windows::basic_handle::~basic_handle</a></span></dt>
-</dl></div>
-<p>
- Provides Windows handle functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.HandleService" title="Handle service requirements">HandleService</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_handle</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">HandleService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__basic_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_handle without opening it.
- </p>
- <p>
- Construct a basic_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.is_open" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_handle from another.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
- the ability to wrap a Windows handle.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign" title="windows::basic_handle::assign">windows::basic_handle::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload1">windows::basic_handle::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload2">windows::basic_handle::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232335472"></a>
-Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload1" title="windows::basic_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload1" title="windows::basic_handle::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload2" title="windows::basic_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload2" title="windows::basic_handle::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload1" title="windows::basic_handle::assign (1 of 2 overloads)">windows::basic_handle::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign.overload2" title="windows::basic_handle::assign (2 of 2 overloads)">windows::basic_handle::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.basic_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle" title="windows::basic_handle::basic_handle">windows::basic_handle::basic_handle</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload1">windows::basic_handle::basic_handle
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2">windows::basic_handle::basic_handle
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3">windows::basic_handle::basic_handle
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232382832"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> without opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload1" title="windows::basic_handle::basic_handle (1 of 3 overloads)">basic_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload1" title="windows::basic_handle::basic_handle (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> on an existing native
- handle.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2" title="windows::basic_handle::basic_handle (2 of 3 overloads)">basic_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2" title="windows::basic_handle::basic_handle (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3" title="windows::basic_handle::basic_handle (3 of 3 overloads)">basic_handle</a><span class="special">(</span>
- <span class="identifier">basic_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3" title="windows::basic_handle::basic_handle (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload1" title="windows::basic_handle::basic_handle (1 of 3 overloads)">windows::basic_handle::basic_handle
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a handle without opening it.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the handle will use to dispatch handlers for any asynchronous operations
- performed on the handle.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2" title="windows::basic_handle::basic_handle (2 of 3 overloads)">windows::basic_handle::basic_handle
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> on an existing
- native handle.
- </p>
-<pre class="programlisting"><span class="identifier">basic_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a handle object to hold an existing native handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the handle will use to dispatch handlers for any asynchronous operations
- performed on the handle.
- </p></dd>
-<dt><span class="term">handle</span></dt>
-<dd><p>
- A native handle.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3" title="windows::basic_handle::basic_handle (3 of 3 overloads)">windows::basic_handle::basic_handle
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_handle</span><span class="special">(</span>
- <span class="identifier">basic_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> object from
- which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel" title="windows::basic_handle::cancel">windows::basic_handle::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload1">windows::basic_handle::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload2">windows::basic_handle::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232495168"></a>
-Cancel all asynchronous operations associated
- with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload1" title="windows::basic_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload1" title="windows::basic_handle::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload2" title="windows::basic_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload2" title="windows::basic_handle::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload1" title="windows::basic_handle::cancel (1 of 2 overloads)">windows::basic_handle::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload2" title="windows::basic_handle::cancel (2 of 2 overloads)">windows::basic_handle::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close" title="windows::basic_handle::close">windows::basic_handle::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.close.overload1">windows::basic_handle::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.close.overload2">windows::basic_handle::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232549696"></a>
-Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload1" title="windows::basic_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload1" title="windows::basic_handle::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload2" title="windows::basic_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload2" title="windows::basic_handle::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload1" title="windows::basic_handle::close (1 of 2 overloads)">windows::basic_handle::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload2" title="windows::basic_handle::close (2 of 2 overloads)">windows::basic_handle::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation" title="windows::basic_handle::get_implementation">windows::basic_handle::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload1">windows::basic_handle::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload2">windows::basic_handle::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232604448"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload1" title="windows::basic_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload1" title="windows::basic_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload2" title="windows::basic_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload2" title="windows::basic_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload1" title="windows::basic_handle::get_implementation (1 of 2 overloads)">windows::basic_handle::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation.overload2" title="windows::basic_handle::get_implementation (2 of 2 overloads)">windows::basic_handle::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service" title="windows::basic_handle::get_io_service">windows::basic_handle::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp232634128"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service" title="windows::basic_handle::get_service">windows::basic_handle::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload1">windows::basic_handle::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload2">windows::basic_handle::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232651952"></a>
-Get the service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload1" title="windows::basic_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload1" title="windows::basic_handle::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload2" title="windows::basic_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload2" title="windows::basic_handle::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload1" title="windows::basic_handle::get_service (1 of 2 overloads)">windows::basic_handle::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service.overload2" title="windows::basic_handle::get_service (2 of 2 overloads)">windows::basic_handle::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation" title="windows::basic_handle::implementation">windows::basic_handle::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp232681392"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
- I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type" title="windows::basic_handle::implementation_type">windows::basic_handle::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp232689760"></a>
-The underlying implementation type
- of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.is_open" title="windows::basic_handle::is_open">windows::basic_handle::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232703216"></a>
-Determine whether the handle is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer" title="windows::basic_handle::lowest_layer">windows::basic_handle::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload1">windows::basic_handle::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload2">windows::basic_handle::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp232710240"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload1" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload1" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload2" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload2" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload1" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">windows::basic_handle::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload2" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">windows::basic_handle::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type" title="windows::basic_handle::lowest_layer_type">windows::basic_handle::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232751872"></a>
-A <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">HandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_handle without opening it.
- </p>
- <p>
- Construct a basic_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.is_open" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_handle from another.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
- the ability to wrap a Windows handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.native"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native" title="windows::basic_handle::native">windows::basic_handle::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232872960"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle" title="windows::basic_handle::native_handle">windows::basic_handle::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232881104"></a>
-Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type" title="windows::basic_handle::native_handle_type">windows::basic_handle::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232887616"></a>
-The native representation of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">HandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.native_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type" title="windows::basic_handle::native_type">windows::basic_handle::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232900832"></a>
-(Deprecated: Use native_handle_type.) The
- native representation of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">HandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_" title="windows::basic_handle::operator=">windows::basic_handle::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232914032"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> object from
- which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service" title="windows::basic_handle::service">windows::basic_handle::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp232941920"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle.service_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type" title="windows::basic_handle::service_type">windows::basic_handle::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp232954128"></a>
-The type of the service that will be used
- to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">HandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_handle.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_handle._basic_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle" title="windows::basic_handle::~basic_handle">windows::basic_handle::~basic_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp232966304"></a>
-Protected destructor to prevent deletion
- through this type.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_handle</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle">windows::basic_object_handle</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.assign">windows::basic_object_handle::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.async_wait">windows::basic_object_handle::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle">windows::basic_object_handle::basic_object_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel">windows::basic_object_handle::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.close">windows::basic_object_handle::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation">windows::basic_object_handle::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_io_service">windows::basic_object_handle::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service">windows::basic_object_handle::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation">windows::basic_object_handle::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation_type">windows::basic_object_handle::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.is_open">windows::basic_object_handle::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer">windows::basic_object_handle::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type">windows::basic_object_handle::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.native">windows::basic_object_handle::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle">windows::basic_object_handle::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle_type">windows::basic_object_handle::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.native_type">windows::basic_object_handle::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_">windows::basic_object_handle::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.service">windows::basic_object_handle::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.service_type">windows::basic_object_handle::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.wait">windows::basic_object_handle::wait</a></span></dt>
-</dl></div>
-<p>
- Provides object-oriented handle functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ObjectHandleService" title="Object handle service requirements">ObjectHandleService</a> <span class="special">=</span> <span class="identifier">object_handle_service</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_object_handle</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">ObjectHandleService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__basic_object_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation_type" title="windows::basic_object_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type" title="windows::basic_object_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle_type" title="windows::basic_object_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_type" title="windows::basic_object_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service_type" title="windows::basic_object_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_object_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign" title="windows::basic_object_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.async_wait" title="windows::basic_object_handle::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the object handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle" title="windows::basic_object_handle::basic_object_handle"><span class="bold"><strong>basic_object_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_object_handle without opening it.
- </p>
- <p>
- Construct a basic_object_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_object_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel" title="windows::basic_object_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close" title="windows::basic_object_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_io_service" title="windows::basic_object_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.is_open" title="windows::basic_object_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer" title="windows::basic_object_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native" title="windows::basic_object_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle" title="windows::basic_object_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_" title="windows::basic_object_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_object_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait" title="windows::basic_object_handle::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the object handle.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_object_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation" title="windows::basic_object_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service" title="windows::basic_object_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_object_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation" title="windows::basic_object_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service" title="windows::basic_object_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> class template
- provides asynchronous and blocking object-oriented handle functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_object_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_object_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign" title="windows::basic_object_handle::assign">windows::basic_object_handle::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload1">windows::basic_object_handle::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload2">windows::basic_object_handle::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233102016"></a>
-Assign an existing native handle to the
- handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload1" title="windows::basic_object_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload1" title="windows::basic_object_handle::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload2" title="windows::basic_object_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload2" title="windows::basic_object_handle::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload1" title="windows::basic_object_handle::assign (1 of 2 overloads)">windows::basic_object_handle::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign.overload2" title="windows::basic_object_handle::assign (2 of 2 overloads)">windows::basic_object_handle::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.async_wait" title="windows::basic_object_handle::async_wait">windows::basic_object_handle::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp233151248"></a>
-Start an asynchronous wait on the
- object handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is be used to initiate an asynchronous wait against the object
- handle. It always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.async_wait.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.async_wait.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.async_wait.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the object handle is set to the signalled
- state. Copies will be made of the handler as required. The function
- signature of the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle" title="windows::basic_object_handle::basic_object_handle">windows::basic_object_handle::basic_object_handle</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1">windows::basic_object_handle::basic_object_handle
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2">windows::basic_object_handle::basic_object_handle
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3">windows::basic_object_handle::basic_object_handle
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233182592"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">basic_object_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> on an existing
- native handle.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">basic_object_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">basic_object_handle</a><span class="special">(</span>
- <span class="identifier">basic_object_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">windows::basic_object_handle::basic_object_handle
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_object_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates an object handle without opening it.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the object handle will use to dispatch handlers for any asynchronous
- operations performed on the handle.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">windows::basic_object_handle::basic_object_handle
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> on an existing
- native handle.
- </p>
-<pre class="programlisting"><span class="identifier">basic_object_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_handle</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates an object handle object to hold an existing
- native handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the object handle will use to dispatch handlers for any asynchronous
- operations performed on the handle.
- </p></dd>
-<dt><span class="term">native_handle</span></dt>
-<dd><p>
- The new underlying handle implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">windows::basic_object_handle::basic_object_handle
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_object_handle</span><span class="special">(</span>
- <span class="identifier">basic_object_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves an object handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_object_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel" title="windows::basic_object_handle::cancel">windows::basic_object_handle::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload1">windows::basic_object_handle::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload2">windows::basic_object_handle::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233295408"></a>
-Cancel all asynchronous operations associated
- with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload1" title="windows::basic_object_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload1" title="windows::basic_object_handle::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload2" title="windows::basic_object_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload2" title="windows::basic_object_handle::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload1" title="windows::basic_object_handle::cancel (1 of 2 overloads)">windows::basic_object_handle::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload2" title="windows::basic_object_handle::cancel (2 of 2 overloads)">windows::basic_object_handle::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close" title="windows::basic_object_handle::close">windows::basic_object_handle::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload1">windows::basic_object_handle::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload2">windows::basic_object_handle::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233351824"></a>
-Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload1" title="windows::basic_object_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload1" title="windows::basic_object_handle::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload2" title="windows::basic_object_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload2" title="windows::basic_object_handle::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload1" title="windows::basic_object_handle::close (1 of 2 overloads)">windows::basic_object_handle::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload2" title="windows::basic_object_handle::close (2 of 2 overloads)">windows::basic_object_handle::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation" title="windows::basic_object_handle::get_implementation">windows::basic_object_handle::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload1">windows::basic_object_handle::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload2">windows::basic_object_handle::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233408288"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload1" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload1" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload2" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload2" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload1" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">windows::basic_object_handle::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation.overload2" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">windows::basic_object_handle::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_io_service" title="windows::basic_object_handle::get_io_service">windows::basic_object_handle::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233438224"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service" title="windows::basic_object_handle::get_service">windows::basic_object_handle::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload1">windows::basic_object_handle::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload2">windows::basic_object_handle::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233456048"></a>
-Get the service associated with
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload1" title="windows::basic_object_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload1" title="windows::basic_object_handle::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload2" title="windows::basic_object_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload2" title="windows::basic_object_handle::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload1" title="windows::basic_object_handle::get_service (1 of 2 overloads)">windows::basic_object_handle::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service.overload2" title="windows::basic_object_handle::get_service (2 of 2 overloads)">windows::basic_object_handle::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation" title="windows::basic_object_handle::implementation">windows::basic_object_handle::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233485584"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
- The underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation_type" title="windows::basic_object_handle::implementation_type">windows::basic_object_handle::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233493968"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.is_open" title="windows::basic_object_handle::is_open">windows::basic_object_handle::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233508144"></a>
-Determine whether the handle is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer" title="windows::basic_object_handle::lowest_layer">windows::basic_object_handle::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1">windows::basic_object_handle::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2">windows::basic_object_handle::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233515328"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">windows::basic_object_handle::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">windows::basic_object_handle::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type" title="windows::basic_object_handle::lowest_layer_type">windows::basic_object_handle::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233560128"></a>
-A <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">ObjectHandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_handle without opening it.
- </p>
- <p>
- Construct a basic_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.is_open" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_handle from another.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
- the ability to wrap a Windows handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.native"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native" title="windows::basic_object_handle::native">windows::basic_object_handle::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233682368"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle" title="windows::basic_object_handle::native_handle">windows::basic_object_handle::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233691360"></a>
-Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle_type" title="windows::basic_object_handle::native_handle_type">windows::basic_object_handle::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp233697888"></a>
-The native representation
- of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ObjectHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.native_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_type" title="windows::basic_object_handle::native_type">windows::basic_object_handle::native_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233712240"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ObjectHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_" title="windows::basic_object_handle::operator=">windows::basic_object_handle::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp233725600"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_object_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_object_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves an object handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_object_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service" title="windows::basic_object_handle::service">windows::basic_object_handle::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233753744"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.service_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service_type" title="windows::basic_object_handle::service_type">windows::basic_object_handle::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp233766160"></a>
-The type of the service that will
- be used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ObjectHandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.wait"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait" title="windows::basic_object_handle::wait">windows::basic_object_handle::wait</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload1">windows::basic_object_handle::wait
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload2">windows::basic_object_handle::wait
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233778544"></a>
-Perform a blocking wait on the object handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload1" title="windows::basic_object_handle::wait (1 of 2 overloads)">wait</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload1" title="windows::basic_object_handle::wait (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload2" title="windows::basic_object_handle::wait (2 of 2 overloads)">wait</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload2" title="windows::basic_object_handle::wait (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.wait.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload1" title="windows::basic_object_handle::wait (1 of 2 overloads)">windows::basic_object_handle::wait
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform a blocking wait on the object handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to wait for the object handle to be set to the
- signalled state. This function blocks and does not return until the object
- handle has been set to the signalled state.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.wait.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.wait.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_object_handle.wait.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload2" title="windows::basic_object_handle::wait (2 of 2 overloads)">windows::basic_object_handle::wait
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Perform a blocking wait on the object handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to wait for the object handle to be set to the
- signalled state. This function blocks and does not return until the object
- handle has been set to the signalled state.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_object_handle.wait.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.wait.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle">windows::basic_random_access_handle</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign">windows::basic_random_access_handle::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at">windows::basic_random_access_handle::async_read_some_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at">windows::basic_random_access_handle::async_write_some_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle">windows::basic_random_access_handle::basic_random_access_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel">windows::basic_random_access_handle::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close">windows::basic_random_access_handle::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation">windows::basic_random_access_handle::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service">windows::basic_random_access_handle::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service">windows::basic_random_access_handle::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation">windows::basic_random_access_handle::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type">windows::basic_random_access_handle::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.is_open">windows::basic_random_access_handle::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer">windows::basic_random_access_handle::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type">windows::basic_random_access_handle::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native">windows::basic_random_access_handle::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle">windows::basic_random_access_handle::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type">windows::basic_random_access_handle::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_type">windows::basic_random_access_handle::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_">windows::basic_random_access_handle::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at">windows::basic_random_access_handle::read_some_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service">windows::basic_random_access_handle::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service_type">windows::basic_random_access_handle::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at">windows::basic_random_access_handle::write_some_at</a></span></dt>
-</dl></div>
-<p>
- Provides random-access handle functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.RandomAccessHandleService" title="Random access handle service requirements">RandomAccessHandleService</a> <span class="special">=</span> <span class="identifier">random_access_handle_service</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_random_access_handle</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">RandomAccessHandleService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__basic_random_access_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type" title="windows::basic_random_access_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type" title="windows::basic_random_access_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type" title="windows::basic_random_access_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_type" title="windows::basic_random_access_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service_type" title="windows::basic_random_access_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_random_access_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign" title="windows::basic_random_access_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at" title="windows::basic_random_access_handle::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at" title="windows::basic_random_access_handle::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle" title="windows::basic_random_access_handle::basic_random_access_handle"><span class="bold"><strong>basic_random_access_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_random_access_handle without opening it.
- </p>
- <p>
- Construct a basic_random_access_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_random_access_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel" title="windows::basic_random_access_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close" title="windows::basic_random_access_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service" title="windows::basic_random_access_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.is_open" title="windows::basic_random_access_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer" title="windows::basic_random_access_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native" title="windows::basic_random_access_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle" title="windows::basic_random_access_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_" title="windows::basic_random_access_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_random_access_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at" title="windows::basic_random_access_handle::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the handle at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at" title="windows::basic_random_access_handle::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the handle at the specified offset.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_random_access_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation" title="windows::basic_random_access_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service" title="windows::basic_random_access_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_random_access_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation" title="windows::basic_random_access_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service" title="windows::basic_random_access_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> class
- template provides asynchronous and blocking random-access handle functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_random_access_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_random_access_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign" title="windows::basic_random_access_handle::assign">windows::basic_random_access_handle::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload1">windows::basic_random_access_handle::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload2">windows::basic_random_access_handle::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp233957536"></a>
-Assign an existing native handle
- to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload1" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload1" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload2" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload2" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload1" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">windows::basic_random_access_handle::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign.overload2" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">windows::basic_random_access_handle::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at" title="windows::basic_random_access_handle::async_read_some_at">windows::basic_random_access_handle::async_read_some_at</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp234007040"></a>
-Start an asynchronous
- read at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some_at</span><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data from the random-access
- handle. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.remarks">Remarks</a>
- </h6>
-<p>
- The read operation may not read all of the requested number of bytes. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_read_at" title="async_read_at"><code class="computeroutput"><span class="identifier">async_read_at</span></code></a> function if you
- need to ensure that the requested amount of data is read before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_read_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at" title="windows::basic_random_access_handle::async_write_some_at">windows::basic_random_access_handle::async_write_some_at</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp234076128"></a>
-Start an asynchronous
- write at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some_at</span><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write data to the random-access
- handle. The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the handle. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.remarks">Remarks</a>
- </h6>
-<p>
- The write operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write_at" title="async_write_at"><code class="computeroutput"><span class="identifier">async_write_at</span></code></a> function if you
- need to ensure that all data is written before the asynchronous operation
- completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle" title="windows::basic_random_access_handle::basic_random_access_handle">windows::basic_random_access_handle::basic_random_access_handle</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1">windows::basic_random_access_handle::basic_random_access_handle
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2">windows::basic_random_access_handle::basic_random_access_handle
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3">windows::basic_random_access_handle::basic_random_access_handle
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234145312"></a>
-Construct
- a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">basic_random_access_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> on
- an existing native handle.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">basic_random_access_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> from
- another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">basic_random_access_handle</a><span class="special">(</span>
- <span class="identifier">basic_random_access_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">windows::basic_random_access_handle::basic_random_access_handle
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_random_access_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a random-access handle without opening it. The
- handle needs to be opened before data can be written to or read from
- it.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the random-access handle will use to dispatch handlers for any
- asynchronous operations performed on the handle.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">windows::basic_random_access_handle::basic_random_access_handle
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> on
- an existing native handle.
- </p>
-<pre class="programlisting"><span class="identifier">basic_random_access_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a random-access handle object to hold an existing
- native handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the random-access handle will use to dispatch handlers for any
- asynchronous operations performed on the handle.
- </p></dd>
-<dt><span class="term">handle</span></dt>
-<dd><p>
- The new underlying handle implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">windows::basic_random_access_handle::basic_random_access_handle
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> from
- another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_random_access_handle</span><span class="special">(</span>
- <span class="identifier">basic_random_access_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a random-access handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_random_access_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span></code> constructor.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel" title="windows::basic_random_access_handle::cancel">windows::basic_random_access_handle::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload1">windows::basic_random_access_handle::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload2">windows::basic_random_access_handle::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234259088"></a>
-Cancel all asynchronous operations
- associated with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload1" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload1" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload2" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload2" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload1" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">windows::basic_random_access_handle::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload2" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">windows::basic_random_access_handle::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close" title="windows::basic_random_access_handle::close">windows::basic_random_access_handle::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload1">windows::basic_random_access_handle::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload2">windows::basic_random_access_handle::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234315776"></a>
-Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload1" title="windows::basic_random_access_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload1" title="windows::basic_random_access_handle::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload2" title="windows::basic_random_access_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload2" title="windows::basic_random_access_handle::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload1" title="windows::basic_random_access_handle::close (1 of 2 overloads)">windows::basic_random_access_handle::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload2" title="windows::basic_random_access_handle::close (2 of 2 overloads)">windows::basic_random_access_handle::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation" title="windows::basic_random_access_handle::get_implementation">windows::basic_random_access_handle::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload1">windows::basic_random_access_handle::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload2">windows::basic_random_access_handle::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234372560"></a>
-Get the underlying
- implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload1" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload1" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload2" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload2" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload1" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">windows::basic_random_access_handle::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload2" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">windows::basic_random_access_handle::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service" title="windows::basic_random_access_handle::get_io_service">windows::basic_random_access_handle::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234402416"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service" title="windows::basic_random_access_handle::get_service">windows::basic_random_access_handle::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload1">windows::basic_random_access_handle::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload2">windows::basic_random_access_handle::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234420272"></a>
-Get the service associated
- with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload1" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload1" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload2" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload2" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload1" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">windows::basic_random_access_handle::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service.overload2" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">windows::basic_random_access_handle::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation" title="windows::basic_random_access_handle::implementation">windows::basic_random_access_handle::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234450128"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
- The underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type" title="windows::basic_random_access_handle::implementation_type">windows::basic_random_access_handle::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234458608"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.is_open" title="windows::basic_random_access_handle::is_open">windows::basic_random_access_handle::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234473008"></a>
-Determine whether the handle
- is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer" title="windows::basic_random_access_handle::lowest_layer">windows::basic_random_access_handle::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1">windows::basic_random_access_handle::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2">windows::basic_random_access_handle::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234480144"></a>
-Get a reference to the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">windows::basic_random_access_handle::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">windows::basic_random_access_handle::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type" title="windows::basic_random_access_handle::lowest_layer_type">windows::basic_random_access_handle::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234525040"></a>
-A <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">RandomAccessHandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_handle without opening it.
- </p>
- <p>
- Construct a basic_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.is_open" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_handle from another.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
- the ability to wrap a Windows handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.native"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native" title="windows::basic_random_access_handle::native">windows::basic_random_access_handle::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234647744"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.)
- Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle" title="windows::basic_random_access_handle::native_handle">windows::basic_random_access_handle::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234656752"></a>
-Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type" title="windows::basic_random_access_handle::native_handle_type">windows::basic_random_access_handle::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp234663344"></a>
-The native representation
- of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RandomAccessHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.native_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_type" title="windows::basic_random_access_handle::native_type">windows::basic_random_access_handle::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp234676864"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RandomAccessHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_" title="windows::basic_random_access_handle::operator=">windows::basic_random_access_handle::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp234690384"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> from
- another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_random_access_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_random_access_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a random-access handle from one object to
- another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a>
- object from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_random_access_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span></code> constructor.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at" title="windows::basic_random_access_handle::read_some_at">windows::basic_random_access_handle::read_some_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1">windows::basic_random_access_handle::read_some_at
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2">windows::basic_random_access_handle::read_some_at
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234717264"></a>
-Read some data from the
- handle at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">read_some_at</a><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">read_some_at</a><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">windows::basic_random_access_handle::read_some_at
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the handle at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some_at</span><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the random-access handle. The
- function call will block until one or more bytes of data has been read
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read_at" title="read_at"><code class="computeroutput"><span class="identifier">read_at</span></code></a> function if you need
- to ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">windows::basic_random_access_handle::read_some_at
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the handle at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some_at</span><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the random-access handle. The
- function call will block until one or more bytes of data has been read
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be read.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read_at" title="read_at"><code class="computeroutput"><span class="identifier">read_at</span></code></a> function if you need
- to ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service" title="windows::basic_random_access_handle::service">windows::basic_random_access_handle::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234847744"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.)
- The service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.service_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service_type" title="windows::basic_random_access_handle::service_type">windows::basic_random_access_handle::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp234860160"></a>
-The type of the service
- that will be used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RandomAccessHandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at" title="windows::basic_random_access_handle::write_some_at">windows::basic_random_access_handle::write_some_at</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1">windows::basic_random_access_handle::write_some_at
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2">windows::basic_random_access_handle::write_some_at
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp234872656"></a>
-Write some data to the
- handle at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">write_some_at</a><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">write_some_at</a><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">windows::basic_random_access_handle::write_some_at
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the handle at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some_at</span><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the random-access handle. The
- function call will block until one or more bytes of the data has been
- written successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the handle.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The write_some_at operation may not write all of the data. Consider using
- the <a class="link" href="reference.html#boost_asio.reference.write_at" title="write_at"><code class="computeroutput"><span class="identifier">write_at</span></code></a>
- function if you need to ensure that all data is written before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">windows::basic_random_access_handle::write_some_at
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the handle at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some_at</span><span class="special">(</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the random-access handle. The
- function call will block until one or more bytes of the data has been
- written successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the handle.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write_at" title="write_at"><code class="computeroutput"><span class="identifier">write_at</span></code></a> function if you need
- to ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle">windows::basic_stream_handle</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign">windows::basic_stream_handle::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some">windows::basic_stream_handle::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some">windows::basic_stream_handle::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle">windows::basic_stream_handle::basic_stream_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel">windows::basic_stream_handle::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.close">windows::basic_stream_handle::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation">windows::basic_stream_handle::get_implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_io_service">windows::basic_stream_handle::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service">windows::basic_stream_handle::get_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation">windows::basic_stream_handle::implementation</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation_type">windows::basic_stream_handle::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.is_open">windows::basic_stream_handle::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer">windows::basic_stream_handle::lowest_layer</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type">windows::basic_stream_handle::lowest_layer_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.native">windows::basic_stream_handle::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle">windows::basic_stream_handle::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type">windows::basic_stream_handle::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_type">windows::basic_stream_handle::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_">windows::basic_stream_handle::operator=</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some">windows::basic_stream_handle::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.service">windows::basic_stream_handle::service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.service_type">windows::basic_stream_handle::service_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some">windows::basic_stream_handle::write_some</a></span></dt>
-</dl></div>
-<p>
- Provides stream-oriented handle functionality.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.StreamHandleService" title="Stream handle service requirements">StreamHandleService</a> <span class="special">=</span> <span class="identifier">stream_handle_service</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">basic_stream_handle</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">StreamHandleService</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__basic_stream_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation_type" title="windows::basic_stream_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type" title="windows::basic_stream_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type" title="windows::basic_stream_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_type" title="windows::basic_stream_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service_type" title="windows::basic_stream_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_stream_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign" title="windows::basic_stream_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some" title="windows::basic_stream_handle::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some" title="windows::basic_stream_handle::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle" title="windows::basic_stream_handle::basic_stream_handle"><span class="bold"><strong>basic_stream_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_handle without opening it.
- </p>
- <p>
- Construct a basic_stream_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_stream_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel" title="windows::basic_stream_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close" title="windows::basic_stream_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_io_service" title="windows::basic_stream_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.is_open" title="windows::basic_stream_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer" title="windows::basic_stream_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native" title="windows::basic_stream_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle" title="windows::basic_stream_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_" title="windows::basic_stream_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some" title="windows::basic_stream_handle::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some" title="windows::basic_stream_handle::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the handle.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_stream_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation" title="windows::basic_stream_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service" title="windows::basic_stream_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__basic_stream_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation" title="windows::basic_stream_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service" title="windows::basic_stream_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> class template
- provides asynchronous and blocking stream-oriented handle functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_stream_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__basic_stream_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign" title="windows::basic_stream_handle::assign">windows::basic_stream_handle::assign</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload1">windows::basic_stream_handle::assign
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload2">windows::basic_stream_handle::assign
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235139376"></a>
-Assign an existing native handle to the
- handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload1" title="windows::basic_stream_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload1" title="windows::basic_stream_handle::assign (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload2" title="windows::basic_stream_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload2" title="windows::basic_stream_handle::assign (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.assign.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload1" title="windows::basic_stream_handle::assign (1 of 2 overloads)">windows::basic_stream_handle::assign
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.assign.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign.overload2" title="windows::basic_stream_handle::assign (2 of 2 overloads)">windows::basic_stream_handle::assign
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Assign an existing native handle to the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some" title="windows::basic_stream_handle::async_read_some">windows::basic_stream_handle::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp235188608"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously read data from the stream handle.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the read operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some.remarks">Remarks</a>
- </h6>
-<p>
- The read operation may not read all of the requested number of bytes. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_read" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
- to ensure that the requested amount of data is read before the asynchronous
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some" title="windows::basic_stream_handle::async_write_some">windows::basic_stream_handle::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp235252912"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to asynchronously write data to the stream handle.
- The function call always returns immediately.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the handle. Although the
- buffers object may be copied as necessary, ownership of the underlying
- memory blocks is retained by the caller, which must guarantee that
- they remain valid until the handler is called.
- </p></dd>
-<dt><span class="term">handler</span></dt>
-<dd>
-<p>
- The handler to be called when the write operation completes. Copies
- will be made of the handler as required. The function signature of
- the handler must be:
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
-<span class="special">);</span>
-</pre>
-<p>
- Regardless of whether the asynchronous operation completes immediately
- or not, the handler will not be invoked from within this function.
- Invocation of the handler will be performed in a manner equivalent
- to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some.remarks">Remarks</a>
- </h6>
-<p>
- The write operation may not transmit all of the data to the peer. Consider
- using the <a class="link" href="reference.html#boost_asio.reference.async_write" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
- to ensure that all data is written before the asynchronous operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle" title="windows::basic_stream_handle::basic_stream_handle">windows::basic_stream_handle::basic_stream_handle</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1">windows::basic_stream_handle::basic_stream_handle
- (1 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2">windows::basic_stream_handle::basic_stream_handle
- (2 of 3 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3">windows::basic_stream_handle::basic_stream_handle
- (3 of 3 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235317248"></a>
-Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> without opening
- it.
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">basic_stream_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> on an existing
- native handle.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">basic_stream_handle</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">more...</a></em></span>
-</pre>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">basic_stream_handle</a><span class="special">(</span>
- <span class="identifier">basic_stream_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">windows::basic_stream_handle::basic_stream_handle
- (1 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> without
- opening it.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream handle without opening it. The handle
- needs to be opened and then connected or accepted before data can be
- sent or received on it.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream handle will use to dispatch handlers for any asynchronous
- operations performed on the handle.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">windows::basic_stream_handle::basic_stream_handle
- (2 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> on an existing
- native handle.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_handle</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
-</pre>
-<p>
- This constructor creates a stream handle object to hold an existing native
- handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">io_service</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
- the stream handle will use to dispatch handlers for any asynchronous
- operations performed on the handle.
- </p></dd>
-<dt><span class="term">handle</span></dt>
-<dd><p>
- The new underlying handle implementation.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">windows::basic_stream_handle::basic_stream_handle
- (3 of 3 overloads)</a>
-</h5></div></div></div>
-<p>
- Move-construct a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_handle</span><span class="special">(</span>
- <span class="identifier">basic_stream_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This constructor moves a stream handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if
- constructed using the <code class="computeroutput"><span class="identifier">basic_stream_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel" title="windows::basic_stream_handle::cancel">windows::basic_stream_handle::cancel</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload1">windows::basic_stream_handle::cancel
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload2">windows::basic_stream_handle::cancel
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235430528"></a>
-Cancel all asynchronous operations associated
- with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload1" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload1" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload2" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload2" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload1" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">windows::basic_stream_handle::cancel
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload2" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">windows::basic_stream_handle::cancel
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Cancel all asynchronous operations associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function causes all outstanding asynchronous read or write operations
- to finish immediately, and the handlers for cancelled operations will
- be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close" title="windows::basic_stream_handle::close">windows::basic_stream_handle::close</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload1">windows::basic_stream_handle::close
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload2">windows::basic_stream_handle::close
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235486688"></a>
-Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload1" title="windows::basic_stream_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload1" title="windows::basic_stream_handle::close (1 of 2 overloads)">more...</a></em></span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload2" title="windows::basic_stream_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload2" title="windows::basic_stream_handle::close (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.close.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload1" title="windows::basic_stream_handle::close (1 of 2 overloads)">windows::basic_stream_handle::close
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.close.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.close.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.close.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload2" title="windows::basic_stream_handle::close (2 of 2 overloads)">windows::basic_stream_handle::close
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Close the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to close the handle. Any asynchronous read or write
- operations will be cancelled immediately, and will complete with the
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.close.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.close.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation" title="windows::basic_stream_handle::get_implementation">windows::basic_stream_handle::get_implementation</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload1">windows::basic_stream_handle::get_implementation
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload2">windows::basic_stream_handle::get_implementation
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235542960"></a>
-Get the underlying implementation
- of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload1" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload1" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload2" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload2" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_implementation.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload1" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">windows::basic_stream_handle::get_implementation
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_implementation.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation.overload2" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">windows::basic_stream_handle::get_implementation
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_io_service" title="windows::basic_stream_handle::get_io_service">windows::basic_stream_handle::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235572976"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
- object.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object uses to dispatch handlers for asynchronous operations.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.get_io_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.get_io_service.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_io_service.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
- object will use to dispatch handlers. Ownership is not transferred to the
- caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service" title="windows::basic_stream_handle::get_service">windows::basic_stream_handle::get_service</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload1">windows::basic_stream_handle::get_service
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload2">windows::basic_stream_handle::get_service
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235590736"></a>
-Get the service associated with
- the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload1" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload1" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload2" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload2" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_service.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload1" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">windows::basic_stream_handle::get_service
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.get_service.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service.overload2" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">windows::basic_stream_handle::get_service
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- Get the service associated with the I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.implementation"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation" title="windows::basic_stream_handle::implementation">windows::basic_stream_handle::implementation</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235620336"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
- The underlying implementation of the I/O object.
- </p>
-<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation_type" title="windows::basic_stream_handle::implementation_type">windows::basic_stream_handle::implementation_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235628720"></a>
-The underlying implementation
- type of I/O object.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.is_open" title="windows::basic_stream_handle::is_open">windows::basic_stream_handle::is_open</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235642960"></a>
-Determine whether the handle is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer" title="windows::basic_stream_handle::lowest_layer">windows::basic_stream_handle::lowest_layer</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1">windows::basic_stream_handle::lowest_layer
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2">windows::basic_stream_handle::lowest_layer
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235650080"></a>
-Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">windows::basic_stream_handle::lowest_layer
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Get a reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
-</pre>
-<p>
- This function returns a reference to the lowest layer in a stack of layers.
- Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- A reference to the lowest layer in the stack of layers. Ownership is
- not transferred to the caller.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">windows::basic_stream_handle::lowest_layer
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- Get a const reference to the lowest layer.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- This function returns a const reference to the lowest layer in a stack
- of layers. Since a <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
- any further layers, it simply returns a reference to itself.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- A const reference to the lowest layer in the stack of layers. Ownership
- is not transferred to the caller.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type" title="windows::basic_stream_handle::lowest_layer_type">windows::basic_stream_handle::lowest_layer_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235694768"></a>
-A <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
- layer.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">StreamHandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.types">Types</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation_type" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer_type" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle_type" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_type" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service_type" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.member_functions">Member
- Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.assign" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.basic_handle" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_handle without opening it.
- </p>
- <p>
- Construct a basic_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.cancel" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.close" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_io_service" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.is_open" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.lowest_layer" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.native_handle" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.operator_eq_" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_handle from another.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_member_functions">Protected
- Member Functions</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_implementation" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.get_service" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle._basic_handle" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Protected destructor to prevent deletion through this type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_data_members">Protected
- Data Members</a>
- </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.implementation" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle.service" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with
- the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_handle" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
- the ability to wrap a Windows handle.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.thread_safety">Thread
- Safety</a>
- </h6>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.native"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native" title="windows::basic_stream_handle::native">windows::basic_stream_handle::native</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235817056"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle" title="windows::basic_stream_handle::native_handle">windows::basic_stream_handle::native_handle</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp235826112"></a>
-Get the native handle representation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
-</pre>
-<p>
- This function may be used to obtain the underlying representation of the
- handle. This is intended to allow access to native handle functionality
- that is not otherwise provided.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type" title="windows::basic_stream_handle::native_handle_type">windows::basic_stream_handle::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp235832640"></a>
-The native representation
- of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.native_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_type" title="windows::basic_stream_handle::native_type">windows::basic_stream_handle::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp235846112"></a>
-(Deprecated: Use native_handle_type.)
- The native representation of a handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_" title="windows::basic_stream_handle::operator=">windows::basic_stream_handle::operator=</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp235859600"></a>
-Move-assign a <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> from another.
- </p>
-<pre class="programlisting"><span class="identifier">basic_stream_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
- <span class="identifier">basic_stream_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
-</pre>
-<p>
- This assignment operator moves a stream handle from one object to another.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">other</span></dt>
-<dd><p>
- The other <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> object
- from which the move will occur.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_.remarks">Remarks</a>
- </h6>
-<p>
- Following the move, the moved-from object is in the same state as if constructed
- using the <code class="computeroutput"><span class="identifier">basic_stream_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some" title="windows::basic_stream_handle::read_some">windows::basic_stream_handle::read_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1">windows::basic_stream_handle::read_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2">windows::basic_stream_handle::read_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp235886864"></a>
-Read some data from the handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">windows::basic_stream_handle::read_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream handle. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.example">Example</a>
- </h6>
-<p>
- To read into a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on reading into multiple buffers in one
- go, and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">windows::basic_stream_handle::read_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Read some data from the handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to read data from the stream handle. The function
- call will block until one or more bytes of data has been read successfully,
- or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers into which the data will be read.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes read. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The read_some operation may not read all of the requested number of bytes.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.read" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
- ensure that the requested amount of data is read before the blocking
- operation completes.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.service"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service" title="windows::basic_stream_handle::service">windows::basic_stream_handle::service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp236004608"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
- object.
- </p>
-<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.service.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service.remarks">Remarks</a>
- </h6>
-<p>
- Available only for services that do not support movability.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.service_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service_type" title="windows::basic_stream_handle::service_type">windows::basic_stream_handle::service_type</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp236016896"></a>
-The type of the service that will
- be used to provide I/O operations.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamHandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.service_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.service_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some" title="windows::basic_stream_handle::write_some">windows::basic_stream_handle::write_some</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1">windows::basic_stream_handle::write_some
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2">windows::basic_stream_handle::write_some
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp236029344"></a>
-Write some data to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">windows::basic_stream_handle::write_some
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the stream handle. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the handle.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
- indicates that the connection was closed by the peer.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go,
- and how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">windows::basic_stream_handle::write_some
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Write some data to the handle.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write data to the stream handle. The function
- call will block until one or more bytes of the data has been written
- successfully, or until an error occurs.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more data buffers to be written to the handle.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. Returns 0 if an error occurred.
- </p>
-<h6>
-<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2.remarks">Remarks</a>
- </h6>
-<p>
- The write_some operation may not transmit all of the data to the peer.
- Consider using the <a class="link" href="reference.html#boost_asio.reference.write" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
- ensure that all data is written before the blocking operation completes.
- </p>
-</div>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__object_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle" title="windows::object_handle">windows::object_handle</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp236146368"></a>
-Typedef for the typical usage of an object handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_object_handle</span> <span class="identifier">object_handle</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__object_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation_type" title="windows::basic_object_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type" title="windows::basic_object_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle_type" title="windows::basic_object_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_type" title="windows::basic_object_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service_type" title="windows::basic_object_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__object_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.assign" title="windows::basic_object_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.async_wait" title="windows::basic_object_handle::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait on the object handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle" title="windows::basic_object_handle::basic_object_handle"><span class="bold"><strong>basic_object_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_object_handle without opening it.
- </p>
- <p>
- Construct a basic_object_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_object_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.cancel" title="windows::basic_object_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.close" title="windows::basic_object_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_io_service" title="windows::basic_object_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.is_open" title="windows::basic_object_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.lowest_layer" title="windows::basic_object_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native" title="windows::basic_object_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.native_handle" title="windows::basic_object_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.operator_eq_" title="windows::basic_object_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_object_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.wait" title="windows::basic_object_handle::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Perform a blocking wait on the object handle.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__object_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_implementation" title="windows::basic_object_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.get_service" title="windows::basic_object_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__object_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.implementation" title="windows::basic_object_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle.service" title="windows::basic_object_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_object_handle" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> class template
- provides asynchronous and blocking object-oriented handle functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__object_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__object_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__object_handle_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service" title="windows::object_handle_service">windows::object_handle_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.assign">windows::object_handle_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.async_wait">windows::object_handle_service::async_wait</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.cancel">windows::object_handle_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.close">windows::object_handle_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.construct">windows::object_handle_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.destroy">windows::object_handle_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.get_io_service">windows::object_handle_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.id">windows::object_handle_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.implementation_type">windows::object_handle_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.is_open">windows::object_handle_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.move_assign">windows::object_handle_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.move_construct">windows::object_handle_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle">windows::object_handle_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle_type">windows::object_handle_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.object_handle_service">windows::object_handle_service::object_handle_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__object_handle_service.wait">windows::object_handle_service::wait</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for an object handle.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">object_handle_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__object_handle_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.implementation_type" title="windows::object_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of an object handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle_type" title="windows::object_handle_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__object_handle_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.assign" title="windows::object_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to an object handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.async_wait" title="windows::object_handle_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous wait.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.cancel" title="windows::object_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.close" title="windows::object_handle_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close an object handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.construct" title="windows::object_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new object handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.destroy" title="windows::object_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy an object handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.get_io_service" title="windows::object_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.is_open" title="windows::object_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.move_assign" title="windows::object_handle_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another object handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.move_construct" title="windows::object_handle_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new object handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle" title="windows::object_handle_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.object_handle_service" title="windows::object_handle_service::object_handle_service"><span class="bold"><strong>object_handle_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new object handle service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.wait" title="windows::object_handle_service::wait"><span class="bold"><strong>wait</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__object_handle_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.id" title="windows::object_handle_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__object_handle_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.assign" title="windows::object_handle_service::assign">windows::object_handle_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236353760"></a>
-Assign an existing native handle to
- an object handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.async_wait"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.async_wait" title="windows::object_handle_service::async_wait">windows::object_handle_service::async_wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236372384"></a>
-Start an asynchronous wait.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WaitHandler" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.cancel" title="windows::object_handle_service::cancel">windows::object_handle_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236386544"></a>
-Cancel all asynchronous operations
- associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.close" title="windows::object_handle_service::close">windows::object_handle_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236401872"></a>
-Close an object handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.construct" title="windows::object_handle_service::construct">windows::object_handle_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236417344"></a>
-Construct a new object handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.destroy" title="windows::object_handle_service::destroy">windows::object_handle_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236425840"></a>
-Destroy an object handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.get_io_service" title="windows::object_handle_service::get_io_service">windows::object_handle_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp236435216"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.id"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.id" title="windows::object_handle_service::id">windows::object_handle_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236445632"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.implementation_type" title="windows::object_handle_service::implementation_type">windows::object_handle_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236455328"></a>
-The type of an object
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__object_handle_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.is_open" title="windows::object_handle_service::is_open">windows::object_handle_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236467824"></a>
-Determine whether the handle is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.move_assign" title="windows::object_handle_service::move_assign">windows::object_handle_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236478144"></a>
-Move-assign from another object
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">object_handle_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.move_construct" title="windows::object_handle_service::move_construct">windows::object_handle_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236491920"></a>
-Move-construct a new object
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle" title="windows::object_handle_service::native_handle">windows::object_handle_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236503088"></a>
-Get the native handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle_type" title="windows::object_handle_service::native_handle_type">windows::object_handle_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236511648"></a>
-The native handle type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__object_handle_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.object_handle_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.object_handle_service" title="windows::object_handle_service::object_handle_service">windows::object_handle_service::object_handle_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236524192"></a>
-Construct a new object
- handle service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">object_handle_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__object_handle_service.wait"></a><a class="link" href="reference.html#boost_asio.reference.windows__object_handle_service.wait" title="windows::object_handle_service::wait">windows::object_handle_service::wait</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236535904"></a>
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr" title="windows::overlapped_ptr">windows::overlapped_ptr</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.complete">windows::overlapped_ptr::complete</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.get">windows::overlapped_ptr::get</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr">windows::overlapped_ptr::overlapped_ptr</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.release">windows::overlapped_ptr::release</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset">windows::overlapped_ptr::reset</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr._overlapped_ptr">windows::overlapped_ptr::~overlapped_ptr</a></span></dt>
-</dl></div>
-<p>
- Wraps a handler to create an OVERLAPPED object for use with overlapped I/O.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">overlapped_ptr</span> <span class="special">:</span>
- <span class="identifier">noncopyable</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__overlapped_ptr.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__overlapped_ptr.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.complete" title="windows::overlapped_ptr::complete"><span class="bold"><strong>complete</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Post completion notification for overlapped operation. Releases
- ownership.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get" title="windows::overlapped_ptr::get"><span class="bold"><strong>get</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the contained OVERLAPPED object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr" title="windows::overlapped_ptr::overlapped_ptr"><span class="bold"><strong>overlapped_ptr</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct an empty overlapped_ptr.
- </p>
- <p>
- Construct an overlapped_ptr to contain the specified handler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.release" title="windows::overlapped_ptr::release"><span class="bold"><strong>release</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Release ownership of the OVERLAPPED object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset" title="windows::overlapped_ptr::reset"><span class="bold"><strong>reset</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Reset to empty.
- </p>
- <p>
- Reset to contain the specified handler, freeing any current OVERLAPPED
- object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr._overlapped_ptr" title="windows::overlapped_ptr::~overlapped_ptr"><span class="bold"><strong>~overlapped_ptr</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destructor automatically frees the OVERLAPPED object unless released.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- A special-purpose smart pointer used to wrap an application handler so that
- it can be passed as the LPOVERLAPPED argument to overlapped I/O functions.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__overlapped_ptr.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__overlapped_ptr.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__overlapped_ptr.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__overlapped_ptr.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/overlapped_ptr.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.complete"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.complete" title="windows::overlapped_ptr::complete">windows::overlapped_ptr::complete</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236594512"></a>
-Post completion notification for overlapped
- operation. Releases ownership.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">complete</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.get"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get" title="windows::overlapped_ptr::get">windows::overlapped_ptr::get</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload1">windows::overlapped_ptr::get
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload2">windows::overlapped_ptr::get
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp236608752"></a>
-Get the contained OVERLAPPED object.
- </p>
-<pre class="programlisting"><span class="identifier">OVERLAPPED</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload1" title="windows::overlapped_ptr::get (1 of 2 overloads)">get</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload1" title="windows::overlapped_ptr::get (1 of 2 overloads)">more...</a></em></span>
-
-<span class="keyword">const</span> <span class="identifier">OVERLAPPED</span> <span class="special">*</span> <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload2" title="windows::overlapped_ptr::get (2 of 2 overloads)">get</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload2" title="windows::overlapped_ptr::get (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.get.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload1" title="windows::overlapped_ptr::get (1 of 2 overloads)">windows::overlapped_ptr::get
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the contained OVERLAPPED object.
- </p>
-<pre class="programlisting"><span class="identifier">OVERLAPPED</span> <span class="special">*</span> <span class="identifier">get</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.get.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.get.overload2" title="windows::overlapped_ptr::get (2 of 2 overloads)">windows::overlapped_ptr::get
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Get the contained OVERLAPPED object.
- </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">OVERLAPPED</span> <span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.overlapped_ptr"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr" title="windows::overlapped_ptr::overlapped_ptr">windows::overlapped_ptr::overlapped_ptr</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1">windows::overlapped_ptr::overlapped_ptr
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2">windows::overlapped_ptr::overlapped_ptr
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp236635408"></a>
-Construct an empty <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a>.
- </p>
-<pre class="programlisting"><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">overlapped_ptr</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Construct an <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a> to contain the
- specified handler.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">overlapped_ptr</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">windows::overlapped_ptr::overlapped_ptr
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an empty <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">overlapped_ptr</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">windows::overlapped_ptr::overlapped_ptr
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Construct an <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a> to contain the
- specified handler.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="identifier">overlapped_ptr</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.release"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.release" title="windows::overlapped_ptr::release">windows::overlapped_ptr::release</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236685952"></a>
-Release ownership of the OVERLAPPED object.
- </p>
-<pre class="programlisting"><span class="identifier">OVERLAPPED</span> <span class="special">*</span> <span class="identifier">release</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.reset"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset" title="windows::overlapped_ptr::reset">windows::overlapped_ptr::reset</a>
-</h4></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload1">windows::overlapped_ptr::reset
- (1 of 2 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload2">windows::overlapped_ptr::reset
- (2 of 2 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp236692416"></a>
-Reset to empty.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload1" title="windows::overlapped_ptr::reset (1 of 2 overloads)">reset</a><span class="special">();</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload1" title="windows::overlapped_ptr::reset (1 of 2 overloads)">more...</a></em></span>
-</pre>
-<p>
- Reset to contain the specified handler, freeing any current OVERLAPPED
- object.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload2" title="windows::overlapped_ptr::reset (2 of 2 overloads)">reset</a><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload2" title="windows::overlapped_ptr::reset (2 of 2 overloads)">more...</a></em></span>
-</pre>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.reset.overload1"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload1" title="windows::overlapped_ptr::reset (1 of 2 overloads)">windows::overlapped_ptr::reset
- (1 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Reset to empty.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reset</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr.reset.overload2"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr.reset.overload2" title="windows::overlapped_ptr::reset (2 of 2 overloads)">windows::overlapped_ptr::reset
- (2 of 2 overloads)</a>
-</h5></div></div></div>
-<p>
- Reset to contain the specified handler, freeing any current OVERLAPPED
- object.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.Handler" title="Handlers">Handler</a><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">reset</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
- <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__overlapped_ptr._overlapped_ptr"></a><a class="link" href="reference.html#boost_asio.reference.windows__overlapped_ptr._overlapped_ptr" title="windows::overlapped_ptr::~overlapped_ptr">windows::overlapped_ptr::~overlapped_ptr</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236733968"></a>
-Destructor automatically frees the
- OVERLAPPED object unless released.
- </p>
-<pre class="programlisting"><span class="special">~</span><span class="identifier">overlapped_ptr</span><span class="special">();</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__random_access_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle" title="windows::random_access_handle">windows::random_access_handle</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp236739920"></a>
-Typedef for the typical usage of a random-access
- handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_random_access_handle</span> <span class="identifier">random_access_handle</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type" title="windows::basic_random_access_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type" title="windows::basic_random_access_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type" title="windows::basic_random_access_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_type" title="windows::basic_random_access_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service_type" title="windows::basic_random_access_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.assign" title="windows::basic_random_access_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at" title="windows::basic_random_access_handle::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at" title="windows::basic_random_access_handle::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle" title="windows::basic_random_access_handle::basic_random_access_handle"><span class="bold"><strong>basic_random_access_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_random_access_handle without opening it.
- </p>
- <p>
- Construct a basic_random_access_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_random_access_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.cancel" title="windows::basic_random_access_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.close" title="windows::basic_random_access_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service" title="windows::basic_random_access_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.is_open" title="windows::basic_random_access_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer" title="windows::basic_random_access_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native" title="windows::basic_random_access_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.native_handle" title="windows::basic_random_access_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_" title="windows::basic_random_access_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_random_access_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at" title="windows::basic_random_access_handle::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the handle at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at" title="windows::basic_random_access_handle::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the handle at the specified offset.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_implementation" title="windows::basic_random_access_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.get_service" title="windows::basic_random_access_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.implementation" title="windows::basic_random_access_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle.service" title="windows::basic_random_access_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_random_access_handle" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> class
- template provides asynchronous and blocking random-access handle functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service" title="windows::random_access_handle_service">windows::random_access_handle_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.assign">windows::random_access_handle_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_read_some_at">windows::random_access_handle_service::async_read_some_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_write_some_at">windows::random_access_handle_service::async_write_some_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.cancel">windows::random_access_handle_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.close">windows::random_access_handle_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.construct">windows::random_access_handle_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.destroy">windows::random_access_handle_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.get_io_service">windows::random_access_handle_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.id">windows::random_access_handle_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.implementation_type">windows::random_access_handle_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.is_open">windows::random_access_handle_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_assign">windows::random_access_handle_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_construct">windows::random_access_handle_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.native">windows::random_access_handle_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle">windows::random_access_handle_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle_type">windows::random_access_handle_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_type">windows::random_access_handle_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.random_access_handle_service">windows::random_access_handle_service::random_access_handle_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.read_some_at">windows::random_access_handle_service::read_some_at</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__random_access_handle_service.write_some_at">windows::random_access_handle_service::write_some_at</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a random-access handle.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">random_access_handle_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.implementation_type" title="windows::random_access_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a random-access handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle_type" title="windows::random_access_handle_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_type" title="windows::random_access_handle_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native handle type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.assign" title="windows::random_access_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to a random-access handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_read_some_at" title="windows::random_access_handle_service::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_write_some_at" title="windows::random_access_handle_service::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write at the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.cancel" title="windows::random_access_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.close" title="windows::random_access_handle_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a random-access handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.construct" title="windows::random_access_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new random-access handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.destroy" title="windows::random_access_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a random-access handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.get_io_service" title="windows::random_access_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.is_open" title="windows::random_access_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_assign" title="windows::random_access_handle_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another random-access handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_construct" title="windows::random_access_handle_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new random-access handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native" title="windows::random_access_handle_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle" title="windows::random_access_handle_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.random_access_handle_service" title="windows::random_access_handle_service::random_access_handle_service"><span class="bold"><strong>random_access_handle_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new random-access handle service for the specified
- io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.read_some_at" title="windows::random_access_handle_service::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the specified offset.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.write_some_at" title="windows::random_access_handle_service::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data at the specified offset.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.id" title="windows::random_access_handle_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__random_access_handle_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.assign" title="windows::random_access_handle_service::assign">windows::random_access_handle_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236969504"></a>
-Assign an existing native handle
- to a random-access handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.async_read_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_read_some_at" title="windows::random_access_handle_service::async_read_some_at">windows::random_access_handle_service::async_read_some_at</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp236988320"></a>
-Start an asynchronous
- read at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some_at</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.async_write_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.async_write_some_at" title="windows::random_access_handle_service::async_write_some_at">windows::random_access_handle_service::async_write_some_at</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237009792"></a>
-Start an asynchronous
- write at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some_at</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.cancel" title="windows::random_access_handle_service::cancel">windows::random_access_handle_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237031264"></a>
-Cancel all asynchronous operations
- associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.close" title="windows::random_access_handle_service::close">windows::random_access_handle_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237046608"></a>
-Close a random-access handle
- implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.construct" title="windows::random_access_handle_service::construct">windows::random_access_handle_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237062032"></a>
-Construct a new random-access
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.destroy" title="windows::random_access_handle_service::destroy">windows::random_access_handle_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237070560"></a>
-Destroy a random-access handle
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.get_io_service" title="windows::random_access_handle_service::get_io_service">windows::random_access_handle_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp237079968"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.id"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.id" title="windows::random_access_handle_service::id">windows::random_access_handle_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237090480"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.implementation_type" title="windows::random_access_handle_service::implementation_type">windows::random_access_handle_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237100304"></a>
-The type of a random-access
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__random_access_handle_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.is_open" title="windows::random_access_handle_service::is_open">windows::random_access_handle_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237112800"></a>
-Determine whether the handle
- is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_assign" title="windows::random_access_handle_service::move_assign">windows::random_access_handle_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237123216"></a>
-Move-assign from another
- random-access handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">random_access_handle_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.move_construct" title="windows::random_access_handle_service::move_construct">windows::random_access_handle_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237137008"></a>
-Move-construct a new
- random-access handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.native"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native" title="windows::random_access_handle_service::native">windows::random_access_handle_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237148096"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.)
- Get the native handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle" title="windows::random_access_handle_service::native_handle">windows::random_access_handle_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237158400"></a>
-Get the native handle
- implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle_type" title="windows::random_access_handle_service::native_handle_type">windows::random_access_handle_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237166992"></a>
-The native handle
- type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__random_access_handle_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_type" title="windows::random_access_handle_service::native_type">windows::random_access_handle_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237179536"></a>
-(Deprecated: Use native_handle_type.)
- The native handle type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__random_access_handle_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.random_access_handle_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.random_access_handle_service" title="windows::random_access_handle_service::random_access_handle_service">windows::random_access_handle_service::random_access_handle_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237191904"></a>
-Construct
- a new random-access handle service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">random_access_handle_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.read_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.read_some_at" title="windows::random_access_handle_service::read_some_at">windows::random_access_handle_service::read_some_at</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237203600"></a>
-Read some data from the
- specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some_at</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__random_access_handle_service.write_some_at"></a><a class="link" href="reference.html#boost_asio.reference.windows__random_access_handle_service.write_some_at" title="windows::random_access_handle_service::write_some_at">windows::random_access_handle_service::write_some_at</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237226528"></a>
-Write the given data
- at the specified offset.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some_at</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__stream_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle" title="windows::stream_handle">windows::stream_handle</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp237249536"></a>
-Typedef for the typical usage of a stream-oriented
- handle.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_handle</span> <span class="identifier">stream_handle</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation_type" title="windows::basic_stream_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The underlying implementation type of I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type" title="windows::basic_stream_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- A basic_handle is always the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type" title="windows::basic_stream_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native representation of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_type" title="windows::basic_stream_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native representation
- of a handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service_type" title="windows::basic_stream_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of the service that will be used to provide I/O operations.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.assign" title="windows::basic_stream_handle::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_read_some" title="windows::basic_stream_handle::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.async_write_some" title="windows::basic_stream_handle::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle" title="windows::basic_stream_handle::basic_stream_handle"><span class="bold"><strong>basic_stream_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a basic_stream_handle without opening it.
- </p>
- <p>
- Construct a basic_stream_handle on an existing native handle.
- </p>
- <p>
- Move-construct a basic_stream_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.cancel" title="windows::basic_stream_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.close" title="windows::basic_stream_handle::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_io_service" title="windows::basic_stream_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service associated with the object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.is_open" title="windows::basic_stream_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer" title="windows::basic_stream_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get a reference to the lowest layer.
- </p>
- <p>
- Get a const reference to the lowest layer.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native" title="windows::basic_stream_handle::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.native_handle" title="windows::basic_stream_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle representation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_" title="windows::basic_stream_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign a basic_stream_handle from another.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.read_some" title="windows::basic_stream_handle::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.write_some" title="windows::basic_stream_handle::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write some data to the handle.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.protected_member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle.protected_member_functions">Protected
- Member Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_implementation" title="windows::basic_stream_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the underlying implementation of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.get_service" title="windows::basic_stream_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the service associated with the I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.protected_data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle.protected_data_members">Protected
- Data Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.implementation" title="windows::basic_stream_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_implementation().) The underlying implementation
- of the I/O object.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle.service" title="windows::basic_stream_handle::service"><span class="bold"><strong>service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use get_service().) The service associated with the
- I/O object.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.windows__basic_stream_handle" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> class template
- provides asynchronous and blocking stream-oriented handle functionality.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle.thread_safety">Thread
- Safety</a>
- </h5>
-<p>
- <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
- </p>
-<p>
- <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
- </p>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle.h5"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service" title="windows::stream_handle_service">windows::stream_handle_service</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.assign">windows::stream_handle_service::assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.async_read_some">windows::stream_handle_service::async_read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.async_write_some">windows::stream_handle_service::async_write_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.cancel">windows::stream_handle_service::cancel</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.close">windows::stream_handle_service::close</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.construct">windows::stream_handle_service::construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.destroy">windows::stream_handle_service::destroy</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.get_io_service">windows::stream_handle_service::get_io_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.id">windows::stream_handle_service::id</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.implementation_type">windows::stream_handle_service::implementation_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.is_open">windows::stream_handle_service::is_open</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.move_assign">windows::stream_handle_service::move_assign</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.move_construct">windows::stream_handle_service::move_construct</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.native">windows::stream_handle_service::native</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle">windows::stream_handle_service::native_handle</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle_type">windows::stream_handle_service::native_handle_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.native_type">windows::stream_handle_service::native_type</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.read_some">windows::stream_handle_service::read_some</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.stream_handle_service">windows::stream_handle_service::stream_handle_service</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.windows__stream_handle_service.write_some">windows::stream_handle_service::write_some</a></span></dt>
-</dl></div>
-<p>
- Default service implementation for a stream handle.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_handle_service</span> <span class="special">:</span>
- <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle_service.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.types"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.implementation_type" title="windows::stream_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The type of a stream handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle_type" title="windows::stream_handle_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The native handle type.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_type" title="windows::stream_handle_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle_type.) The native handle type.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle_service.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.assign" title="windows::stream_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Assign an existing native handle to a stream handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.async_read_some" title="windows::stream_handle_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous read.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.async_write_some" title="windows::stream_handle_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Start an asynchronous write.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.cancel" title="windows::stream_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Cancel all asynchronous operations associated with the handle.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.close" title="windows::stream_handle_service::close"><span class="bold"><strong>close</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Close a stream handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.construct" title="windows::stream_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new stream handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.destroy" title="windows::stream_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Destroy a stream handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.get_io_service" title="windows::stream_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the io_service object that owns the service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.is_open" title="windows::stream_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Determine whether the handle is open.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.move_assign" title="windows::stream_handle_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-assign from another stream handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.move_construct" title="windows::stream_handle_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Move-construct a new stream handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native" title="windows::stream_handle_service::native"><span class="bold"><strong>native</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- (Deprecated: Use native_handle().) Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle" title="windows::stream_handle_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Get the native handle implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.read_some" title="windows::stream_handle_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Read some data from the stream.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.stream_handle_service" title="windows::stream_handle_service::stream_handle_service"><span class="bold"><strong>stream_handle_service</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a new stream handle service for the specified io_service.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.write_some" title="windows::stream_handle_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Write the given data to the stream.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle_service.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.id" title="windows::stream_handle_service::id"><span class="bold"><strong>id</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The unique service identifier.
- </p>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.windows__stream_handle_service.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.assign" title="windows::stream_handle_service::assign">windows::stream_handle_service::assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237477968"></a>
-Assign an existing native handle to
- a stream handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.async_read_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.async_read_some" title="windows::stream_handle_service::async_read_some">windows::stream_handle_service::async_read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237496656"></a>
-Start an asynchronous read.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ReadHandler" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.async_write_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.async_write_some" title="windows::stream_handle_service::async_write_some">windows::stream_handle_service::async_write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237516256"></a>
-Start an asynchronous write.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.WriteHandler" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
-<a class="link" href="reference.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.cancel"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.cancel" title="windows::stream_handle_service::cancel">windows::stream_handle_service::cancel</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237535744"></a>
-Cancel all asynchronous operations
- associated with the handle.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.close"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.close" title="windows::stream_handle_service::close">windows::stream_handle_service::close</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237551072"></a>
-Close a stream handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.construct"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.construct" title="windows::stream_handle_service::construct">windows::stream_handle_service::construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237566560"></a>
-Construct a new stream handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.destroy"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.destroy" title="windows::stream_handle_service::destroy">windows::stream_handle_service::destroy</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237575120"></a>
-Destroy a stream handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.get_io_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.get_io_service" title="windows::stream_handle_service::get_io_service">windows::stream_handle_service::get_io_service</a>
-</h4></div></div></div>
-<p>
- <span class="emphasis"><em>Inherited from io_service.</em></span>
- </p>
-<p>
- <a class="indexterm" name="idp237584496"></a>
-Get the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
- service.
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.id"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.id" title="windows::stream_handle_service::id">windows::stream_handle_service::id</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237594976"></a>
-The unique service identifier.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.implementation_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.implementation_type" title="windows::stream_handle_service::implementation_type">windows::stream_handle_service::implementation_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237604672"></a>
-The type of a stream handle
- implementation.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__stream_handle_service.implementation_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.implementation_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.implementation_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.is_open"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.is_open" title="windows::stream_handle_service::is_open">windows::stream_handle_service::is_open</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237617040"></a>
-Determine whether the handle is open.
- </p>
-<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.move_assign"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.move_assign" title="windows::stream_handle_service::move_assign">windows::stream_handle_service::move_assign</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237627440"></a>
-Move-assign from another stream
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">stream_handle_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.move_construct"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.move_construct" title="windows::stream_handle_service::move_construct">windows::stream_handle_service::move_construct</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237641120"></a>
-Move-construct a new stream
- handle implementation.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.native"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native" title="windows::stream_handle_service::native">windows::stream_handle_service::native</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237652272"></a>
-(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.native_handle"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle" title="windows::stream_handle_service::native_handle">windows::stream_handle_service::native_handle</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237662480"></a>
-Get the native handle implementation.
- </p>
-<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.native_handle_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle_type" title="windows::stream_handle_service::native_handle_type">windows::stream_handle_service::native_handle_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237670976"></a>
-The native handle type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__stream_handle_service.native_handle_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.native_handle_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_handle_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.native_type"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_type" title="windows::stream_handle_service::native_type">windows::stream_handle_service::native_type</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237683456"></a>
-(Deprecated: Use native_handle_type.)
- The native handle type.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
-</pre>
-<h6>
-<a name="boost_asio.reference.windows__stream_handle_service.native_type.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.native_type.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.native_type.requirements">Requirements</a>
- </h6>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.read_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.read_some" title="windows::stream_handle_service::read_some">windows::stream_handle_service::read_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237695856"></a>
-Read some data from the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.MutableBufferSequence" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.stream_handle_service"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.stream_handle_service" title="windows::stream_handle_service::stream_handle_service">windows::stream_handle_service::stream_handle_service</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237716848"></a>
-Construct a new stream
- handle service for the specified <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
- </p>
-<pre class="programlisting"><span class="identifier">stream_handle_service</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.windows__stream_handle_service.write_some"></a><a class="link" href="reference.html#boost_asio.reference.windows__stream_handle_service.write_some" title="windows::stream_handle_service::write_some">windows::stream_handle_service::write_some</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp237728576"></a>
-Write the given data to the stream.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
- <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.write"></a><a class="link" href="reference.html#boost_asio.reference.write" title="write">write</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload1">write (1 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload2">write (2 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload3">write (3 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload4">write (4 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload5">write (5 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload6">write (6 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload7">write (7 of 8
- overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write.overload8">write (8 of 8
- overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp237749520"></a>
-Write a certain amount of data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload1" title="write (1 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload1" title="write (1 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload2" title="write (2 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload2" title="write (2 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload3" title="write (3 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload3" title="write (3 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload4" title="write (4 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload4" title="write (4 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload5" title="write (5 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload5" title="write (5 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload6" title="write (6 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload6" title="write (6 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload7" title="write (7 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload7" title="write (7 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write.overload8" title="write (8 of 8 overloads)">write</a><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write.overload8" title="write (8 of 8 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.write.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.write.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload1"></a><a class="link" href="reference.html#boost_asio.reference.write.overload1" title="write (1 of 8 overloads)">write (1 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the stream.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload1.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload2"></a><a class="link" href="reference.html#boost_asio.reference.write.overload2" title="write (2 of 8 overloads)">write (2 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the stream.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload2.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload2.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload2.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload3"></a><a class="link" href="reference.html#boost_asio.reference.write.overload3" title="write (3 of 8 overloads)">write (3 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the stream.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the stream's write_some function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload3.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload3.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload4"></a><a class="link" href="reference.html#boost_asio.reference.write.overload4" title="write (4 of 8 overloads)">write (4 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the stream.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the stream's write_some function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload4.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload5"></a><a class="link" href="reference.html#boost_asio.reference.write.overload5" title="write (5 of 8 overloads)">write (5 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload5.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload5.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload5.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload5.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload5.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload6"></a><a class="link" href="reference.html#boost_asio.reference.write.overload6" title="write (6 of 8 overloads)">write (6 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload6.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload6.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload7"></a><a class="link" href="reference.html#boost_asio.reference.write.overload7" title="write (7 of 8 overloads)">write (7 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the stream's write_some function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload7.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload7.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload7.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write.overload8"></a><a class="link" href="reference.html#boost_asio.reference.write.overload8" title="write (8 of 8 overloads)">write (8 of 8
- overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data to a stream before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncWriteStream" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
- <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a stream.
- The call will block until one of the following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the stream's
- write_some function.
- </p>
-<h6>
-<a name="boost_asio.reference.write.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">s</span></dt>
-<dd><p>
- The stream to which the data is to be written. The type must support
- the SyncWriteStream concept.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the stream's write_some function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write.overload8.return_value">Return
- Value</a>
- </h6>
-<p>
- The number of bytes written. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.write_at"></a><a class="link" href="reference.html#boost_asio.reference.write_at" title="write_at">write_at</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload1">write_at (1
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload2">write_at (2
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload3">write_at (3
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload4">write_at (4
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload5">write_at (5
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload6">write_at (6
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload7">write_at (7
- of 8 overloads)</a></span></dt>
-<dt><span class="section"><a href="reference.html#boost_asio.reference.write_at.overload8">write_at (8
- of 8 overloads)</a></span></dt>
-</dl></div>
-<p>
- <a class="indexterm" name="idp238415792"></a>
-Write a certain amount of data at a specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload1" title="write_at (1 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload1" title="write_at (1 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload2" title="write_at (2 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload2" title="write_at (2 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload3" title="write_at (3 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload3" title="write_at (3 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload4" title="write_at (4 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload4" title="write_at (4 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload5" title="write_at (5 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload5" title="write_at (5 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload6" title="write_at (6 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload6" title="write_at (6 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload7" title="write_at (7 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload7" title="write_at (7 of 8 overloads)">more...</a></em></span>
-
-<span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="reference.html#boost_asio.reference.write_at.overload8" title="write_at (8 of 8 overloads)">write_at</a><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
- <span class="emphasis"><em>&#187; <a class="link" href="reference.html#boost_asio.reference.write_at.overload8" title="write_at (8 of 8 overloads)">more...</a></em></span>
-</pre>
-<h5>
-<a name="boost_asio.reference.write_at.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write_at.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload1"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload1" title="write_at (1 of 8 overloads)">write_at (1
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data at the specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload1.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload1.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload1.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the device.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload1.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload1.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload1.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload1.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload1.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload1.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload1.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload1.example"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload1.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload1.h4"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload1.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload1.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="identifier">offset</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload2"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload2" title="write_at (2 of 8 overloads)">write_at (2
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data at the specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload2.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload2.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload2.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the device.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload2.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload2.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload2.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload2.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload2.example"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload2.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload2.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload2.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload2.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="identifier">offset</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload3"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload3" title="write_at (3 of 8 overloads)">write_at (3
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data at a specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload3.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload3.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload3.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the device.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the device's write_some_at function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload3.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload3.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload3.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload3.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload3.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload3.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload3.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload3.example"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload3.example">Example</a>
- </h6>
-<p>
- To write a single data buffer use the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
-</pre>
-<p>
- See the <a class="link" href="reference.html#boost_asio.reference.buffer" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
- documentation for information on writing multiple buffers in one go, and
- how to use it with arrays, boost::array or std::vector.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload4"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload4" title="write_at (4 of 8 overloads)">write_at (4
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data at a specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.ConstBufferSequence" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied buffers has been written. That is,
- the bytes transferred is equal to the sum of the buffer sizes.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload4.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload4.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload4.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">buffers</span></dt>
-<dd><p>
- One or more buffers containing the data to be written. The sum of
- the buffer sizes indicates the maximum number of bytes to write to
- the device.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the device's write_some_at function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload4.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload4.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload4.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes written. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload5"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload5" title="write_at (5 of 8 overloads)">write_at (5
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data at the specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload5.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload5.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload5.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload5.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload5.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload5.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload5.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload5.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload5.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload5.h3"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload5.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload5.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload6"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload6" title="write_at (6 of 8 overloads)">write_at (6
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write all of the supplied data at the specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- An error occurred.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload6.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload6.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload6.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload6.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload6.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload6.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload6.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload6.remarks"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload6.remarks">Remarks</a>
- </h6>
-<p>
- This overload is equivalent to calling:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload7"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload7" title="write_at (7 of 8 overloads)">write_at (7
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data at a specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload7.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload7.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload7.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the device's write_some_at function.
- </p>
-</dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload7.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload7.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload7.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes transferred.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload7.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload7.exceptions"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload7.exceptions">Exceptions</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">boost::system::system_error</span></dt>
-<dd><p>
- Thrown on failure.
- </p></dd>
-</dl>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.write_at.overload8"></a><a class="link" href="reference.html#boost_asio.reference.write_at.overload8" title="write_at (8 of 8 overloads)">write_at (8
- of 8 overloads)</a>
-</h4></div></div></div>
-<p>
- Write a certain amount of data at a specified offset before returning.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">typename</span> <a class="link" href="reference.html#boost_asio.reference.SyncRandomAccessWriteDevice" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
- <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
- <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
- <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
-</pre>
-<p>
- This function is used to write a certain number of bytes of data to a random
- access device at a specified offset. The call will block until one of the
- following conditions is true:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- All of the data in the supplied <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
- </li>
-<li class="listitem">
- The completion_condition function object returns 0.
- </li>
-</ul></div>
-<p>
- This operation is implemented in terms of zero or more calls to the device's
- write_some_at function.
- </p>
-<h6>
-<a name="boost_asio.reference.write_at.overload8.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload8.parameters"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload8.parameters">Parameters</a>
- </h6>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl class="variablelist">
-<dt><span class="term">d</span></dt>
-<dd><p>
- The device to which the data is to be written. The type must support
- the SyncRandomAccessWriteDevice concept.
- </p></dd>
-<dt><span class="term">offset</span></dt>
-<dd><p>
- The offset at which the data will be written.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_streambuf" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
- which data will be written.
- </p></dd>
-<dt><span class="term">completion_condition</span></dt>
-<dd>
-<p>
- The function object to be called to determine whether the write operation
- is complete. The signature of the function object must be:
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
- <span class="comment">// Result of latest write_some_at operation.</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
-
- <span class="comment">// Number of bytes transferred so far.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
-<span class="special">);</span>
-</pre>
-<p>
- A return value of 0 indicates that the write operation is complete.
- A non-zero return value indicates the maximum number of bytes to
- be written on the next call to the device's write_some_at function.
- </p>
-</dd>
-<dt><span class="term">ec</span></dt>
-<dd><p>
- Set to indicate what error occurred, if any.
- </p></dd>
-</dl>
-</div>
-<h6>
-<a name="boost_asio.reference.write_at.overload8.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.write_at.overload8.return_value"></a></span><a class="link" href="reference.html#boost_asio.reference.write_at.overload8.return_value">Return Value</a>
- </h6>
-<p>
- The number of bytes written. If an error occurs, returns the total number
- of bytes successfully transferred prior to the error.
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.yield_context"></a><a class="link" href="reference.html#boost_asio.reference.yield_context" title="yield_context">yield_context</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="idp239136848"></a>
-Context object that represents the currently executing coroutine.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_yield_context</span><span class="special">&lt;</span> <span class="identifier">unspecified</span> <span class="special">&gt;</span> <span class="identifier">yield_context</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.yield_context.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.yield_context.types"></a></span><a class="link" href="reference.html#boost_asio.reference.yield_context.types">Types</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.callee_type" title="basic_yield_context::callee_type"><span class="bold"><strong>callee_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The coroutine callee type, used by the implementation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.caller_type" title="basic_yield_context::caller_type"><span class="bold"><strong>caller_type</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- The coroutine caller type, used by the implementation.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.yield_context.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.yield_context.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.yield_context.member_functions">Member
- Functions</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.basic_yield_context" title="basic_yield_context::basic_yield_context"><span class="bold"><strong>basic_yield_context</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Construct a yield context to represent the specified coroutine.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.basic_yield_context.operator_lb__rb_" title="basic_yield_context::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
- </p>
- </td>
-<td>
- <p>
- Return a yield context that sets the specified error_code.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.basic_yield_context" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> class is used
- to represent the currently executing stackful coroutine. A <a class="link" href="reference.html#boost_asio.reference.basic_yield_context" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> may be passed
- as a handler to an asynchronous operation. For example:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
-<span class="keyword">void</span> <span class="identifier">my_coroutine</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">...</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span>
- <span class="special">...</span>
-<span class="special">}</span>
-</pre>
-<p>
- The initiating function (async_read_some in the above example) suspends the
- current coroutine. The coroutine is resumed when the asynchronous operation
- completes, and the result of the operation is returned.
- </p>
-<h5>
-<a name="boost_asio.reference.yield_context.h2"></a>
- <span class="phrase"><a name="boost_asio.reference.yield_context.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.yield_context.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span>None
- </p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;">boost::system::is_error_code_enum&lt;
- boost::asio::error::addrinfo_errors &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value">boost::system::is_error_code_enum&lt;
- boost::asio::error::addrinfo_errors &gt;::value</a></span></dt></dl></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">addrinfo_errors</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value">boost::system::is_error_code_enum&lt;
- boost::asio::error::addrinfo_errors &gt;::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp239229424"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;">boost::system::is_error_code_enum&lt;
- boost::asio::error::basic_errors &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value">boost::system::is_error_code_enum&lt;
- boost::asio::error::basic_errors &gt;::value</a></span></dt></dl></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">basic_errors</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value">boost::system::is_error_code_enum&lt;
- boost::asio::error::basic_errors &gt;::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp239266736"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;">boost::system::is_error_code_enum&lt;
- boost::asio::error::misc_errors &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value">boost::system::is_error_code_enum&lt;
- boost::asio::error::misc_errors &gt;::value</a></span></dt></dl></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">misc_errors</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value">boost::system::is_error_code_enum&lt;
- boost::asio::error::misc_errors &gt;::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp239304048"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;">boost::system::is_error_code_enum&lt;
- boost::asio::error::netdb_errors &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value">boost::system::is_error_code_enum&lt;
- boost::asio::error::netdb_errors &gt;::value</a></span></dt></dl></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">netdb_errors</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value">boost::system::is_error_code_enum&lt;
- boost::asio::error::netdb_errors &gt;::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp239341472"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;">boost::system::is_error_code_enum&lt;
- boost::asio::error::ssl_errors &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value">boost::system::is_error_code_enum&lt;
- boost::asio::error::ssl_errors &gt;::value</a></span></dt></dl></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">ssl_errors</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value">boost::system::is_error_code_enum&lt;
- boost::asio::error::ssl_errors &gt;::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp239378832"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;">boost::system::is_error_code_enum&lt;
- boost::asio::ssl::error::stream_errors &gt;</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.value">boost::system::is_error_code_enum&lt;
- boost::asio::ssl::error::stream_errors &gt;::value</a></span></dt></dl></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">stream_errors</span> <span class="special">&gt;</span>
-</pre>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.h0"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.data_members"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.data_members">Data
- Members</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody><tr>
-<td>
- <p>
- <a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
- </p>
- </td>
-<td>
- </td>
-</tr></tbody>
-</table></div>
-<h5>
-<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.h1"></a>
- <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.requirements">Requirements</a>
- </h5>
-<p>
- <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
- </p>
-<p>
- <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.value"></a><a class="link" href="reference.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.value" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value">boost::system::is_error_code_enum&lt;
- boost::asio::ssl::error::stream_errors &gt;::value</a>
-</h4></div></div></div>
-<p>
- <a class="indexterm" name="idp239417968"></a>
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
-</pre>
-</div>
-</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 &#169; 2003-2016 Christopher
- M. Kohlhoff<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2017 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>
@@ -156287,7 +536,7 @@ Context object that represents the currently executing coroutine.
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="examples.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples/cpp11_examples.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference/asynchronous_operations.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_asio/reference/AcceptHandler.html b/doc/html/boost_asio/reference/AcceptHandler.html
new file mode 100644
index 0000000000..c3f6cff391
--- /dev/null
+++ b/doc/html/boost_asio/reference/AcceptHandler.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Accept handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="asynchronous_operations.html" title="Requirements on asynchronous operations">
+<link rel="next" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asynchronous_operations.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.AcceptHandler"></a><a class="link" href="AcceptHandler.html" title="Accept handler requirements">Accept handler requirements</a>
+</h3></div></div></div>
+<p>
+ An accept handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of an accept handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.AcceptHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.AcceptHandler.examples"></a></span><a class="link" href="AcceptHandler.html#boost_asio.reference.AcceptHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as an accept handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">accept_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ An accept handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">accept_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to an accept handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">accept_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">accept_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="asynchronous_operations.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/AsyncRandomAccessReadDevice.html b/doc/html/boost_asio/reference/AsyncRandomAccessReadDevice.html
new file mode 100644
index 0000000000..3b83093248
--- /dev/null
+++ b/doc/html/boost_asio/reference/AsyncRandomAccessReadDevice.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented asynchronous random-access read device requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="AcceptHandler.html" title="Accept handler requirements">
+<link rel="next" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AcceptHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.AsyncRandomAccessReadDevice"></a><a class="link" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">Buffer-oriented
+ asynchronous random-access read device requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ an asynchronous random access read device object, <code class="computeroutput"><span class="identifier">o</span></code>
+ denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
+ <code class="computeroutput"><span class="identifier">mb</span></code> denotes an object satisfying
+ <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable buffer
+ sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
+ denotes an object satisfying <a class="link" href="ReadHandler.html" title="Read handler requirements">read
+ handler</a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.AsyncRandomAccessReadDevice.t0"></a><p class="title"><b>Table&#160;1.&#160;Buffer-oriented asynchronous random-access read device requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous random-access read device requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object through which the <code class="computeroutput"><span class="identifier">async_read_some_at</span></code>
+ handler <code class="computeroutput"><span class="identifier">h</span></code> will
+ be invoked.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">h</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous operation to read one or more bytes of
+ data from the device <code class="computeroutput"><span class="identifier">a</span></code>
+ at the offset <code class="computeroutput"><span class="identifier">o</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The <code class="computeroutput"><span class="identifier">async_read_some_at</span></code>
+ operation shall always fill a buffer in the sequence completely
+ before proceeding to the next.<br> <br> The implementation
+ shall maintain one or more copies of <code class="computeroutput"><span class="identifier">mb</span></code>
+ until such time as the read operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous read operation
+ is invoked,<br> <br> whichever comes first.<br> <br> If
+ the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="AcceptHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/AsyncRandomAccessWriteDevice.html b/doc/html/boost_asio/reference/AsyncRandomAccessWriteDevice.html
new file mode 100644
index 0000000000..b227a8b2e7
--- /dev/null
+++ b/doc/html/boost_asio/reference/AsyncRandomAccessWriteDevice.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented asynchronous random-access write device requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">
+<link rel="next" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AsyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncReadStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.AsyncRandomAccessWriteDevice"></a><a class="link" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">Buffer-oriented
+ asynchronous random-access write device requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ an asynchronous write stream object, <code class="computeroutput"><span class="identifier">o</span></code>
+ denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
+ <code class="computeroutput"><span class="identifier">cb</span></code> denotes an object satisfying
+ <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant buffer
+ sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
+ denotes an object satisfying <a class="link" href="WriteHandler.html" title="Write handler requirements">write
+ handler</a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.AsyncRandomAccessWriteDevice.t0"></a><p class="title"><b>Table&#160;2.&#160;Buffer-oriented asynchronous random-access write device requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous random-access write device requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object through which the <code class="computeroutput"><span class="identifier">async_write_some_at</span></code>
+ handler <code class="computeroutput"><span class="identifier">h</span></code> will
+ be invoked.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">h</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous operation to write one or more bytes
+ of data to the device <code class="computeroutput"><span class="identifier">a</span></code>
+ at offset <code class="computeroutput"><span class="identifier">o</span></code>. The
+ operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The <code class="computeroutput"><span class="identifier">async_write_some_at</span></code> operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous write operation
+ is invoked,<br> <br> whichever comes first.<br> <br> If
+ the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ write operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes written.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="AsyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncReadStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/AsyncReadStream.html b/doc/html/boost_asio/reference/AsyncReadStream.html
new file mode 100644
index 0000000000..c6d195b520
--- /dev/null
+++ b/doc/html/boost_asio/reference/AsyncReadStream.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented asynchronous read stream requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">
+<link rel="next" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AsyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncWriteStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.AsyncReadStream"></a><a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">Buffer-oriented
+ asynchronous read stream requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ an asynchronous read stream object, <code class="computeroutput"><span class="identifier">mb</span></code>
+ denotes an object satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
+ denotes an object satisfying <a class="link" href="ReadHandler.html" title="Read handler requirements">read
+ handler</a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.AsyncReadStream.t0"></a><p class="title"><b>Table&#160;3.&#160;Buffer-oriented asynchronous read stream requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous read stream requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object through which the <code class="computeroutput"><span class="identifier">async_read_some</span></code>
+ handler <code class="computeroutput"><span class="identifier">h</span></code> will
+ be invoked.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">h</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous operation to read one or more bytes of
+ data from the stream <code class="computeroutput"><span class="identifier">a</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The <code class="computeroutput"><span class="identifier">async_read_some</span></code>
+ operation shall always fill a buffer in the sequence completely
+ before proceeding to the next.<br> <br> The implementation
+ shall maintain one or more copies of <code class="computeroutput"><span class="identifier">mb</span></code>
+ until such time as the read operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous read operation
+ is invoked,<br> <br> whichever comes first.<br> <br> If
+ the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="AsyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncWriteStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/AsyncWriteStream.html b/doc/html/boost_asio/reference/AsyncWriteStream.html
new file mode 100644
index 0000000000..0938f68d3b
--- /dev/null
+++ b/doc/html/boost_asio/reference/AsyncWriteStream.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented asynchronous write stream requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">
+<link rel="next" href="BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AsyncReadStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BufferedHandshakeHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.AsyncWriteStream"></a><a class="link" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">Buffer-oriented
+ asynchronous write stream requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ an asynchronous write stream object, <code class="computeroutput"><span class="identifier">cb</span></code>
+ denotes an object satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">h</span></code>
+ denotes an object satisfying <a class="link" href="WriteHandler.html" title="Write handler requirements">write
+ handler</a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.AsyncWriteStream.t0"></a><p class="title"><b>Table&#160;4.&#160;Buffer-oriented asynchronous write stream requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous write stream requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object through which the <code class="computeroutput"><span class="identifier">async_write_some</span></code>
+ handler <code class="computeroutput"><span class="identifier">h</span></code> will
+ be invoked.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">h</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous operation to write one or more bytes
+ of data to the stream <code class="computeroutput"><span class="identifier">a</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The <code class="computeroutput"><span class="identifier">async_write_some</span></code> operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous write operation
+ is invoked,<br> <br> whichever comes first.<br> <br> If
+ the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ write operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes written.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="AsyncReadStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BufferedHandshakeHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/BufferedHandshakeHandler.html b/doc/html/boost_asio/reference/BufferedHandshakeHandler.html
new file mode 100644
index 0000000000..ee1cfbcb5e
--- /dev/null
+++ b/doc/html/boost_asio/reference/BufferedHandshakeHandler.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffered handshake handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">
+<link rel="next" href="CompletionHandler.html" title="Completion handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="AsyncWriteStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="CompletionHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.BufferedHandshakeHandler"></a><a class="link" href="BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">Buffered
+ handshake handler requirements</a>
+</h3></div></div></div>
+<p>
+ A buffered handshake handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a buffered handshake
+ handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">s</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ and <code class="computeroutput"><span class="identifier">s</span></code> is an lvalue of type
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">size_t</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.BufferedHandshakeHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.BufferedHandshakeHandler.examples"></a></span><a class="link" href="BufferedHandshakeHandler.html#boost_asio.reference.BufferedHandshakeHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a buffered handshake handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handshake_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A buffered handshake handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">handshake_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a buffered handshake handler
+ using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_handshake</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="AsyncWriteStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="CompletionHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/CompletionHandler.html b/doc/html/boost_asio/reference/CompletionHandler.html
new file mode 100644
index 0000000000..5c52c9fd82
--- /dev/null
+++ b/doc/html/boost_asio/reference/CompletionHandler.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Completion handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">
+<link rel="next" href="ComposedConnectHandler.html" title="Composed connect handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="BufferedHandshakeHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ComposedConnectHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.CompletionHandler"></a><a class="link" href="CompletionHandler.html" title="Completion handler requirements">Completion handler
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A completion handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a completion
+ handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">()</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.CompletionHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.CompletionHandler.examples"></a></span><a class="link" href="CompletionHandler.html#boost_asio.reference.CompletionHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a completion handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">completion_handler</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A completion handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">completion_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a completion handler using
+ <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">completion_handler</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">completion_handler</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="BufferedHandshakeHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ComposedConnectHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ComposedConnectHandler.html b/doc/html/boost_asio/reference/ComposedConnectHandler.html
new file mode 100644
index 0000000000..79b3daf79c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ComposedConnectHandler.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Composed connect handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="CompletionHandler.html" title="Completion handler requirements">
+<link rel="next" href="ConnectHandler.html" title="Connect handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="CompletionHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConnectHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ComposedConnectHandler"></a><a class="link" href="ComposedConnectHandler.html" title="Composed connect handler requirements">Composed
+ connect handler requirements</a>
+</h3></div></div></div>
+<p>
+ A composed connect handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a composed connect
+ handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ and <code class="computeroutput"><span class="identifier">i</span></code> is an lvalue of the
+ type <code class="computeroutput"><span class="identifier">Iterator</span></code> used in the
+ corresponding <code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code>
+ or async_connect()` function.
+ </p>
+<h5>
+<a name="boost_asio.reference.ComposedConnectHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ComposedConnectHandler.examples"></a></span><a class="link" href="ComposedConnectHandler.html#boost_asio.reference.ComposedConnectHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a composed connect handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A composed connect handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">connect_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a composed connect handler
+ using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="CompletionHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConnectHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ConnectHandler.html b/doc/html/boost_asio/reference/ConnectHandler.html
new file mode 100644
index 0000000000..da01950254
--- /dev/null
+++ b/doc/html/boost_asio/reference/ConnectHandler.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Connect handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ComposedConnectHandler.html" title="Composed connect handler requirements">
+<link rel="next" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ComposedConnectHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConstBufferSequence.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ConnectHandler"></a><a class="link" href="ConnectHandler.html" title="Connect handler requirements">Connect handler
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A connect handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a connect handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.ConnectHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ConnectHandler.examples"></a></span><a class="link" href="ConnectHandler.html#boost_asio.reference.ConnectHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a connect handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A connect handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">connect_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a connect handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">connect_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="ComposedConnectHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConstBufferSequence.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ConstBufferSequence.html b/doc/html/boost_asio/reference/ConstBufferSequence.html
new file mode 100644
index 0000000000..87f4b8e766
--- /dev/null
+++ b/doc/html/boost_asio/reference/ConstBufferSequence.html
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Constant buffer sequence requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ConnectHandler.html" title="Connect handler requirements">
+<link rel="next" href="ConvertibleToConstBuffer.html" title="Convertible to const buffer requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ConnectHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConvertibleToConstBuffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ConstBufferSequence"></a><a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">Constant buffer
+ sequence requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a class containing objects of type <code class="computeroutput"><span class="identifier">T</span></code>,
+ <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span></code> and <code class="computeroutput"><span class="identifier">u</span></code>
+ denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.ConstBufferSequence.t0"></a><p class="title"><b>Table&#160;5.&#160;ConstBufferSequence requirements</b></p>
+<div class="table-contents"><table class="table" summary="ConstBufferSequence requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code> meets the requirements
+ for <a class="link" href="ConvertibleToConstBuffer.html" title="Convertible to const buffer requirements">ConvertibleToConstBuffer</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ iterator type pointing to <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ meets the requirements for bidirectional iterators (C++ Std, 24.1.4).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ post: <code class="computeroutput"><span class="identifier">equal_const_buffer_seq</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">))</span></code> where the binary predicate <code class="computeroutput"><span class="identifier">equal_const_buffer_seq</span></code> is defined
+ as
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_const_buffer_seq</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span>
+ <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x2</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ and the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
+ is defined as
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">const_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
+ <span class="identifier">const_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
+ <span class="keyword">return</span>
+ <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ post:
+</p>
+<pre class="programlisting"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">)</span>
+</pre>
+<p>
+ where the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
+ is defined as
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">const_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
+ <span class="identifier">const_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
+ <span class="keyword">return</span>
+ <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)-&gt;~</span><span class="identifier">X</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ note: the destructor is applied to every element of <code class="computeroutput"><span class="identifier">a</span></code>; all the memory is deallocated.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ConnectHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConvertibleToConstBuffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ConvertibleToConstBuffer.html b/doc/html/boost_asio/reference/ConvertibleToConstBuffer.html
new file mode 100644
index 0000000000..1008413995
--- /dev/null
+++ b/doc/html/boost_asio/reference/ConvertibleToConstBuffer.html
@@ -0,0 +1,225 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Convertible to const buffer requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">
+<link rel="next" href="ConvertibleToMutableBuffer.html" title="Convertible to mutable buffer requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ConstBufferSequence.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConvertibleToMutableBuffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ConvertibleToConstBuffer"></a><a class="link" href="ConvertibleToConstBuffer.html" title="Convertible to const buffer requirements">Convertible
+ to const buffer requirements</a>
+</h3></div></div></div>
+<p>
+ A type that meets the requirements for convertibility to a const buffer must
+ meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
+ types (C++ Std, 23.1).
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a class meeting the requirements for convertibility to a const buffer, <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">b</span></code>
+ denote values of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ and <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">v</span></code>
+ and <code class="computeroutput"><span class="identifier">w</span></code> denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.ConvertibleToConstBuffer.t0"></a><p class="title"><b>Table&#160;6.&#160;ConvertibleToConstBuffer requirements</b></p>
+<div class="table-contents"><table class="table" summary="ConvertibleToConstBuffer requirements">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ postcondition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">const_buffer</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">const_buffer</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">const_buffer</span> <span class="identifier">v</span><span class="special">;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">X</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="identifier">const_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ConstBufferSequence.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ConvertibleToMutableBuffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ConvertibleToMutableBuffer.html b/doc/html/boost_asio/reference/ConvertibleToMutableBuffer.html
new file mode 100644
index 0000000000..6116fa6cfe
--- /dev/null
+++ b/doc/html/boost_asio/reference/ConvertibleToMutableBuffer.html
@@ -0,0 +1,226 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Convertible to mutable buffer requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ConvertibleToConstBuffer.html" title="Convertible to const buffer requirements">
+<link rel="next" href="DatagramSocketService.html" title="Datagram socket service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ConvertibleToConstBuffer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="DatagramSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ConvertibleToMutableBuffer"></a><a class="link" href="ConvertibleToMutableBuffer.html" title="Convertible to mutable buffer requirements">Convertible
+ to mutable buffer requirements</a>
+</h3></div></div></div>
+<p>
+ A type that meets the requirements for convertibility to a mutable buffer
+ must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
+ types (C++ Std, 23.1).
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a class meeting the requirements for convertibility to a mutable buffer,
+ <code class="computeroutput"><span class="identifier">a</span></code> and <code class="computeroutput"><span class="identifier">b</span></code>
+ denote values of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ and <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">v</span></code>
+ and <code class="computeroutput"><span class="identifier">w</span></code> denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.ConvertibleToMutableBuffer.t0"></a><p class="title"><b>Table&#160;7.&#160;ConvertibleToMutableBuffer requirements</b></p>
+<div class="table-contents"><table class="table" summary="ConvertibleToMutableBuffer requirements">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ postcondition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">v</span><span class="special">;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">v</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">X</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+<span class="identifier">X</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="identifier">mutable_buffer</span> <span class="identifier">w</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">w</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">w</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ConvertibleToConstBuffer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="DatagramSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/DatagramSocketService.html b/doc/html/boost_asio/reference/DatagramSocketService.html
new file mode 100644
index 0000000000..8e52c0e4da
--- /dev/null
+++ b/doc/html/boost_asio/reference/DatagramSocketService.html
@@ -0,0 +1,369 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Datagram socket service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ConvertibleToMutableBuffer.html" title="Convertible to mutable buffer requirements">
+<link rel="next" href="DescriptorService.html" title="Descriptor service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ConvertibleToMutableBuffer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="DescriptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.DatagramSocketService"></a><a class="link" href="DatagramSocketService.html" title="Datagram socket service requirements">Datagram
+ socket service requirements</a>
+</h3></div></div></div>
+<p>
+ A datagram socket service must meet the requirements for a <a class="link" href="SocketService.html" title="Socket service requirements">socket
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a datagram socket service class for protocol <a class="link" href="Protocol.html" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">mb</span></code>
+ denotes a value satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
+ buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.DatagramSocketService.t0"></a><p class="title"><b>Table&#160;8.&#160;DatagramSocketService requirements</b></p>
+<div class="table-contents"><table class="table" summary="DatagramSocketService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from an unconnected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> The program must ensure
+ the object <code class="computeroutput"><span class="identifier">e</span></code> is
+ valid until the handler for the asynchronous operation is invoked.<br>
+ <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
+ of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to an unconnected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">wh</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ConvertibleToMutableBuffer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="DescriptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/DescriptorService.html b/doc/html/boost_asio/reference/DescriptorService.html
new file mode 100644
index 0000000000..1c5d1c7c64
--- /dev/null
+++ b/doc/html/boost_asio/reference/DescriptorService.html
@@ -0,0 +1,322 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Descriptor service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="DatagramSocketService.html" title="Datagram socket service requirements">
+<link rel="next" href="Endpoint.html" title="Endpoint requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="DatagramSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.DescriptorService"></a><a class="link" href="DescriptorService.html" title="Descriptor service requirements">Descriptor service
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A descriptor service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a> with support for movability, as well as the additional
+ requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a descriptor service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">n</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">i</span></code> denotes a value meeting <a class="link" href="IoControlCommand.html" title="I/O control command requirements"><code class="computeroutput"><span class="identifier">IoControlCommand</span></code></a> requirements, and
+ <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
+ denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.DescriptorService.t0"></a><p class="title"><b>Table&#160;9.&#160;DescriptorService requirements</b></p>
+<div class="table-contents"><table class="table" summary="DescriptorService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ The implementation-defined native representation of a descriptor.
+ Must satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations, as if
+ by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. The underlying native representation is moved from
+ <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations associated
+ with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
+ calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ is true, causes any outstanding asynchronous operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ Causes any outstanding asynchronous operations to complete as soon
+ as possible. Handlers for cancelled operations shall be passed
+ the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="DatagramSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/Endpoint.html b/doc/html/boost_asio/reference/Endpoint.html
new file mode 100644
index 0000000000..ff3006f735
--- /dev/null
+++ b/doc/html/boost_asio/reference/Endpoint.html
@@ -0,0 +1,248 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Endpoint requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="DescriptorService.html" title="Descriptor service requirements">
+<link rel="next" href="GettableSerialPortOption.html" title="Gettable serial port option requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="DescriptorService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="GettableSerialPortOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.Endpoint"></a><a class="link" href="Endpoint.html" title="Endpoint requirements">Endpoint requirements</a>
+</h3></div></div></div>
+<p>
+ An endpoint must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
+ types (C++ Std, 23.1).
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ an endpoint class, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ a value of type <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a size in bytes, and <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.Endpoint.t0"></a><p class="title"><b>Table&#160;10.&#160;Endpoint requirements</b></p>
+<div class="table-contents"><table class="table" summary="Endpoint requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">protocol_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ type meeting <a class="link" href="Protocol.html" title="Protocol requirements">protocol</a>
+ requirements
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">protocol_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ a pointer
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a pointer suitable for passing as the <span class="emphasis"><em>address</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/accept.html" target="_top"><code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code></a>,
+ <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getpeername.html" target="_top"><code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code></a>,
+ <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockname.html" target="_top"><code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code></a>
+ and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/recvfrom.html" target="_top"><code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code></a>.
+ The implementation shall perform a <code class="computeroutput"><span class="keyword">reinterpret_cast</span></code>
+ on the pointer to convert it to <code class="computeroutput"><span class="identifier">sockaddr</span><span class="special">*</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span>
+ <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ a pointer
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a pointer suitable for passing as the <span class="emphasis"><em>address</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/connect.html" target="_top"><code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code></a>,
+ or as the <span class="emphasis"><em>dest_addr</em></span> argument to <span class="emphasis"><em>POSIX</em></span>
+ functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/sendto.html" target="_top"><code class="computeroutput"><span class="identifier">sendto</span><span class="special">()</span></code></a>.
+ The implementation shall perform a <code class="computeroutput"><span class="keyword">reinterpret_cast</span></code>
+ on the pointer to convert it to <code class="computeroutput"><span class="keyword">const</span>
+ <span class="identifier">sockaddr</span><span class="special">*</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>address_len</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/connect.html" target="_top"><code class="computeroutput"><span class="identifier">connect</span><span class="special">()</span></code></a>,
+ or as the <span class="emphasis"><em>dest_len</em></span> argument to <span class="emphasis"><em>POSIX</em></span>
+ functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/sendto.html" target="_top"><code class="computeroutput"><span class="identifier">sendto</span><span class="special">()</span></code></a>,
+ after appropriate integer conversion has been performed.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resize</span><span class="special">(</span><span class="identifier">s</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ post: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span>
+ <span class="special">==</span> <span class="identifier">s</span></code><br>
+ Passed the value contained in the <span class="emphasis"><em>address_len</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/accept.html" target="_top"><code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code></a>,
+ <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getpeername.html" target="_top"><code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code></a>,
+ <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockname.html" target="_top"><code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code></a>
+ and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/recvfrom.html" target="_top"><code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code></a>,
+ after successful completion of the function. Permitted to throw
+ an exception if the protocol associated with the endpoint object
+ <code class="computeroutput"><span class="identifier">a</span></code> does not support
+ the specified size.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">capacity</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>address_len</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> functions such as <a href="http://www.opengroup.org/onlinepubs/000095399/functions/accept.html" target="_top"><code class="computeroutput"><span class="identifier">accept</span><span class="special">()</span></code></a>,
+ <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getpeername.html" target="_top"><code class="computeroutput"><span class="identifier">getpeername</span><span class="special">()</span></code></a>,
+ <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockname.html" target="_top"><code class="computeroutput"><span class="identifier">getsockname</span><span class="special">()</span></code></a>
+ and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/recvfrom.html" target="_top"><code class="computeroutput"><span class="identifier">recvfrom</span><span class="special">()</span></code></a>,
+ after appropriate integer conversion has been performed.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="DescriptorService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="GettableSerialPortOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/GettableSerialPortOption.html b/doc/html/boost_asio/reference/GettableSerialPortOption.html
new file mode 100644
index 0000000000..dbe3c755f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/GettableSerialPortOption.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Gettable serial port option requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="Endpoint.html" title="Endpoint requirements">
+<link rel="next" href="GettableSocketOption.html" title="Gettable socket option requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="Endpoint.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="GettableSocketOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.GettableSerialPortOption"></a><a class="link" href="GettableSerialPortOption.html" title="Gettable serial port option requirements">Gettable
+ serial port option requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a serial port option class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">s</span></code>
+ denotes a value of implementation-defined type <span class="emphasis"><em><code class="literal">storage</code></em></span>
+ (where <span class="emphasis"><em><code class="literal">storage</code></em></span> is the type <code class="computeroutput"><span class="identifier">DCB</span></code> on Windows and <code class="computeroutput"><span class="identifier">termios</span></code>
+ on <span class="emphasis"><em>POSIX</em></span> platforms), and <code class="computeroutput"><span class="identifier">u</span></code>
+ denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.GettableSerialPortOption.t0"></a><p class="title"><b>Table&#160;11.&#160;GettableSerialPortOption requirements</b></p>
+<div class="table-contents"><table class="table" summary="GettableSerialPortOption requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">const</span> </code><span class="emphasis"><em><code class="literal">storage</code></em></span><code class="computeroutput"><span class="special">&amp;</span> <span class="identifier">u</span>
+ <span class="special">=</span> <span class="identifier">s</span><span class="special">;</span></code><br> <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">load</span><span class="special">(</span><span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieves the value of the serial port option from the storage.<br>
+ <br> If successful, sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
+ is true. If an error occurred, sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
+ is true. Returns <code class="computeroutput"><span class="identifier">ec</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="Endpoint.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="GettableSocketOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/GettableSocketOption.html b/doc/html/boost_asio/reference/GettableSocketOption.html
new file mode 100644
index 0000000000..aa1e7236d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/GettableSocketOption.html
@@ -0,0 +1,178 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Gettable socket option requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="GettableSerialPortOption.html" title="Gettable serial port option requirements">
+<link rel="next" href="Handler.html" title="Handlers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="GettableSerialPortOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Handler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.GettableSocketOption"></a><a class="link" href="GettableSocketOption.html" title="Gettable socket option requirements">Gettable socket
+ option requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a socket option class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">p</span></code> denotes a value that meets the <a class="link" href="Protocol.html" title="Protocol requirements">protocol</a> requirements, and
+ <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.GettableSocketOption.t0"></a><p class="title"><b>Table&#160;12.&#160;GettableSocketOption requirements</b></p>
+<div class="table-contents"><table class="table" summary="GettableSocketOption requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">level</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>level</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>option_name</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">data</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ a pointer, convertible to <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a pointer suitable for passing as the <span class="emphasis"><em>option_value</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>option_len</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
+ (or equivalent), after appropriate integer conversion has been
+ performed.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resize</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span>
+ <span class="identifier">s</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ post: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">s</span></code>.<br>
+ Passed the value contained in the <span class="emphasis"><em>option_len</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/getsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">getsockopt</span><span class="special">()</span></code></a>
+ (or equivalent) after successful completion of the function. Permitted
+ to throw an exception if the socket option object <code class="computeroutput"><span class="identifier">a</span></code> does not support the specified
+ size.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="GettableSerialPortOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Handler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/HandleService.html b/doc/html/boost_asio/reference/HandleService.html
new file mode 100644
index 0000000000..fc70aecd22
--- /dev/null
+++ b/doc/html/boost_asio/reference/HandleService.html
@@ -0,0 +1,300 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Handle service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="Handler.html" title="Handlers">
+<link rel="next" href="HandshakeHandler.html" title="SSL handshake handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="Handler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="HandshakeHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.HandleService"></a><a class="link" href="HandleService.html" title="Handle service requirements">Handle service requirements</a>
+</h3></div></div></div>
+<p>
+ A handle service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a> with support for movability, as well as the additional
+ requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">n</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
+ denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.HandleService.t0"></a><p class="title"><b>Table&#160;14.&#160;HandleService requirements</b></p>
+<div class="table-contents"><table class="table" summary="HandleService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ The implementation-defined native representation of a handle. Must
+ satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations, as if
+ by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. The underlying native representation is moved from
+ <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations associated
+ with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
+ calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ is true, causes any outstanding asynchronous operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ Causes any outstanding asynchronous operations to complete as soon
+ as possible. Handlers for cancelled operations shall be passed
+ the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="Handler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="HandshakeHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/Handler.html b/doc/html/boost_asio/reference/Handler.html
new file mode 100644
index 0000000000..e51b8c34b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/Handler.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Handlers</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="GettableSocketOption.html" title="Gettable socket option requirements">
+<link rel="next" href="HandleService.html" title="Handle service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="GettableSocketOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="HandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.Handler"></a><a class="link" href="Handler.html" title="Handlers">Handlers</a>
+</h3></div></div></div>
+<p>
+ A handler must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3).
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a handler class, <code class="computeroutput"><span class="identifier">h</span></code> denotes
+ a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">p</span></code> denotes a pointer to a block of allocated
+ memory of type <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>,
+ <code class="computeroutput"><span class="identifier">s</span></code> denotes the size for a
+ block of allocated memory, and <code class="computeroutput"><span class="identifier">f</span></code>
+ denotes a function object taking no arguments.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.Handler.t0"></a><p class="title"><b>Table&#160;13.&#160;Handler requirements</b></p>
+<div class="table-contents"><table class="table" summary="Handler requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_allocate</span><span class="special">;</span>
+<span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a pointer to a block of memory of size <code class="computeroutput"><span class="identifier">s</span></code>.
+ The pointer must satisfy the same alignment requirements as a pointer
+ returned by <code class="computeroutput"><span class="special">::</span><span class="keyword">operator</span>
+ <span class="keyword">new</span><span class="special">()</span></code>.
+ Throws <code class="computeroutput"><span class="identifier">bad_alloc</span></code>
+ on failure.<br> <br> The <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code> function is located using argument-dependent
+ lookup. The function <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code> serves as a default if no user-supplied
+ function is available.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_deallocate</span><span class="special">;</span>
+<span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Frees a block of memory associated with a pointer <code class="computeroutput"><span class="identifier">p</span></code>, of at least size <code class="computeroutput"><span class="identifier">s</span></code>, that was previously allocated
+ using <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code>.<br> <br> The <code class="computeroutput"><span class="identifier">asio_handler_deallocate</span><span class="special">()</span></code>
+ function is located using argument-dependent lookup. The function
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_deallocate</span><span class="special">()</span></code>
+ serves as a default if no user-supplied function is available.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_invoke</span><span class="special">;</span>
+<span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Causes the function object <code class="computeroutput"><span class="identifier">f</span></code>
+ to be executed as if by calling <code class="computeroutput"><span class="identifier">f</span><span class="special">()</span></code>.<br> <br> The <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">()</span></code>
+ function is located using argument-dependent lookup. The function
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_invoke</span><span class="special">()</span></code>
+ serves as a default if no user-supplied function is available.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="GettableSocketOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="HandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/HandshakeHandler.html b/doc/html/boost_asio/reference/HandshakeHandler.html
new file mode 100644
index 0000000000..bda36cb58f
--- /dev/null
+++ b/doc/html/boost_asio/reference/HandshakeHandler.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>SSL handshake handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="HandleService.html" title="Handle service requirements">
+<link rel="next" href="InternetProtocol.html" title="Internet protocol requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="HandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="InternetProtocol.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.HandshakeHandler"></a><a class="link" href="HandshakeHandler.html" title="SSL handshake handler requirements">SSL handshake
+ handler requirements</a>
+</h3></div></div></div>
+<p>
+ A handshake handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a handshake
+ handler class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.HandshakeHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.HandshakeHandler.examples"></a></span><a class="link" href="HandshakeHandler.html#boost_asio.reference.HandshakeHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a handshake handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handshake_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A handshake handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">handshake_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a handshake handler using
+ <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">ssl_stream</span><span class="special">.</span><span class="identifier">async_handshake</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">handshake_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="HandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="InternetProtocol.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/InternetProtocol.html b/doc/html/boost_asio/reference/InternetProtocol.html
new file mode 100644
index 0000000000..28548b62a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/InternetProtocol.html
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Internet protocol requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="HandshakeHandler.html" title="SSL handshake handler requirements">
+<link rel="next" href="IoControlCommand.html" title="I/O control command requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="HandshakeHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="IoControlCommand.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.InternetProtocol"></a><a class="link" href="InternetProtocol.html" title="Internet protocol requirements">Internet protocol
+ requirements</a>
+</h3></div></div></div>
+<p>
+ An internet protocol must meet the requirements for a <a class="link" href="Protocol.html" title="Protocol requirements">protocol</a>
+ as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ an internet protocol class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ and <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of
+ type <code class="computeroutput"><span class="identifier">X</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.InternetProtocol.t0"></a><p class="title"><b>Table&#160;15.&#160;InternetProtocol requirements</b></p>
+<div class="table-contents"><table class="table" summary="InternetProtocol requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">resolver</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a resolver for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">v4</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an object representing the IP version 4 protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">v6</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an object representing the IP version 6 protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span> <span class="special">==</span>
+ <span class="identifier">b</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ convertible to <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns whether two protocol objects are equal.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span> <span class="special">!=</span>
+ <span class="identifier">b</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ convertible to <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="special">!(</span><span class="identifier">a</span>
+ <span class="special">==</span> <span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="HandshakeHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="IoControlCommand.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/IoControlCommand.html b/doc/html/boost_asio/reference/IoControlCommand.html
new file mode 100644
index 0000000000..a03b6d4dd4
--- /dev/null
+++ b/doc/html/boost_asio/reference/IoControlCommand.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>I/O control command requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="InternetProtocol.html" title="Internet protocol requirements">
+<link rel="next" href="IoObjectService.html" title="I/O object service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="InternetProtocol.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="IoObjectService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.IoControlCommand"></a><a class="link" href="IoControlCommand.html" title="I/O control command requirements">I/O control command
+ requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ an I/O control command class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, and
+ <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.IoControlCommand.t0"></a><p class="title"><b>Table&#160;16.&#160;IoControlCommand requirements</b></p>
+<div class="table-contents"><table class="table" summary="IoControlCommand requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">name</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>request</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/ioctl.html" target="_top"><code class="computeroutput"><span class="identifier">ioctl</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">data</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ a pointer, convertible to <code class="computeroutput"><span class="keyword">void</span><span class="special">*</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="InternetProtocol.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="IoObjectService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/IoObjectService.html b/doc/html/boost_asio/reference/IoObjectService.html
new file mode 100644
index 0000000000..1794f5a2e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/IoObjectService.html
@@ -0,0 +1,179 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>I/O object service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="IoControlCommand.html" title="I/O control command requirements">
+<link rel="next" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="IoControlCommand.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="MutableBufferSequence.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.IoObjectService"></a><a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O object service
+ requirements</a>
+</h3></div></div></div>
+<p>
+ An I/O object service must meet the requirements for a <a class="link" href="Service.html" title="Service requirements">service</a>,
+ as well as the requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ an I/O object service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, and <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.IoObjectService.t0"></a><p class="title"><b>Table&#160;17.&#160;IoObjectService requirements</b></p>
+<div class="table-contents"><table class="table" summary="IoObjectService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">u</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ note: <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code> has a public
+ default constructor and destructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ note: <code class="computeroutput"><span class="identifier">destroy</span><span class="special">()</span></code>
+ will only be called on a value that has previously been initialised
+ with <code class="computeroutput"><span class="identifier">construct</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">move_construct</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ note: only required for I/O objects that support movability.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ note: only required for I/O objects that support movability.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="IoControlCommand.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="MutableBufferSequence.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/MutableBufferSequence.html b/doc/html/boost_asio/reference/MutableBufferSequence.html
new file mode 100644
index 0000000000..4b8f30bc11
--- /dev/null
+++ b/doc/html/boost_asio/reference/MutableBufferSequence.html
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Mutable buffer sequence requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="IoObjectService.html" title="I/O object service requirements">
+<link rel="next" href="ObjectHandleService.html" title="Object handle service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="IoObjectService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ObjectHandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.MutableBufferSequence"></a><a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">Mutable buffer
+ sequence requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a class containing objects of type <code class="computeroutput"><span class="identifier">T</span></code>,
+ <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span></code> and <code class="computeroutput"><span class="identifier">u</span></code>
+ denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.MutableBufferSequence.t0"></a><p class="title"><b>Table&#160;18.&#160;MutableBufferSequence requirements</b></p>
+<div class="table-contents"><table class="table" summary="MutableBufferSequence requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">T</span></code> meets the requirements
+ for <a class="link" href="ConvertibleToMutableBuffer.html" title="Convertible to mutable buffer requirements">ConvertibleToMutableBuffer</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">const_iterator</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ iterator type pointing to <code class="computeroutput"><span class="identifier">T</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ meets the requirements for bidirectional iterators (C++ Std, 24.1.4).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ post: <code class="computeroutput"><span class="identifier">equal_mutable_buffer_seq</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">X</span><span class="special">(</span><span class="identifier">a</span><span class="special">))</span></code> where the binary predicate <code class="computeroutput"><span class="identifier">equal_mutable_buffer_seq</span></code> is defined
+ as
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_mutable_buffer_seq</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">x2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span>
+ <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x2</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">x1</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">x1</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">x2</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ and the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
+ is defined as
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">mutable_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
+ <span class="identifier">mutable_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
+ <span class="keyword">return</span>
+ <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span> <span class="identifier">u</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ post:
+</p>
+<pre class="programlisting"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">equal</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">u</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">equal_buffer</span><span class="special">)</span>
+</pre>
+<p>
+ where the binary predicate <code class="computeroutput"><span class="identifier">equal_buffer</span></code>
+ is defined as
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">equal_buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">v2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">mutable_buffer</span> <span class="identifier">b1</span><span class="special">(</span><span class="identifier">v1</span><span class="special">);</span>
+ <span class="identifier">mutable_buffer</span> <span class="identifier">b2</span><span class="special">(</span><span class="identifier">v2</span><span class="special">);</span>
+ <span class="keyword">return</span>
+ <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)-&gt;~</span><span class="identifier">X</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ note: the destructor is applied to every element of <code class="computeroutput"><span class="identifier">a</span></code>; all the memory is deallocated.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ or convertible to <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="IoObjectService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ObjectHandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ObjectHandleService.html b/doc/html/boost_asio/reference/ObjectHandleService.html
new file mode 100644
index 0000000000..2459896e59
--- /dev/null
+++ b/doc/html/boost_asio/reference/ObjectHandleService.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Object handle service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">
+<link rel="next" href="Protocol.html" title="Protocol requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="MutableBufferSequence.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Protocol.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ObjectHandleService"></a><a class="link" href="ObjectHandleService.html" title="Object handle service requirements">Object handle
+ service requirements</a>
+</h3></div></div></div>
+<p>
+ An object handle service must meet the requirements for a <a class="link" href="HandleService.html" title="Handle service requirements">handle
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ an object handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ and <code class="computeroutput"><span class="identifier">wh</span></code> denotes a value meeting
+ <a class="link" href="WaitHandler.html" title="Wait handler requirements"><code class="computeroutput"><span class="identifier">WaitHandler</span></code></a>
+ requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.ObjectHandleService.t0"></a><p class="title"><b>Table&#160;19.&#160;ObjectHandleService requirements</b></p>
+<div class="table-contents"><table class="table" summary="ObjectHandleService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Synchronously waits for the object represented by handle
+ <code class="computeroutput"><span class="identifier">b</span></code> to become signalled.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to wait for the object
+ represented by handle <code class="computeroutput"><span class="identifier">b</span></code>
+ to become signalled. The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code> object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="MutableBufferSequence.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Protocol.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/Protocol.html b/doc/html/boost_asio/reference/Protocol.html
new file mode 100644
index 0000000000..29658f718a
--- /dev/null
+++ b/doc/html/boost_asio/reference/Protocol.html
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Protocol requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ObjectHandleService.html" title="Object handle service requirements">
+<link rel="next" href="RandomAccessHandleService.html" title="Random access handle service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ObjectHandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="RandomAccessHandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.Protocol"></a><a class="link" href="Protocol.html" title="Protocol requirements">Protocol requirements</a>
+</h3></div></div></div>
+<p>
+ A protocol must meet the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code>
+ types (C++ Std, 23.1).
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a protocol class, and <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ a value of <code class="computeroutput"><span class="identifier">X</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.Protocol.t0"></a><p class="title"><b>Table&#160;20.&#160;Protocol requirements</b></p>
+<div class="table-contents"><table class="table" summary="Protocol requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ type meeting <a class="link" href="Endpoint.html" title="Endpoint requirements">endpoint</a>
+ requirements
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">family</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>domain</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/socket.html" target="_top"><code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">type</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>type</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/socket.html" target="_top"><code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>protocol</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/socket.html" target="_top"><code class="computeroutput"><span class="identifier">socket</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ObjectHandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="RandomAccessHandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/RandomAccessHandleService.html b/doc/html/boost_asio/reference/RandomAccessHandleService.html
new file mode 100644
index 0000000000..e9268251b7
--- /dev/null
+++ b/doc/html/boost_asio/reference/RandomAccessHandleService.html
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Random access handle service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="Protocol.html" title="Protocol requirements">
+<link rel="next" href="RawSocketService.html" title="Raw socket service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="Protocol.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="RawSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.RandomAccessHandleService"></a><a class="link" href="RandomAccessHandleService.html" title="Random access handle service requirements">Random
+ access handle service requirements</a>
+</h3></div></div></div>
+<p>
+ A random access handle service must meet the requirements for a <a class="link" href="HandleService.html" title="Handle service requirements">handle
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a random access handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ <code class="computeroutput"><span class="identifier">o</span></code> denotes an offset of type
+ boost::uint64_t, <code class="computeroutput"><span class="identifier">mb</span></code> denotes
+ a value satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
+ buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.RandomAccessHandleService.t0"></a><p class="title"><b>Table&#160;21.&#160;RandomAccessHandleService requirements</b></p>
+<div class="table-contents"><table class="table" summary="RandomAccessHandleService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code> at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
+ <br> The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code>
+ at offset <code class="computeroutput"><span class="identifier">o</span></code>. The
+ operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.<br> <br> If the operation
+ completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code> at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
+ <br> The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code>
+ at offset <code class="computeroutput"><span class="identifier">o</span></code>. The
+ operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
+ as the argument to the handler that specifies the number of bytes
+ read.<br> <br> If the operation completes successfully, the
+ <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
+ <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
+ the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="Protocol.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="RawSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/RawSocketService.html b/doc/html/boost_asio/reference/RawSocketService.html
new file mode 100644
index 0000000000..9363afa201
--- /dev/null
+++ b/doc/html/boost_asio/reference/RawSocketService.html
@@ -0,0 +1,369 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Raw socket service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="RandomAccessHandleService.html" title="Random access handle service requirements">
+<link rel="next" href="ReadHandler.html" title="Read handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="RandomAccessHandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ReadHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.RawSocketService"></a><a class="link" href="RawSocketService.html" title="Raw socket service requirements">Raw socket service
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A raw socket service must meet the requirements for a <a class="link" href="SocketService.html" title="Socket service requirements">socket
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a raw socket service class for protocol <a class="link" href="Protocol.html" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">mb</span></code>
+ denotes a value satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
+ buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.RawSocketService.t0"></a><p class="title"><b>Table&#160;22.&#160;RawSocketService requirements</b></p>
+<div class="table-contents"><table class="table" summary="RawSocketService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from an unconnected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> The program must ensure
+ the object <code class="computeroutput"><span class="identifier">e</span></code> is
+ valid until the handler for the asynchronous operation is invoked.<br>
+ <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
+ of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to an unconnected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">wh</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to an unconnected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="RandomAccessHandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ReadHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ReadHandler.html b/doc/html/boost_asio/reference/ReadHandler.html
new file mode 100644
index 0000000000..e2be8d7698
--- /dev/null
+++ b/doc/html/boost_asio/reference/ReadHandler.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Read handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="RawSocketService.html" title="Raw socket service requirements">
+<link rel="next" href="ResolveHandler.html" title="Resolve handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="RawSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ResolveHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ReadHandler"></a><a class="link" href="ReadHandler.html" title="Read handler requirements">Read handler requirements</a>
+</h3></div></div></div>
+<p>
+ A read handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a read handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">s</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ and <code class="computeroutput"><span class="identifier">s</span></code> is an lvalue of type
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">size_t</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.ReadHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ReadHandler.examples"></a></span><a class="link" href="ReadHandler.html#boost_asio.reference.ReadHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a read handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">read_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A read handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">read_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a read handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">read_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_read</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">read_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="RawSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ResolveHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ResolveHandler.html b/doc/html/boost_asio/reference/ResolveHandler.html
new file mode 100644
index 0000000000..f21d02d371
--- /dev/null
+++ b/doc/html/boost_asio/reference/ResolveHandler.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Resolve handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ReadHandler.html" title="Read handler requirements">
+<link rel="next" href="ResolverService.html" title="Resolver service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ReadHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ResolverService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ResolveHandler"></a><a class="link" href="ResolveHandler.html" title="Resolve handler requirements">Resolve handler
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A resolve handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a resolve handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ and <code class="computeroutput"><span class="identifier">i</span></code> is an lvalue of type
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span></code>. <code class="computeroutput"><span class="identifier">InternetProtocol</span></code>
+ is the template parameter of the <a class="link" href="ip__resolver_service.html" title="ip::resolver_service"><code class="computeroutput"><span class="identifier">resolver_service</span></code></a> which is used to
+ initiate the asynchronous operation.
+ </p>
+<h5>
+<a name="boost_asio.reference.ResolveHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ResolveHandler.examples"></a></span><a class="link" href="ResolveHandler.html#boost_asio.reference.ResolveHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a resolve handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A resolve handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">resolve_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a resolve handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">resolve_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">resolver</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">resolve_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="ReadHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ResolverService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ResolverService.html b/doc/html/boost_asio/reference/ResolverService.html
new file mode 100644
index 0000000000..13fd5f06be
--- /dev/null
+++ b/doc/html/boost_asio/reference/ResolverService.html
@@ -0,0 +1,237 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Resolver service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ResolveHandler.html" title="Resolve handler requirements">
+<link rel="next" href="SeqPacketSocketService.html" title="Sequenced packet socket service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ResolveHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SeqPacketSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ResolverService"></a><a class="link" href="ResolverService.html" title="Resolver service requirements">Resolver service
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A resolver service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a resolver service class for protocol <code class="computeroutput"><span class="identifier">InternetProtocol</span></code>,
+ <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>,
+ <code class="computeroutput"><span class="identifier">q</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">e</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">h</span></code> denotes a value meeting <a class="link" href="ResolveHandler.html" title="Resolve handler requirements"><code class="computeroutput"><span class="identifier">ResolveHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.ResolverService.t0"></a><p class="title"><b>Table&#160;23.&#160;ResolverService requirements</b></p>
+<div class="table-contents"><table class="table" summary="ResolverService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous resolve operations,
+ as if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Causes any outstanding asynchronous resolve operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span>
+ <span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ On success, returns an iterator <code class="computeroutput"><span class="identifier">i</span></code>
+ such that <code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
+ <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
+ Otherwise returns <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous resolve operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">ResolveHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">h</span></code> shall
+ be invoked with an iterator object <code class="computeroutput"><span class="identifier">i</span></code>
+ such that the condition <code class="computeroutput"><span class="identifier">i</span>
+ <span class="special">!=</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code> holds. Otherwise it is invoked
+ with <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span>
+ <span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ On success, returns an iterator <code class="computeroutput"><span class="identifier">i</span></code>
+ such that <code class="computeroutput"><span class="identifier">i</span> <span class="special">!=</span>
+ <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
+ Otherwise returns <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous resolve operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">ResolveHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">h</span></code> shall
+ be invoked with an iterator object <code class="computeroutput"><span class="identifier">i</span></code>
+ such that the condition <code class="computeroutput"><span class="identifier">i</span>
+ <span class="special">!=</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code> holds. Otherwise it is invoked
+ with <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;()</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ResolveHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SeqPacketSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SeqPacketSocketService.html b/doc/html/boost_asio/reference/SeqPacketSocketService.html
new file mode 100644
index 0000000000..117681cf4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/SeqPacketSocketService.html
@@ -0,0 +1,238 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Sequenced packet socket service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ResolverService.html" title="Resolver service requirements">
+<link rel="next" href="SerialPortService.html" title="Serial port service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ResolverService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SerialPortService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SeqPacketSocketService"></a><a class="link" href="SeqPacketSocketService.html" title="Sequenced packet socket service requirements">Sequenced
+ packet socket service requirements</a>
+</h3></div></div></div>
+<p>
+ A sequenced packet socket service must meet the requirements for a <a class="link" href="SocketService.html" title="Socket service requirements">socket service</a>, as well
+ as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a stream socket service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">g</span></code>
+ denotes an lvalue of type <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>,
+ <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
+ <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable buffer
+ sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SeqPacketSocketService.t0"></a><p class="title"><b>Table&#160;24.&#160;StreamSocketService requirements</b></p>
+<div class="table-contents"><table class="table" summary="StreamSocketService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">g</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, sets <code class="computeroutput"><span class="identifier">g</span></code>
+ to the flags associated with the received data, and returns the
+ number of bytes read. Otherwise, sets <code class="computeroutput"><span class="identifier">g</span></code>
+ to <code class="computeroutput"><span class="number">0</span></code> and returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">g</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, sets <code class="computeroutput"><span class="identifier">g</span></code>
+ to the flags associated with the received data, then invokes the
+ <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object
+ <code class="computeroutput"><span class="identifier">rh</span></code> with the number
+ of bytes transferred. Otherwise, sets <code class="computeroutput"><span class="identifier">g</span></code>
+ to <code class="computeroutput"><span class="number">0</span></code> and invokes <code class="computeroutput"><span class="identifier">rh</span></code> with <code class="computeroutput"><span class="number">0</span></code>
+ bytes transferred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">WriteHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">wh</span></code> is invoked
+ with the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="ResolverService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SerialPortService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SerialPortService.html b/doc/html/boost_asio/reference/SerialPortService.html
new file mode 100644
index 0000000000..d5ce0cf3de
--- /dev/null
+++ b/doc/html/boost_asio/reference/SerialPortService.html
@@ -0,0 +1,562 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Serial port service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SeqPacketSocketService.html" title="Sequenced packet socket service requirements">
+<link rel="next" href="Service.html" title="Service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SeqPacketSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SerialPortService"></a><a class="link" href="SerialPortService.html" title="Serial port service requirements">Serial port service
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A serial port service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a> with support for movability, as well as the additional
+ requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a serial port service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">d</span></code>
+ denotes a serial port device name of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> and <code class="computeroutput"><span class="identifier">c</span></code>
+ denote values of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">n</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a value meeting <a class="link" href="SettableSerialPortOption.html" title="Settable serial port option requirements"><code class="computeroutput"><span class="identifier">SettableSerialPortOption</span></code></a> requirements,
+ <code class="computeroutput"><span class="identifier">g</span></code> denotes a value meeting
+ <a class="link" href="GettableSerialPortOption.html" title="Gettable serial port option requirements"><code class="computeroutput"><span class="identifier">GettableSerialPortOption</span></code></a> requirements,
+ <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
+ <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable buffer
+ sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements. and
+ <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
+ denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SerialPortService.t0"></a><p class="title"><b>Table&#160;25.&#160;SerialPortService requirements</b></p>
+<div class="table-contents"><table class="table" summary="SerialPortService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ The implementation-defined native representation of a serial port.
+ Must satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations, as if
+ by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. The underlying native representation is moved from
+ <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations associated
+ with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
+ calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">d</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ is true, causes any outstanding asynchronous operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ Causes any outstanding asynchronous operations to complete as soon
+ as possible. Handlers for cancelled operations shall be passed
+ the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send_break</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a serial port <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> If successful, returns the number of bytes read.
+ Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.<br> <br> If the operation completes due to graceful
+ connection closure by the peer, the operation shall fail with
+ <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a serial port <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.<br> <br> If the operation
+ completes due to graceful connection closure by the peer, the operation
+ shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
+ <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
+ of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a serial port <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The constant
+ buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a serial port <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
+ as the argument to the handler that specifies the number of bytes
+ read.<br> <br> If the operation completes successfully, the
+ <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
+ <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
+ the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SeqPacketSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="Service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/Service.html b/doc/html/boost_asio/reference/Service.html
new file mode 100644
index 0000000000..2b412599cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/Service.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SerialPortService.html" title="Serial port service requirements">
+<link rel="next" href="SettableSerialPortOption.html" title="Settable serial port option requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SerialPortService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SettableSerialPortOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.Service"></a><a class="link" href="Service.html" title="Service requirements">Service requirements</a>
+</h3></div></div></div>
+<p>
+ A class is a service if it is publicly derived from another service, or if
+ it is a class derived from <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span></code>
+ and contains a publicly-accessible declaration as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+<p>
+ All services define a one-argument constructor that takes a reference to
+ the <code class="computeroutput"><span class="identifier">io_service</span></code> object that
+ owns the service. This constructor is <span class="emphasis"><em>explicit</em></span>, preventing
+ its participation in automatic conversions. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_service</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">static</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+ <span class="keyword">explicit</span> <span class="identifier">my_service</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">shutdown_service</span><span class="special">();</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A service's <code class="computeroutput"><span class="identifier">shutdown_service</span></code>
+ member function must cause all copies of user-defined handler objects that
+ are held by the service to be destroyed.
+ </p>
+</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 &#169; 2003-2017 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="SerialPortService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SettableSerialPortOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SettableSerialPortOption.html b/doc/html/boost_asio/reference/SettableSerialPortOption.html
new file mode 100644
index 0000000000..0fa6e000df
--- /dev/null
+++ b/doc/html/boost_asio/reference/SettableSerialPortOption.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Settable serial port option requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="Service.html" title="Service requirements">
+<link rel="next" href="SettableSocketOption.html" title="Settable socket option requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="Service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SettableSocketOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SettableSerialPortOption"></a><a class="link" href="SettableSerialPortOption.html" title="Settable serial port option requirements">Settable
+ serial port option requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a serial port option class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">s</span></code>
+ denotes a value of implementation-defined type <span class="emphasis"><em><code class="literal">storage</code></em></span>
+ (where <span class="emphasis"><em><code class="literal">storage</code></em></span> is the type <code class="computeroutput"><span class="identifier">DCB</span></code> on Windows and <code class="computeroutput"><span class="identifier">termios</span></code>
+ on <span class="emphasis"><em>POSIX</em></span> platforms), and <code class="computeroutput"><span class="identifier">u</span></code>
+ denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SettableSerialPortOption.t0"></a><p class="title"><b>Table&#160;26.&#160;SettableSerialPortOption requirements</b></p>
+<div class="table-contents"><table class="table" summary="SettableSerialPortOption requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span>
+ <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span></code><br> <code class="computeroutput"><span class="identifier">u</span><span class="special">.</span><span class="identifier">store</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Saves the value of the serial port option to the storage.<br>
+ <br> If successful, sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
+ is true. If an error occurred, sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
+ is true. Returns <code class="computeroutput"><span class="identifier">ec</span></code>.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="Service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SettableSocketOption.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SettableSocketOption.html b/doc/html/boost_asio/reference/SettableSocketOption.html
new file mode 100644
index 0000000000..079059d8eb
--- /dev/null
+++ b/doc/html/boost_asio/reference/SettableSocketOption.html
@@ -0,0 +1,159 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Settable socket option requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SettableSerialPortOption.html" title="Settable serial port option requirements">
+<link rel="next" href="ShutdownHandler.html" title="SSL shutdown handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SettableSerialPortOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ShutdownHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SettableSocketOption"></a><a class="link" href="SettableSocketOption.html" title="Settable socket option requirements">Settable socket
+ option requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a socket option class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">p</span></code> denotes a value that meets the <a class="link" href="Protocol.html" title="Protocol requirements">protocol</a> requirements, and
+ <code class="computeroutput"><span class="identifier">u</span></code> denotes an identifier.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SettableSocketOption.t0"></a><p class="title"><b>Table&#160;27.&#160;SettableSocketOption requirements</b></p>
+<div class="table-contents"><table class="table" summary="SettableSocketOption requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">level</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>level</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">name</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">int</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>option_name</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span>
+ <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span> <span class="identifier">u</span><span class="special">.</span><span class="identifier">data</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ a pointer, convertible to <code class="computeroutput"><span class="keyword">const</span>
+ <span class="keyword">void</span><span class="special">*</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a pointer suitable for passing as the <span class="emphasis"><em>option_value</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
+ (or equivalent).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value suitable for passing as the <span class="emphasis"><em>option_len</em></span>
+ argument to <span class="emphasis"><em>POSIX</em></span> <a href="http://www.opengroup.org/onlinepubs/000095399/functions/setsockopt.html" target="_top"><code class="computeroutput"><span class="identifier">setsockopt</span><span class="special">()</span></code></a>
+ (or equivalent), after appropriate integer conversion has been
+ performed.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SettableSerialPortOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ShutdownHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ShutdownHandler.html b/doc/html/boost_asio/reference/ShutdownHandler.html
new file mode 100644
index 0000000000..1de0e36e66
--- /dev/null
+++ b/doc/html/boost_asio/reference/ShutdownHandler.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>SSL shutdown handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SettableSocketOption.html" title="Settable socket option requirements">
+<link rel="next" href="SignalHandler.html" title="Signal handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SettableSocketOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SignalHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ShutdownHandler"></a><a class="link" href="ShutdownHandler.html" title="SSL shutdown handler requirements">SSL shutdown handler
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A shutdown handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a shutdown handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.ShutdownHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ShutdownHandler.examples"></a></span><a class="link" href="ShutdownHandler.html#boost_asio.reference.ShutdownHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a shutdown handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A shutdown handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">shutdown_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a shutdown handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">shutdown_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">ssl_stream</span><span class="special">.</span><span class="identifier">async_shutdown</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">shutdown_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="SettableSocketOption.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SignalHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SignalHandler.html b/doc/html/boost_asio/reference/SignalHandler.html
new file mode 100644
index 0000000000..15bf3dd381
--- /dev/null
+++ b/doc/html/boost_asio/reference/SignalHandler.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Signal handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ShutdownHandler.html" title="SSL shutdown handler requirements">
+<link rel="next" href="SignalSetService.html" title="Signal set service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ShutdownHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SignalSetService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SignalHandler"></a><a class="link" href="SignalHandler.html" title="Signal handler requirements">Signal handler requirements</a>
+</h3></div></div></div>
+<p>
+ A signal handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a signal handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ and <code class="computeroutput"><span class="identifier">n</span></code> is an lvalue of type
+ <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">int</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.SignalHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.SignalHandler.examples"></a></span><a class="link" href="SignalHandler.html#boost_asio.reference.SignalHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a signal handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">signal_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A signal handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">signal_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a signal handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">signal_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">my_signal_set</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">signal_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">signal_number</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="ShutdownHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SignalSetService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SignalSetService.html b/doc/html/boost_asio/reference/SignalSetService.html
new file mode 100644
index 0000000000..2d2e9e8a97
--- /dev/null
+++ b/doc/html/boost_asio/reference/SignalSetService.html
@@ -0,0 +1,219 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Signal set service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SignalHandler.html" title="Signal handler requirements">
+<link rel="next" href="SocketAcceptorService.html" title="Socket acceptor service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SignalHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SocketAcceptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SignalSetService"></a><a class="link" href="SignalSetService.html" title="Signal set service requirements">Signal set service
+ requirements</a>
+</h3></div></div></div>
+<p>
+ A signal set service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a signal set service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
+ <code class="computeroutput"><span class="keyword">int</span></code>, and <code class="computeroutput"><span class="identifier">sh</span></code>
+ denotes a value meeting <a class="link" href="SignalHandler.html" title="Signal handler requirements"><code class="computeroutput"><span class="identifier">SignalHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SignalSetService.t0"></a><p class="title"><b>Table&#160;28.&#160;SignalSetService requirements</b></p>
+<div class="table-contents"><table class="table" summary="SignalSetService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements.<br>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly clears the registered signals as if by
+ calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>,
+ then implicitly cancels outstanding asynchronous operations as
+ if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">remove</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">sh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to wait for the delivery
+ of one of the signals registered for the signal set <code class="computeroutput"><span class="identifier">b</span></code>. The operation is performed
+ via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> If the operation completes
+ successfully, the <code class="computeroutput"><span class="identifier">SignalHandler</span></code>
+ object <code class="computeroutput"><span class="identifier">sh</span></code> is invoked
+ with the number identifying the delivered signal. Otherwise it
+ is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SignalHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SocketAcceptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SocketAcceptorService.html b/doc/html/boost_asio/reference/SocketAcceptorService.html
new file mode 100644
index 0000000000..59d6be3d18
--- /dev/null
+++ b/doc/html/boost_asio/reference/SocketAcceptorService.html
@@ -0,0 +1,575 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Socket acceptor service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SignalSetService.html" title="Signal set service requirements">
+<link rel="next" href="SocketService.html" title="Socket service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SignalSetService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SocketAcceptorService"></a><a class="link" href="SocketAcceptorService.html" title="Socket acceptor service requirements">Socket acceptor
+ service requirements</a>
+</h3></div></div></div>
+<p>
+ A socket acceptor service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a socket acceptor service class for protocol <a class="link" href="Protocol.html" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
+ and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">p</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span></code>,
+ <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a value meeting <a class="link" href="SettableSocketOption.html" title="Settable socket option requirements"><code class="computeroutput"><span class="identifier">SettableSocketOption</span></code></a> requirements,
+ <code class="computeroutput"><span class="identifier">g</span></code> denotes a value meeting
+ <a class="link" href="GettableSocketOption.html" title="Gettable socket option requirements"><code class="computeroutput"><span class="identifier">GettableSocketOption</span></code></a>
+ requirements, <code class="computeroutput"><span class="identifier">i</span></code> denotes a
+ value meeting <a class="link" href="IoControlCommand.html" title="I/O control command requirements"><code class="computeroutput"><span class="identifier">IoControlCommand</span></code></a> requirements,
+ <code class="computeroutput"><span class="identifier">k</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span><span class="special">&gt;</span></code>
+ where <code class="computeroutput"><span class="identifier">SocketService</span></code> is a
+ type meeting <a class="link" href="SocketService.html" title="Socket service requirements">socket service</a>
+ requirements, <code class="computeroutput"><span class="identifier">ah</span></code> denotes
+ a value meeting <a class="link" href="AcceptHandler.html" title="Accept handler requirements"><code class="computeroutput"><span class="identifier">AcceptHandler</span></code></a> requirements, and
+ <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
+ denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SocketAcceptorService.t0"></a><p class="title"><b>Table&#160;29.&#160;SocketAcceptorService requirements</b></p>
+<div class="table-contents"><table class="table" summary="SocketAcceptorService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ The implementation-defined native representation of a socket acceptor.
+ Must satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations, as if
+ by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. The underlying native representation is moved from
+ <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations associated
+ with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
+ calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ is true, causes any outstanding asynchronous operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ Causes any outstanding asynchronous operations to complete as soon
+ as possible. Handlers for cancelled operations shall be passed
+ the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">e</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
+ post: <code class="computeroutput"><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
+ post: <code class="computeroutput"><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">e</span><span class="special">,</span> <span class="identifier">ah</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
+ Initiates an asynchronous accept operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The program must ensure
+ the objects <code class="computeroutput"><span class="identifier">k</span></code> and
+ <code class="computeroutput"><span class="identifier">e</span></code> are valid until
+ the handler for the asynchronous operation is invoked.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ah</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
+ <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">k</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>.<br>
+ Initiates an asynchronous accept operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The program must ensure
+ the object <code class="computeroutput"><span class="identifier">k</span></code> is
+ valid until the handler for the asynchronous operation is invoked.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SignalSetService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SocketService.html b/doc/html/boost_asio/reference/SocketService.html
new file mode 100644
index 0000000000..0ac70582d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/SocketService.html
@@ -0,0 +1,667 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Socket service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SocketAcceptorService.html" title="Socket acceptor service requirements">
+<link rel="next" href="StreamDescriptorService.html" title="Stream descriptor service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SocketAcceptorService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="StreamDescriptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SocketService"></a><a class="link" href="SocketService.html" title="Socket service requirements">Socket service requirements</a>
+</h3></div></div></div>
+<p>
+ A socket service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a> with support for movability, as well as the additional
+ requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a socket service class for protocol <a class="link" href="Protocol.html" title="Protocol requirements"><code class="computeroutput"><span class="identifier">Protocol</span></code></a>, <code class="computeroutput"><span class="identifier">a</span></code>
+ and <code class="computeroutput"><span class="identifier">ao</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ and <code class="computeroutput"><span class="identifier">c</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">p</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span></code>,
+ <code class="computeroutput"><span class="identifier">n</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>,
+ <code class="computeroutput"><span class="identifier">ec</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, <code class="computeroutput"><span class="identifier">s</span></code> denotes a value meeting <a class="link" href="SettableSocketOption.html" title="Settable socket option requirements"><code class="computeroutput"><span class="identifier">SettableSocketOption</span></code></a> requirements,
+ <code class="computeroutput"><span class="identifier">g</span></code> denotes a value meeting
+ <a class="link" href="GettableSocketOption.html" title="Gettable socket option requirements"><code class="computeroutput"><span class="identifier">GettableSocketOption</span></code></a>
+ requirements, <code class="computeroutput"><span class="identifier">i</span></code> denotes a
+ value meeting <a class="link" href="IoControlCommand.html" title="I/O control command requirements"><code class="computeroutput"><span class="identifier">IoControlCommand</span></code></a> requirements,
+ <code class="computeroutput"><span class="identifier">h</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span></code>, <code class="computeroutput"><span class="identifier">ch</span></code>
+ denotes a value meeting <a class="link" href="ConnectHandler.html" title="Connect handler requirements"><code class="computeroutput"><span class="identifier">ConnectHandler</span></code></a> requirements, and
+ <code class="computeroutput"><span class="identifier">u</span></code> and <code class="computeroutput"><span class="identifier">v</span></code>
+ denote identifiers.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SocketService.t0"></a><p class="title"><b>Table&#160;30.&#160;SocketService requirements</b></p>
+<div class="table-contents"><table class="table" summary="SocketService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ The implementation-defined native representation of a socket. Must
+ satisfy the requirements of <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ types (C++ Std, 20.1.3), and the requirements of <code class="computeroutput"><span class="identifier">Assignable</span></code> types (C++ Std, 23.1).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements.<br> post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations, as if
+ by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_construct</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. The underlying native representation is moved from
+ <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ao</span><span class="special">,</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous operations associated
+ with <code class="computeroutput"><span class="identifier">b</span></code>, as if by
+ calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">)</span></code>.
+ Then the underlying native representation is moved from <code class="computeroutput"><span class="identifier">c</span></code> to <code class="computeroutput"><span class="identifier">b</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br> post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ If <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span></code>
+ is true, causes any outstanding asynchronous operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">native_handle_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ Causes any outstanding asynchronous operations to complete as soon
+ as possible. Handlers for cancelled operations shall be passed
+ the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">s</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">g</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">at_mark</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">at_mark</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">available</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">available</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">X</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span><span class="special">&amp;</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">u</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">&amp;</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">e</span><span class="special">;</span>
+<span class="identifier">a</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">ch</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ Initiates an asynchronous connect operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SocketAcceptorService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="StreamDescriptorService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/StreamDescriptorService.html b/doc/html/boost_asio/reference/StreamDescriptorService.html
new file mode 100644
index 0000000000..0b2ad09044
--- /dev/null
+++ b/doc/html/boost_asio/reference/StreamDescriptorService.html
@@ -0,0 +1,239 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stream descriptor service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SocketService.html" title="Socket service requirements">
+<link rel="next" href="StreamHandleService.html" title="Stream handle service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="StreamHandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.StreamDescriptorService"></a><a class="link" href="StreamDescriptorService.html" title="Stream descriptor service requirements">Stream
+ descriptor service requirements</a>
+</h3></div></div></div>
+<p>
+ A stream descriptor service must meet the requirements for a <a class="link" href="DescriptorService.html" title="Descriptor service requirements">descriptor
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a stream descriptor service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
+ <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable buffer
+ sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.StreamDescriptorService.t0"></a><p class="title"><b>Table&#160;31.&#160;StreamDescriptorService requirements</b></p>
+<div class="table-contents"><table class="table" summary="StreamDescriptorService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> If successful, returns the number of bytes read.
+ Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.<br> <br> If the operation completes due to graceful
+ connection closure by the peer, the operation shall fail with
+ <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.<br> <br> If the operation
+ completes due to graceful connection closure by the peer, the operation
+ shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
+ <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
+ of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The constant
+ buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a descriptor <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
+ as the argument to the handler that specifies the number of bytes
+ read.<br> <br> If the operation completes successfully, the
+ <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
+ <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
+ the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="StreamHandleService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/StreamHandleService.html b/doc/html/boost_asio/reference/StreamHandleService.html
new file mode 100644
index 0000000000..97c531c014
--- /dev/null
+++ b/doc/html/boost_asio/reference/StreamHandleService.html
@@ -0,0 +1,239 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stream handle service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="StreamDescriptorService.html" title="Stream descriptor service requirements">
+<link rel="next" href="StreamSocketService.html" title="Stream socket service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="StreamDescriptorService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="StreamSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.StreamHandleService"></a><a class="link" href="StreamHandleService.html" title="Stream handle service requirements">Stream handle
+ service requirements</a>
+</h3></div></div></div>
+<p>
+ A stream handle service must meet the requirements for a <a class="link" href="HandleService.html" title="Handle service requirements">handle
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a stream handle service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ <code class="computeroutput"><span class="identifier">mb</span></code> denotes a value satisfying
+ <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable buffer
+ sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.StreamHandleService.t0"></a><p class="title"><b>Table&#160;32.&#160;StreamHandleService requirements</b></p>
+<div class="table-contents"><table class="table" summary="StreamHandleService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> If successful, returns the number of bytes read.
+ Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.<br> <br> If the operation completes due to graceful
+ connection closure by the peer, the operation shall fail with
+ <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a handle <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.<br> <br> If the operation
+ completes due to graceful connection closure by the peer, the operation
+ shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
+ <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
+ of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br> The constant
+ buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a handle <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
+ as the argument to the handler that specifies the number of bytes
+ read.<br> <br> If the operation completes successfully, the
+ <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
+ <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
+ the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="StreamDescriptorService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="StreamSocketService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/StreamSocketService.html b/doc/html/boost_asio/reference/StreamSocketService.html
new file mode 100644
index 0000000000..b3b3a57c51
--- /dev/null
+++ b/doc/html/boost_asio/reference/StreamSocketService.html
@@ -0,0 +1,246 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Stream socket service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="StreamHandleService.html" title="Stream handle service requirements">
+<link rel="next" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="StreamHandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.StreamSocketService"></a><a class="link" href="StreamSocketService.html" title="Stream socket service requirements">Stream socket
+ service requirements</a>
+</h3></div></div></div>
+<p>
+ A stream socket service must meet the requirements for a <a class="link" href="SocketService.html" title="Socket service requirements">socket
+ service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a stream socket service class, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ <code class="computeroutput"><span class="identifier">f</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span></code>, <code class="computeroutput"><span class="identifier">mb</span></code>
+ denotes a value satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
+ buffer sequence</a> requirements, <code class="computeroutput"><span class="identifier">rh</span></code>
+ denotes a value meeting <a class="link" href="ReadHandler.html" title="Read handler requirements"><code class="computeroutput"><span class="identifier">ReadHandler</span></code></a> requirements, <code class="computeroutput"><span class="identifier">cb</span></code> denotes a value satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">wh</span></code>
+ denotes a value meeting <a class="link" href="WriteHandler.html" title="Write handler requirements"><code class="computeroutput"><span class="identifier">WriteHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.StreamSocketService.t0"></a><p class="title"><b>Table&#160;33.&#160;StreamSocketService requirements</b></p>
+<div class="table-contents"><table class="table" summary="StreamSocketService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Reads one or more bytes of data from a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The operation
+ shall always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.<br> <br> If the operation completes due to graceful
+ connection closure by the peer, the operation shall fail with
+ <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">rh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to read one or more
+ bytes of data from a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The mutable buffer
+ sequence <code class="computeroutput"><span class="identifier">mb</span></code> specifies
+ memory where the data should be placed. The operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> The implementation shall maintain one or more
+ copies of <code class="computeroutput"><span class="identifier">mb</span></code> until
+ such time as the read operation no longer requires access to the
+ memory specified by the buffers in the sequence. The program must
+ ensure the memory is valid until:<br> <br> &#8212; the last copy of
+ <code class="computeroutput"><span class="identifier">mb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ read operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code> as the argument to the handler
+ that specifies the number of bytes read.<br> <br> If the operation
+ completes due to graceful connection closure by the peer, the operation
+ shall fail with <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>.<br>
+ <br> If the operation completes successfully, the <code class="computeroutput"><span class="identifier">ReadHandler</span></code> object <code class="computeroutput"><span class="identifier">rh</span></code> is invoked with the number
+ of bytes transferred. Otherwise it is invoked with <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Writes one or more bytes of data to a connected socket
+ <code class="computeroutput"><span class="identifier">b</span></code>.<br> <br>
+ The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written. Otherwise returns <code class="computeroutput"><span class="number">0</span></code>.
+ If the total size of all buffers in the sequence <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>,
+ the function shall return <code class="computeroutput"><span class="number">0</span></code>
+ immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">wh</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ pre: <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.<br>
+ <br> Initiates an asynchronous operation to write one or more
+ bytes of data to a connected socket <code class="computeroutput"><span class="identifier">b</span></code>.
+ The operation is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The constant buffer
+ sequence <code class="computeroutput"><span class="identifier">cb</span></code> specifies
+ memory where the data to be written is located. The operation shall
+ always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> The implementation shall maintain one
+ or more copies of <code class="computeroutput"><span class="identifier">cb</span></code>
+ until such time as the write operation no longer requires access
+ to the memory specified by the buffers in the sequence. The program
+ must ensure the memory is valid until:<br> <br> &#8212; the last copy
+ of <code class="computeroutput"><span class="identifier">cb</span></code> is destroyed,
+ or<br> <br> &#8212; the handler for the asynchronous operation is invoked,<br>
+ <br> whichever comes first. If the total size of all buffers
+ in the sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
+ operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></code>
+ as the argument to the handler that specifies the number of bytes
+ read.<br> <br> If the operation completes successfully, the
+ <code class="computeroutput"><span class="identifier">WriteHandler</span></code> object
+ <code class="computeroutput"><span class="identifier">wh</span></code> is invoked with
+ the number of bytes transferred. Otherwise it is invoked with
+ <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="StreamHandleService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SyncRandomAccessReadDevice.html b/doc/html/boost_asio/reference/SyncRandomAccessReadDevice.html
new file mode 100644
index 0000000000..62d431b3ae
--- /dev/null
+++ b/doc/html/boost_asio/reference/SyncRandomAccessReadDevice.html
@@ -0,0 +1,139 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented synchronous random-access read device requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="StreamSocketService.html" title="Stream socket service requirements">
+<link rel="next" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="StreamSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SyncRandomAccessReadDevice"></a><a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">Buffer-oriented
+ synchronous random-access read device requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ a synchronous random-access read device object, <code class="computeroutput"><span class="identifier">o</span></code>
+ denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
+ <code class="computeroutput"><span class="identifier">mb</span></code> denotes an object satisfying
+ <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable buffer
+ sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SyncRandomAccessReadDevice.t0"></a><p class="title"><b>Table&#160;34.&#160;Buffer-oriented synchronous random-access read device requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous random-access read device requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to:
+</p>
+<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span> <span class="identifier">mb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Reads one or more bytes of data from the device <code class="computeroutput"><span class="identifier">a</span></code>
+ at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
+ <br> The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The <code class="computeroutput"><span class="identifier">read_some_at</span></code> operation shall
+ always fill a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes read and sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
+ is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
+ and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
+ that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
+ is true.<br> <br> If the total size of all buffers in the sequence
+ <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="StreamSocketService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SyncRandomAccessWriteDevice.html b/doc/html/boost_asio/reference/SyncRandomAccessWriteDevice.html
new file mode 100644
index 0000000000..4c30481154
--- /dev/null
+++ b/doc/html/boost_asio/reference/SyncRandomAccessWriteDevice.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented synchronous random-access write device requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">
+<link rel="next" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncReadStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SyncRandomAccessWriteDevice"></a><a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">Buffer-oriented
+ synchronous random-access write device requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ a synchronous random-access write device object, <code class="computeroutput"><span class="identifier">o</span></code>
+ denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
+ <code class="computeroutput"><span class="identifier">cb</span></code> denotes an object satisfying
+ <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant buffer
+ sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SyncRandomAccessWriteDevice.t0"></a><p class="title"><b>Table&#160;35.&#160;Buffer-oriented synchronous random-access write device requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous random-access write device requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to:
+</p>
+<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Writes one or more bytes of data to the device <code class="computeroutput"><span class="identifier">a</span></code>
+ at offset <code class="computeroutput"><span class="identifier">o</span></code>.<br>
+ <br> The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The
+ <code class="computeroutput"><span class="identifier">write_some_at</span></code> operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written and sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
+ is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
+ and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
+ that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
+ is true.<br> <br> If the total size of all buffers in the sequence
+ <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncReadStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SyncReadStream.html b/doc/html/boost_asio/reference/SyncReadStream.html
new file mode 100644
index 0000000000..5abc21755c
--- /dev/null
+++ b/doc/html/boost_asio/reference/SyncReadStream.html
@@ -0,0 +1,134 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented synchronous read stream requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">
+<link rel="next" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncWriteStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SyncReadStream"></a><a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">Buffer-oriented
+ synchronous read stream requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ a synchronous read stream object, <code class="computeroutput"><span class="identifier">mb</span></code>
+ denotes an object satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SyncReadStream.t0"></a><p class="title"><b>Table&#160;36.&#160;Buffer-oriented synchronous read stream requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous read stream requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to:
+</p>
+<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">mb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Reads one or more bytes of data from the stream <code class="computeroutput"><span class="identifier">a</span></code>.<br>
+ <br> The mutable buffer sequence <code class="computeroutput"><span class="identifier">mb</span></code>
+ specifies memory where the data should be placed. The <code class="computeroutput"><span class="identifier">read_some</span></code> operation shall always
+ fill a buffer in the sequence completely before proceeding to the
+ next.<br> <br> If successful, returns the number of bytes read
+ and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
+ that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
+ is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
+ and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
+ that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
+ is true.<br> <br> If the total size of all buffers in the sequence
+ <code class="computeroutput"><span class="identifier">mb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SyncRandomAccessWriteDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="SyncWriteStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/SyncWriteStream.html b/doc/html/boost_asio/reference/SyncWriteStream.html
new file mode 100644
index 0000000000..1378d6911d
--- /dev/null
+++ b/doc/html/boost_asio/reference/SyncWriteStream.html
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Buffer-oriented synchronous write stream requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">
+<link rel="next" href="TimeTraits.html" title="Time traits requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SyncReadStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="TimeTraits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.SyncWriteStream"></a><a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">Buffer-oriented
+ synchronous write stream requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">a</span></code> denotes
+ a synchronous write stream object, <code class="computeroutput"><span class="identifier">cb</span></code>
+ denotes an object satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
+ buffer sequence</a> requirements, and <code class="computeroutput"><span class="identifier">ec</span></code>
+ denotes an object of type <code class="computeroutput"><span class="identifier">error_code</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.SyncWriteStream.t0"></a><p class="title"><b>Table&#160;37.&#160;Buffer-oriented synchronous write stream requirements</b></p>
+<div class="table-contents"><table class="table" summary="Buffer-oriented synchronous write stream requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ operation
+ </p>
+ </th>
+<th>
+ <p>
+ type
+ </p>
+ </th>
+<th>
+ <p>
+ semantics, pre/post-conditions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to:
+</p>
+<pre class="programlisting"><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="keyword">throw</span> <span class="identifier">system_error</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">s</span><span class="special">;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">cb</span><span class="special">,</span>
+ <span class="identifier">ec</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Writes one or more bytes of data to the stream <code class="computeroutput"><span class="identifier">a</span></code>.<br>
+ <br> The constant buffer sequence <code class="computeroutput"><span class="identifier">cb</span></code>
+ specifies memory where the data to be written is located. The
+ <code class="computeroutput"><span class="identifier">write_some</span></code> operation
+ shall always write a buffer in the sequence completely before proceeding
+ to the next.<br> <br> If successful, returns the number of
+ bytes written and sets <code class="computeroutput"><span class="identifier">ec</span></code>
+ such that <code class="computeroutput"><span class="special">!</span><span class="identifier">ec</span></code>
+ is true. If an error occurred, returns <code class="computeroutput"><span class="number">0</span></code>
+ and sets <code class="computeroutput"><span class="identifier">ec</span></code> such
+ that <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span></code>
+ is true.<br> <br> If the total size of all buffers in the sequence
+ <code class="computeroutput"><span class="identifier">cb</span></code> is <code class="computeroutput"><span class="number">0</span></code>, the function shall return <code class="computeroutput"><span class="number">0</span></code> immediately.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SyncReadStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="TimeTraits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/TimeTraits.html b/doc/html/boost_asio/reference/TimeTraits.html
new file mode 100644
index 0000000000..9840ac7490
--- /dev/null
+++ b/doc/html/boost_asio/reference/TimeTraits.html
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Time traits requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">
+<link rel="next" href="TimerService.html" title="Timer service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="SyncWriteStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="TimerService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.TimeTraits"></a><a class="link" href="TimeTraits.html" title="Time traits requirements">Time traits requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a time traits class for time type <code class="computeroutput"><span class="identifier">Time</span></code>,
+ <code class="computeroutput"><span class="identifier">t</span></code>, <code class="computeroutput"><span class="identifier">t1</span></code>,
+ and <code class="computeroutput"><span class="identifier">t2</span></code> denote values of type
+ <code class="computeroutput"><span class="identifier">Time</span></code>, and <code class="computeroutput"><span class="identifier">d</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">duration_type</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.TimeTraits.t0"></a><p class="title"><b>Table&#160;38.&#160;TimeTraits requirements</b></p>
+<div class="table-contents"><table class="table" summary="TimeTraits requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">time_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Time</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Represents an absolute time. Must support default construction,
+ and meet the requirements for <code class="computeroutput"><span class="identifier">CopyConstructible</span></code>
+ and <code class="computeroutput"><span class="identifier">Assignable</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">duration_type</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Represents the difference between two absolute times. Must support
+ default construction, and meet the requirements for <code class="computeroutput"><span class="identifier">CopyConstructible</span></code> and <code class="computeroutput"><span class="identifier">Assignable</span></code>. A duration can be
+ positive, negative, or zero.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">now</span><span class="special">();</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">time_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the current time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">time_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a new absolute time resulting from adding the duration
+ <code class="computeroutput"><span class="identifier">d</span></code> to the absolute
+ time <code class="computeroutput"><span class="identifier">t</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">subtract</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span>
+ <span class="identifier">t2</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">duration_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the duration resulting from subtracting <code class="computeroutput"><span class="identifier">t2</span></code>
+ from <code class="computeroutput"><span class="identifier">t1</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">less_than</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span>
+ <span class="identifier">t2</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">bool</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns whether <code class="computeroutput"><span class="identifier">t1</span></code>
+ is to be treated as less than <code class="computeroutput"><span class="identifier">t2</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">to_posix_duration</span><span class="special">(</span><span class="identifier">d</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_duration_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_duration_type</span></code>
+ value that most closely represents the duration <code class="computeroutput"><span class="identifier">d</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="SyncWriteStream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="TimerService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/TimerService.html b/doc/html/boost_asio/reference/TimerService.html
new file mode 100644
index 0000000000..feb56b5fe4
--- /dev/null
+++ b/doc/html/boost_asio/reference/TimerService.html
@@ -0,0 +1,255 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timer service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="TimeTraits.html" title="Time traits requirements">
+<link rel="next" href="WaitableTimerService.html" title="Waitable timer service requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="TimeTraits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WaitableTimerService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.TimerService"></a><a class="link" href="TimerService.html" title="Timer service requirements">Timer service requirements</a>
+</h3></div></div></div>
+<p>
+ A timer service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a timer service class for time type <code class="computeroutput"><span class="identifier">Time</span></code>
+ and traits type <code class="computeroutput"><span class="identifier">TimeTraits</span></code>,
+ <code class="computeroutput"><span class="identifier">a</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">b</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>,
+ <code class="computeroutput"><span class="identifier">t</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">Time</span></code>, <code class="computeroutput"><span class="identifier">d</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span></code>,
+ <code class="computeroutput"><span class="identifier">e</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">h</span></code> denotes a value meeting <a class="link" href="WaitHandler.html" title="Wait handler requirements"><code class="computeroutput"><span class="identifier">WaitHandler</span></code></a> requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.TimerService.t0"></a><p class="title"><b>Table&#160;39.&#160;TimerService requirements</b></p>
+<div class="table-contents"><table class="table" summary="TimerService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous wait operations,
+ as if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Causes any outstanding asynchronous wait operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
+ success or failure. Returns the number of operations that were
+ cancelled.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Time</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Implicitly cancels asynchronous wait operations, as if by calling
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">)</span></code>.
+ Returns the number of operations that were cancelled.<br> post:
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">t</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value equivalent to <code class="computeroutput"><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">subtract</span><span class="special">(</span><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">())</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">(),</span> <span class="identifier">d</span><span class="special">),</span> <span class="identifier">e</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
+ success or failure. Returns <code class="computeroutput"><span class="identifier">e</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">e</span>
+ <span class="special">||</span> <span class="special">!</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">lt</span><span class="special">(</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">(),</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous wait operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The handler shall be
+ posted for execution only if the condition <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="special">!</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">lt</span><span class="special">(</span><span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">now</span><span class="special">(),</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code> holds, where <code class="computeroutput"><span class="identifier">ec</span></code>
+ is the error code to be passed to the handler.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="TimeTraits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WaitableTimerService.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/WaitHandler.html b/doc/html/boost_asio/reference/WaitHandler.html
new file mode 100644
index 0000000000..d5fae13cf5
--- /dev/null
+++ b/doc/html/boost_asio/reference/WaitHandler.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Wait handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="WaitableTimerService.html" title="Waitable timer service requirements">
+<link rel="next" href="WaitTraits.html" title="Wait traits requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="WaitableTimerService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WaitTraits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.WaitHandler"></a><a class="link" href="WaitHandler.html" title="Wait handler requirements">Wait handler requirements</a>
+</h3></div></div></div>
+<p>
+ A wait handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a wait handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.WaitHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.WaitHandler.examples"></a></span><a class="link" href="WaitHandler.html#boost_asio.reference.WaitHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a wait handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A wait handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">wait_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a wait handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">wait_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">wait_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="WaitableTimerService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WaitTraits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/WaitTraits.html b/doc/html/boost_asio/reference/WaitTraits.html
new file mode 100644
index 0000000000..357d7d30e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/WaitTraits.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Wait traits requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="WaitHandler.html" title="Wait handler requirements">
+<link rel="next" href="WriteHandler.html" title="Write handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="WaitHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WriteHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.WaitTraits"></a><a class="link" href="WaitTraits.html" title="Wait traits requirements">Wait traits requirements</a>
+</h3></div></div></div>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a wait traits class for clock type <code class="computeroutput"><span class="identifier">Clock</span></code>,
+ where <code class="computeroutput"><span class="identifier">Clock</span></code> meets the C++11
+ type requirements for a clock, and <code class="computeroutput"><span class="identifier">d</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.WaitTraits.t0"></a><p class="title"><b>Table&#160;41.&#160;WaitTraits requirements</b></p>
+<div class="table-contents"><table class="table" summary="WaitTraits requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">to_wait_duration</span><span class="special">(</span><span class="identifier">d</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the maximum duration to be used for an individual, implementation-defined
+ wait operation.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="WaitHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WriteHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/WaitableTimerService.html b/doc/html/boost_asio/reference/WaitableTimerService.html
new file mode 100644
index 0000000000..93c20d6a30
--- /dev/null
+++ b/doc/html/boost_asio/reference/WaitableTimerService.html
@@ -0,0 +1,262 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Waitable timer service requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="TimerService.html" title="Timer service requirements">
+<link rel="next" href="WaitHandler.html" title="Wait handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="TimerService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WaitHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.WaitableTimerService"></a><a class="link" href="WaitableTimerService.html" title="Waitable timer service requirements">Waitable timer
+ service requirements</a>
+</h3></div></div></div>
+<p>
+ A waitable timer service must meet the requirements for an <a class="link" href="IoObjectService.html" title="I/O object service requirements">I/O
+ object service</a>, as well as the additional requirements listed below.
+ </p>
+<p>
+ In the table below, <code class="computeroutput"><span class="identifier">X</span></code> denotes
+ a waitable timer service class for clock type <code class="computeroutput"><span class="identifier">Clock</span></code>,
+ where <code class="computeroutput"><span class="identifier">Clock</span></code> meets the C++11
+ clock type requirements, <code class="computeroutput"><span class="identifier">a</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">X</span></code>,
+ <code class="computeroutput"><span class="identifier">b</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">X</span><span class="special">::</span><span class="identifier">implementation_type</span></code>, <code class="computeroutput"><span class="identifier">t</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">time_point</span></code>,
+ <code class="computeroutput"><span class="identifier">d</span></code> denotes a value of type
+ <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>, <code class="computeroutput"><span class="identifier">e</span></code>
+ denotes a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>,
+ and <code class="computeroutput"><span class="identifier">h</span></code> denotes a value meeting
+ <a class="link" href="WaitHandler.html" title="Wait handler requirements"><code class="computeroutput"><span class="identifier">WaitHandler</span></code></a>
+ requirements.
+ </p>
+<div class="table">
+<a name="boost_asio.reference.WaitableTimerService.t0"></a><p class="title"><b>Table&#160;40.&#160;WaitableTimerService requirements</b></p>
+<div class="table-contents"><table class="table" summary="WaitableTimerService requirements">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ expression
+ </p>
+ </th>
+<th>
+ <p>
+ return type
+ </p>
+ </th>
+<th>
+ <p>
+ assertion/note<br> pre/post-condition
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ From <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a>
+ requirements. Implicitly cancels asynchronous wait operations,
+ as if by calling <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Causes any outstanding asynchronous wait operations to complete
+ as soon as possible. Handlers for cancelled operations shall be
+ passed the error code <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
+ success or failure. Returns the number of operations that were
+ cancelled.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">time_point</span></code>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Implicitly cancels asynchronous wait operations, as if by calling
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">cancel</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">)</span></code>.
+ Returns the number of operations that were cancelled.<br> post:
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">t</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a value equivalent to <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size_t</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">e</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">error_code</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="identifier">e</span></code> to indicate
+ success or failure. Returns <code class="computeroutput"><span class="identifier">e</span></code>.<br>
+ post: <code class="computeroutput"><span class="special">!!</span><span class="identifier">e</span>
+ <span class="special">||</span> <span class="special">!(</span><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span>
+ <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+</p>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ <p>
+ Initiates an asynchronous wait operation that is performed via
+ the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
+ operation</a> requirements.<br> <br> The handler shall be
+ posted for execution only if the condition <code class="computeroutput"><span class="special">!!</span><span class="identifier">ec</span> <span class="special">||</span>
+ <span class="special">!(</span><span class="identifier">Clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">&lt;</span>
+ <span class="identifier">a</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">b</span><span class="special">))</span></code>
+ holds, where <code class="computeroutput"><span class="identifier">ec</span></code>
+ is the error code to be passed to the handler.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2003-2017 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="TimerService.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="WaitHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/WriteHandler.html b/doc/html/boost_asio/reference/WriteHandler.html
new file mode 100644
index 0000000000..fbf10618e6
--- /dev/null
+++ b/doc/html/boost_asio/reference/WriteHandler.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Write handler requirements</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="WaitTraits.html" title="Wait traits requirements">
+<link rel="next" href="add_service.html" title="add_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="WaitTraits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.WriteHandler"></a><a class="link" href="WriteHandler.html" title="Write handler requirements">Write handler requirements</a>
+</h3></div></div></div>
+<p>
+ A write handler must meet the requirements for a <a class="link" href="Handler.html" title="Handlers">handler</a>.
+ A value <code class="computeroutput"><span class="identifier">h</span></code> of a write handler
+ class should work correctly in the expression <code class="computeroutput"><span class="identifier">h</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">s</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">ec</span></code> is an lvalue of
+ type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ and <code class="computeroutput"><span class="identifier">s</span></code> is an lvalue of type
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">size_t</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.WriteHandler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.WriteHandler.examples"></a></span><a class="link" href="WriteHandler.html#boost_asio.reference.WriteHandler.examples">Examples</a>
+ </h5>
+<p>
+ A free function as a write handler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">write_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ A write handler function object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">write_handler</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ A non-static class member function adapted to a write handler using <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">my_class</span><span class="special">::</span><span class="identifier">write_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_write</span><span class="special">(...,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">my_class</span><span class="special">::</span><span class="identifier">write_handler</span><span class="special">,</span>
+ <span class="keyword">this</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="WaitTraits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/add_service.html b/doc/html/boost_asio/reference/add_service.html
new file mode 100644
index 0000000000..1cd229410b
--- /dev/null
+++ b/doc/html/boost_asio/reference/add_service.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>add_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="WriteHandler.html" title="Write handler requirements">
+<link rel="next" href="asio_handler_allocate.html" title="asio_handler_allocate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="WriteHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_allocate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.add_service"></a><a class="link" href="add_service.html" title="add_service">add_service</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp89369184"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Service.html" title="Service requirements">Service</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">add_service</span><span class="special">(</span>
+ <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">,</span>
+ <span class="identifier">Service</span> <span class="special">*</span> <span class="identifier">svc</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to add a service to the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<h5>
+<a name="boost_asio.reference.add_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.add_service.parameters"></a></span><a class="link" href="add_service.html#boost_asio.reference.add_service.parameters">Parameters</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ios</span></dt>
+<dd><p>
+ The <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object that owns the service.
+ </p></dd>
+<dt><span class="term">svc</span></dt>
+<dd>
+<p>
+ The service object. On success, ownership of the service object is
+ transferred to the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. When the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object is destroyed, it will destroy the service object by performing:
+</p>
+<pre class="programlisting"><span class="keyword">delete</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">*&gt;(</span><span class="identifier">svc</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.add_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.add_service.exceptions"></a></span><a class="link" href="add_service.html#boost_asio.reference.add_service.exceptions">Exceptions</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::asio::service_already_exists</span></dt>
+<dd><p>
+ Thrown if a service of the given type is already present in the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p></dd>
+<dt><span class="term">boost::asio::invalid_service_owner</span></dt>
+<dd><p>
+ Thrown if the service's owning <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> is not the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object specified by the ios parameter.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.add_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.add_service.requirements"></a></span><a class="link" href="add_service.html#boost_asio.reference.add_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="WriteHandler.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_allocate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asio_handler_allocate.html b/doc/html/boost_asio/reference/asio_handler_allocate.html
new file mode 100644
index 0000000000..6b5859e877
--- /dev/null
+++ b/doc/html/boost_asio/reference/asio_handler_allocate.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asio_handler_allocate</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="add_service.html" title="add_service">
+<link rel="next" href="asio_handler_deallocate.html" title="asio_handler_deallocate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_deallocate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.asio_handler_allocate"></a><a class="link" href="asio_handler_allocate.html" title="asio_handler_allocate">asio_handler_allocate</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp89421280"></a>
+Default allocation function for handlers.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">);</span>
+</pre>
+<p>
+ Asynchronous operations may need to allocate temporary objects. Since asynchronous
+ operations have a handler function object, these temporary objects can be
+ said to be associated with the handler.
+ </p>
+<p>
+ Implement asio_handler_allocate and asio_handler_deallocate for your own
+ handlers to provide custom allocation for these temporary objects.
+ </p>
+<p>
+ The default implementation of these allocation hooks uses <code class="computeroutput"><span class="keyword">operator</span>
+ <span class="keyword">new</span></code> and <code class="computeroutput"><span class="keyword">operator</span>
+ <span class="keyword">delete</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.asio_handler_allocate.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_allocate.remarks"></a></span><a class="link" href="asio_handler_allocate.html#boost_asio.reference.asio_handler_allocate.remarks">Remarks</a>
+ </h5>
+<p>
+ All temporary objects associated with a handler will be deallocated before
+ the upcall to the handler is performed. This allows the same memory to be
+ reused for a subsequent asynchronous operation initiated by the handler.
+ </p>
+<h5>
+<a name="boost_asio.reference.asio_handler_allocate.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_allocate.example"></a></span><a class="link" href="asio_handler_allocate.html#boost_asio.reference.asio_handler_allocate.example">Example</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_handler</span><span class="special">;</span>
+
+<span class="keyword">void</span><span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span> <span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
+ <span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="identifier">pointer</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.asio_handler_allocate.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_allocate.requirements"></a></span><a class="link" href="asio_handler_allocate.html#boost_asio.reference.asio_handler_allocate.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_alloc_hook.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="add_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_deallocate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asio_handler_deallocate.html b/doc/html/boost_asio/reference/asio_handler_deallocate.html
new file mode 100644
index 0000000000..08bf3fcb2a
--- /dev/null
+++ b/doc/html/boost_asio/reference/asio_handler_deallocate.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asio_handler_deallocate</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="asio_handler_allocate.html" title="asio_handler_allocate">
+<link rel="next" href="asio_handler_invoke.html" title="asio_handler_invoke">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asio_handler_allocate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_invoke.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.asio_handler_deallocate"></a><a class="link" href="asio_handler_deallocate.html" title="asio_handler_deallocate">asio_handler_deallocate</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp89479504"></a>
+Default deallocation function for handlers.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">pointer</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">);</span>
+</pre>
+<p>
+ Implement asio_handler_allocate and asio_handler_deallocate for your own
+ handlers to provide custom allocation for the associated temporary objects.
+ </p>
+<p>
+ The default implementation of these allocation hooks uses <code class="computeroutput"><span class="keyword">operator</span>
+ <span class="keyword">new</span></code> and <code class="computeroutput"><span class="keyword">operator</span>
+ <span class="keyword">delete</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.asio_handler_deallocate.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_deallocate.requirements"></a></span><a class="link" href="asio_handler_deallocate.html#boost_asio.reference.asio_handler_deallocate.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_alloc_hook.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="asio_handler_allocate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_invoke.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asio_handler_invoke.html b/doc/html/boost_asio/reference/asio_handler_invoke.html
new file mode 100644
index 0000000000..b308444065
--- /dev/null
+++ b/doc/html/boost_asio/reference/asio_handler_invoke.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asio_handler_invoke</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="asio_handler_deallocate.html" title="asio_handler_deallocate">
+<link rel="next" href="asio_handler_invoke/overload1.html" title="asio_handler_invoke (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asio_handler_deallocate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_invoke/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.asio_handler_invoke"></a><a class="link" href="asio_handler_invoke.html" title="asio_handler_invoke">asio_handler_invoke</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp89502624"></a>
+Default invoke function for handlers.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="asio_handler_invoke/overload1.html" title="asio_handler_invoke (1 of 2 overloads)">asio_handler_invoke</a><span class="special">(</span>
+ <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="asio_handler_invoke/overload1.html" title="asio_handler_invoke (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="asio_handler_invoke/overload2.html" title="asio_handler_invoke (2 of 2 overloads)">asio_handler_invoke</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="asio_handler_invoke/overload2.html" title="asio_handler_invoke (2 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Completion handlers for asynchronous operations are invoked by the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ associated with the corresponding object (e.g. a socket or deadline_timer).
+ Certain guarantees are made on when the handler may be invoked, in particular
+ that a handler can only be invoked from a thread that is currently calling
+ <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ on the corresponding <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object. Handlers may
+ subsequently be invoked through other objects (such as <a class="link" href="io_service__strand.html" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> objects) that provide additional
+ guarantees.
+ </p>
+<p>
+ When asynchronous operations are composed from other asynchronous operations,
+ all intermediate handlers should be invoked using the same method as the
+ final handler. This is required to ensure that user-defined objects are not
+ accessed in a way that may violate the guarantees. This hooking function
+ ensures that the invoked method used for the final handler is accessible
+ at each intermediate step.
+ </p>
+<p>
+ Implement asio_handler_invoke for your own handlers to specify a custom invocation
+ strategy.
+ </p>
+<p>
+ This default implementation invokes the function object like so:
+ </p>
+<pre class="programlisting"><span class="identifier">function</span><span class="special">();</span>
+</pre>
+<p>
+ If necessary, the default implementation makes a copy of the function object
+ so that the non-const operator() can be used.
+ </p>
+<h5>
+<a name="boost_asio.reference.asio_handler_invoke.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_invoke.example"></a></span><a class="link" href="asio_handler_invoke.html#boost_asio.reference.asio_handler_invoke.example">Example</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_handler</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span> <span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">context</span><span class="special">-&gt;</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">function</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.asio_handler_invoke.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_invoke.requirements"></a></span><a class="link" href="asio_handler_invoke.html#boost_asio.reference.asio_handler_invoke.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_invoke_hook.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="asio_handler_deallocate.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asio_handler_invoke/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asio_handler_invoke/overload1.html b/doc/html/boost_asio/reference/asio_handler_invoke/overload1.html
new file mode 100644
index 0000000000..622c9002ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/asio_handler_invoke/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asio_handler_invoke (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../asio_handler_invoke.html" title="asio_handler_invoke">
+<link rel="prev" href="../asio_handler_invoke.html" title="asio_handler_invoke">
+<link rel="next" href="overload2.html" title="asio_handler_invoke (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../asio_handler_invoke.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../asio_handler_invoke.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.asio_handler_invoke.overload1"></a><a class="link" href="overload1.html" title="asio_handler_invoke (1 of 2 overloads)">asio_handler_invoke
+ (1 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Default handler invocation hook used for non-const function objects.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span>
+ <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../asio_handler_invoke.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../asio_handler_invoke.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asio_handler_invoke/overload2.html b/doc/html/boost_asio/reference/asio_handler_invoke/overload2.html
new file mode 100644
index 0000000000..efd6cdb655
--- /dev/null
+++ b/doc/html/boost_asio/reference/asio_handler_invoke/overload2.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asio_handler_invoke (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../asio_handler_invoke.html" title="asio_handler_invoke">
+<link rel="prev" href="overload1.html" title="asio_handler_invoke (1 of 2 overloads)">
+<link rel="next" href="../asio_handler_is_continuation.html" title="asio_handler_is_continuation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../asio_handler_invoke.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../asio_handler_is_continuation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.asio_handler_invoke.overload2"></a><a class="link" href="overload2.html" title="asio_handler_invoke (2 of 2 overloads)">asio_handler_invoke
+ (2 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Default handler invocation hook used for const function objects.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Function</span> <span class="special">&amp;</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../asio_handler_invoke.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../asio_handler_is_continuation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asio_handler_is_continuation.html b/doc/html/boost_asio/reference/asio_handler_is_continuation.html
new file mode 100644
index 0000000000..5b441e80c1
--- /dev/null
+++ b/doc/html/boost_asio/reference/asio_handler_is_continuation.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asio_handler_is_continuation</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="asio_handler_invoke/overload2.html" title="asio_handler_invoke (2 of 2 overloads)">
+<link rel="next" href="async_connect.html" title="async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asio_handler_invoke/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.asio_handler_is_continuation"></a><a class="link" href="asio_handler_is_continuation.html" title="asio_handler_is_continuation">asio_handler_is_continuation</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp89592256"></a>
+Default continuation function for handlers.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">asio_handler_is_continuation</span><span class="special">(</span>
+ <span class="special">...</span> <span class="special">);</span>
+</pre>
+<p>
+ Asynchronous operations may represent a continuation of the asynchronous
+ control flow associated with the current handler. The implementation can
+ use this knowledge to optimise scheduling of the handler.
+ </p>
+<p>
+ Implement asio_handler_is_continuation for your own handlers to indicate
+ when a handler represents a continuation.
+ </p>
+<p>
+ The default implementation of the continuation hook returns <code class="computeroutput"><span class="keyword">false</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.asio_handler_is_continuation.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_is_continuation.example"></a></span><a class="link" href="asio_handler_is_continuation.html#boost_asio.reference.asio_handler_is_continuation.example">Example</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">my_handler</span><span class="special">;</span>
+
+<span class="keyword">bool</span> <span class="identifier">asio_handler_is_continuation</span><span class="special">(</span><span class="identifier">my_handler</span><span class="special">*</span> <span class="identifier">context</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="keyword">true</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.asio_handler_is_continuation.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.asio_handler_is_continuation.requirements"></a></span><a class="link" href="asio_handler_is_continuation.html#boost_asio.reference.asio_handler_is_continuation.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_continuation_hook.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="asio_handler_invoke/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_connect.html b/doc/html/boost_asio/reference/async_connect.html
new file mode 100644
index 0000000000..0d1126a969
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_connect.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_connect</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="asio_handler_is_continuation.html" title="asio_handler_is_continuation">
+<link rel="next" href="async_connect/overload1.html" title="async_connect (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asio_handler_is_continuation.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_connect"></a><a class="link" href="async_connect.html" title="async_connect">async_connect</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp89620752"></a>
+Asynchronously establishes a socket connection by trying each
+ endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_connect/overload1.html" title="async_connect (1 of 4 overloads)">async_connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_connect/overload1.html" title="async_connect (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_connect/overload2.html" title="async_connect (2 of 4 overloads)">async_connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_connect/overload2.html" title="async_connect (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_connect/overload3.html" title="async_connect (3 of 4 overloads)">async_connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_connect/overload3.html" title="async_connect (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_connect/overload4.html" title="async_connect (4 of 4 overloads)">async_connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_connect/overload4.html" title="async_connect (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.requirements"></a></span><a class="link" href="async_connect.html#boost_asio.reference.async_connect.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/connect.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="asio_handler_is_continuation.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_connect/overload1.html b/doc/html/boost_asio/reference/async_connect/overload1.html
new file mode 100644
index 0000000000..0b0b66b275
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_connect/overload1.html
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_connect (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_connect.html" title="async_connect">
+<link rel="prev" href="../async_connect.html" title="async_connect">
+<link rel="next" href="overload2.html" title="async_connect (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_connect.overload1"></a><a class="link" href="overload1.html" title="async_connect (1 of 4 overloads)">async_connect
+ (1 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Asynchronously establishes a socket connection by trying each endpoint
+ in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connect operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation. if the sequence is empty, set to</span>
+ <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
+ <span class="comment">// error from the last connection attempt.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// On success, an iterator denoting the successfully</span>
+ <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
+ <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_connect.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
+ This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// ...</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_connect/overload2.html b/doc/html/boost_asio/reference/async_connect/overload2.html
new file mode 100644
index 0000000000..efae5ae60b
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_connect/overload2.html
@@ -0,0 +1,146 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_connect (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_connect.html" title="async_connect">
+<link rel="prev" href="overload1.html" title="async_connect (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="async_connect (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_connect.overload2"></a><a class="link" href="overload2.html" title="async_connect (2 of 4 overloads)">async_connect
+ (2 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Asynchronously establishes a socket connection by trying each endpoint
+ in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">end</span></dt>
+<dd><p>
+ An iterator pointing to the end of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connect operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation. if the sequence is empty, set to</span>
+ <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
+ <span class="comment">// error from the last connection attempt.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// On success, an iterator denoting the successfully</span>
+ <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
+ <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// ...</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_connect/overload3.html b/doc/html/boost_asio/reference/async_connect/overload3.html
new file mode 100644
index 0000000000..a0d8ed5816
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_connect/overload3.html
@@ -0,0 +1,202 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_connect (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_connect.html" title="async_connect">
+<link rel="prev" href="overload2.html" title="async_connect (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="async_connect (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_connect.overload3"></a><a class="link" href="overload3.html" title="async_connect (3 of 4 overloads)">async_connect
+ (3 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Asynchronously establishes a socket connection by trying each endpoint
+ in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_connect.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_connect.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">connect_condition</span></dt>
+<dd>
+<p>
+ A function object that is called prior to each connection attempt.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
+ contains the result from the most recent connect operation. Before
+ the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
+ is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
+ parameter is an iterator pointing to the next endpoint to be tried.
+ The function object should return the next iterator, but is permitted
+ to return a different iterator so that endpoints may be skipped.
+ The implementation guarantees that the function object will never
+ be called with the end iterator.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connect operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation. if the sequence is empty, set to</span>
+ <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
+ <span class="comment">// error from the last connection attempt.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// On success, an iterator denoting the successfully</span>
+ <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
+ <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_connect.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_connect.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
+ This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_connect.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_connect.overload3.example">Example</a>
+ </h6>
+<p>
+ The following connect condition function object can be used to output information
+ about the individual connection attempts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
+ function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span>
+ <span class="identifier">my_connect_condition</span><span class="special">(),</span>
+ <span class="identifier">connect_handler</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_connect/overload4.html b/doc/html/boost_asio/reference/async_connect/overload4.html
new file mode 100644
index 0000000000..24e7106190
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_connect/overload4.html
@@ -0,0 +1,200 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_connect (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_connect.html" title="async_connect">
+<link rel="prev" href="overload3.html" title="async_connect (3 of 4 overloads)">
+<link rel="next" href="../async_read.html" title="async_read">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_connect.overload4"></a><a class="link" href="overload4.html" title="async_connect (4 of 4 overloads)">async_connect
+ (4 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Asynchronously establishes a socket connection by trying each endpoint
+ in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ComposedConnectHandler.html" title="Composed connect handler requirements">ComposedConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">ComposedConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">async_connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_connect.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_connect.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">end</span></dt>
+<dd><p>
+ An iterator pointing to the end of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">connect_condition</span></dt>
+<dd>
+<p>
+ A function object that is called prior to each connection attempt.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
+ contains the result from the most recent connect operation. Before
+ the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
+ is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
+ parameter is an iterator pointing to the next endpoint to be tried.
+ The function object should return the next iterator, but is permitted
+ to return a different iterator so that endpoints may be skipped.
+ The implementation guarantees that the function object will never
+ be called with the end iterator.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connect operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation. if the sequence is empty, set to</span>
+ <span class="comment">// boost::asio::error::not_found. Otherwise, contains the</span>
+ <span class="comment">// error from the last connection attempt.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// On success, an iterator denoting the successfully</span>
+ <span class="comment">// connected endpoint. Otherwise, the end iterator.</span>
+ <span class="identifier">Iterator</span> <span class="identifier">iterator</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_connect.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_connect.overload4.example"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_connect.overload4.example">Example</a>
+ </h6>
+<p>
+ The following connect condition function object can be used to output information
+ about the individual connection attempts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
+ function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="identifier">r</span><span class="special">.</span><span class="identifier">async_resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">,</span> <span class="identifier">resolve_handler</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">resolve_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">my_connect_condition</span><span class="special">(),</span>
+ <span class="identifier">connect_handler</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read.html b/doc/html/boost_asio/reference/async_read.html
new file mode 100644
index 0000000000..9e60b7b2c7
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_connect/overload4.html" title="async_connect (4 of 4 overloads)">
+<link rel="next" href="async_read/overload1.html" title="async_read (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_read"></a><a class="link" href="async_read.html" title="async_read">async_read</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp90388144"></a>
+Start an asynchronous operation to read a certain amount of data
+ from a stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read/overload1.html" title="async_read (1 of 4 overloads)">async_read</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read/overload1.html" title="async_read (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read/overload2.html" title="async_read (2 of 4 overloads)">async_read</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read/overload2.html" title="async_read (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read/overload3.html" title="async_read (3 of 4 overloads)">async_read</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read/overload3.html" title="async_read (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read/overload4.html" title="async_read (4 of 4 overloads)">async_read</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read/overload4.html" title="async_read (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_read.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.requirements"></a></span><a class="link" href="async_read.html#boost_asio.reference.async_read.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_connect/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read/overload1.html b/doc/html/boost_asio/reference/async_read/overload1.html
new file mode 100644
index 0000000000..4f49d262eb
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read/overload1.html
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read.html" title="async_read">
+<link rel="prev" href="../async_read.html" title="async_read">
+<link rel="next" href="overload2.html" title="async_read (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_read.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read.overload1"></a><a class="link" href="overload1.html" title="async_read (1 of 4 overloads)">async_read
+ (1 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data from a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other read operations
+ (such as async_read, the stream's async_read_some function, or any other
+ composed operations that perform reads) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the stream. Although the buffers object may be copied as necessary,
+ ownership of the underlying memory blocks is retained by the caller,
+ which must guarantee that they remain valid until the handler is
+ called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be the number of</span>
+ <span class="comment">// bytes successfully transferred</span>
+ <span class="comment">// prior to the error.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../async_read.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read/overload2.html b/doc/html/boost_asio/reference/async_read/overload2.html
new file mode 100644
index 0000000000..5fb0efa6cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read/overload2.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read.html" title="async_read">
+<link rel="prev" href="overload1.html" title="async_read (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="async_read (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read.overload2"></a><a class="link" href="overload2.html" title="async_read (2 of 4 overloads)">async_read
+ (2 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data from a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.reference.async_read.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the stream. Although the buffers object may be copied as necessary,
+ ownership of the underlying memory blocks is retained by the caller,
+ which must guarantee that they remain valid until the handler is
+ called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_read_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the stream's async_read_some function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be the number of</span>
+ <span class="comment">// bytes successfully transferred</span>
+ <span class="comment">// prior to the error.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read.overload2.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read/overload3.html b/doc/html/boost_asio/reference/async_read/overload3.html
new file mode 100644
index 0000000000..135a663c47
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read/overload3.html
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read.html" title="async_read">
+<link rel="prev" href="overload2.html" title="async_read (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="async_read (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read.overload3"></a><a class="link" href="overload3.html" title="async_read (3 of 4 overloads)">async_read
+ (3 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data from a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffer is full (that is, it has reached maximum size).
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other read operations
+ (such as async_read, the stream's async_read_some function, or any other
+ composed operations that perform reads) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be the number of</span>
+ <span class="comment">// bytes successfully transferred</span>
+ <span class="comment">// prior to the error.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read/overload4.html b/doc/html/boost_asio/reference/async_read/overload4.html
new file mode 100644
index 0000000000..e246871337
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read/overload4.html
@@ -0,0 +1,145 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read.html" title="async_read">
+<link rel="prev" href="overload3.html" title="async_read (3 of 4 overloads)">
+<link rel="next" href="../async_read_at.html" title="async_read_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read.overload4"></a><a class="link" href="overload4.html" title="async_read (4 of 4 overloads)">async_read
+ (4 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data from a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffer is full (that is, it has reached maximum size).
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other read operations
+ (such as async_read, the stream's async_read_some function, or any other
+ composed operations that perform reads) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_read.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_read_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the stream's async_read_some function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes copied into the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be the number of</span>
+ <span class="comment">// bytes successfully transferred</span>
+ <span class="comment">// prior to the error.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_at.html b/doc/html/boost_asio/reference/async_read_at.html
new file mode 100644
index 0000000000..7d1553d735
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_at.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_at</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_read/overload4.html" title="async_read (4 of 4 overloads)">
+<link rel="next" href="async_read_at/overload1.html" title="async_read_at (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_read_at"></a><a class="link" href="async_read_at.html" title="async_read_at">async_read_at</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp90813920"></a>
+Start an asynchronous operation to read a certain amount of
+ data at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_at/overload1.html" title="async_read_at (1 of 4 overloads)">async_read_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_at/overload1.html" title="async_read_at (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_at/overload2.html" title="async_read_at (2 of 4 overloads)">async_read_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_at/overload2.html" title="async_read_at (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_at/overload3.html" title="async_read_at (3 of 4 overloads)">async_read_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_at/overload3.html" title="async_read_at (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_at/overload4.html" title="async_read_at (4 of 4 overloads)">async_read_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_at/overload4.html" title="async_read_at (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_read_at.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.requirements"></a></span><a class="link" href="async_read_at.html#boost_asio.reference.async_read_at.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_at.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_read/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_at/overload1.html b/doc/html/boost_asio/reference/async_read_at/overload1.html
new file mode 100644
index 0000000000..d4160b7501
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_at/overload1.html
@@ -0,0 +1,154 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_at (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_at.html" title="async_read_at">
+<link rel="prev" href="../async_read_at.html" title="async_read_at">
+<link rel="next" href="overload2.html" title="async_read_at (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_read_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_at.overload1"></a><a class="link" href="overload1.html" title="async_read_at (1 of 4 overloads)">async_read_at
+ (1 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a random access device at the specified offset. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read_at.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the AsyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the device. Although the buffers object may be copied as necessary,
+ ownership of the underlying memory blocks is retained by the caller,
+ which must guarantee that they remain valid until the handler is
+ called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes copied into the buffers. If an error</span>
+ <span class="comment">// occurred, this will be the number of bytes successfully</span>
+ <span class="comment">// transferred prior to the error.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read_at.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read_at.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../async_read_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_at/overload2.html b/doc/html/boost_asio/reference/async_read_at/overload2.html
new file mode 100644
index 0000000000..2629b8eba2
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_at/overload2.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_at (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_at.html" title="async_read_at">
+<link rel="prev" href="overload1.html" title="async_read_at (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="async_read_at (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_at.overload2"></a><a class="link" href="overload2.html" title="async_read_at (2 of 4 overloads)">async_read_at
+ (2 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a random access device at the specified offset. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the AsyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the device. Although the buffers object may be copied as necessary,
+ ownership of the underlying memory blocks is retained by the caller,
+ which must guarantee that they remain valid until the handler is
+ called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_read_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the device's async_read_some_at function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes copied into the buffers. If an error</span>
+ <span class="comment">// occurred, this will be the number of bytes successfully</span>
+ <span class="comment">// transferred prior to the error.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read_at.overload2.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_at/overload3.html b/doc/html/boost_asio/reference/async_read_at/overload3.html
new file mode 100644
index 0000000000..9a12752379
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_at/overload3.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_at (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_at.html" title="async_read_at">
+<link rel="prev" href="overload2.html" title="async_read_at (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="async_read_at (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_at.overload3"></a><a class="link" href="overload3.html" title="async_read_at (3 of 4 overloads)">async_read_at
+ (3 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a random access device at the specified offset. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ An error occurred.
+ </li></ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read_at.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the AsyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes copied into the buffers. If an error</span>
+ <span class="comment">// occurred, this will be the number of bytes successfully</span>
+ <span class="comment">// transferred prior to the error.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read_at.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_at/overload4.html b/doc/html/boost_asio/reference/async_read_at/overload4.html
new file mode 100644
index 0000000000..bf8b04f170
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_at/overload4.html
@@ -0,0 +1,142 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_at (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_at.html" title="async_read_at">
+<link rel="prev" href="overload3.html" title="async_read_at (3 of 4 overloads)">
+<link rel="next" href="../async_read_until.html" title="async_read_until">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_until.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_at.overload4"></a><a class="link" href="overload4.html" title="async_read_at (4 of 4 overloads)">async_read_at
+ (4 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read a certain amount of data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">AsyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read a certain number of bytes
+ of data from a random access device at the specified offset. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ The completion_condition function object returns 0.
+ </li></ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_at.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_at.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_read_at.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the AsyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_read_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the device's async_read_some_at function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes copied into the buffers. If an error</span>
+ <span class="comment">// occurred, this will be the number of bytes successfully</span>
+ <span class="comment">// transferred prior to the error.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_until.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_until.html b/doc/html/boost_asio/reference/async_read_until.html
new file mode 100644
index 0000000000..6d34473716
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_until.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_until</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_read_at/overload4.html" title="async_read_at (4 of 4 overloads)">
+<link rel="next" href="async_read_until/overload1.html" title="async_read_until (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_at/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_until/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_read_until"></a><a class="link" href="async_read_until.html" title="async_read_until">async_read_until</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp91257840"></a>
+Start an asynchronous operation to read data into a streambuf
+ until it contains a delimiter, matches a regular expression, or a function
+ object indicates a match.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_until/overload1.html" title="async_read_until (1 of 4 overloads)">async_read_until</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_until/overload1.html" title="async_read_until (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_until/overload2.html" title="async_read_until (2 of 4 overloads)">async_read_until</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_until/overload2.html" title="async_read_until (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_until/overload3.html" title="async_read_until (3 of 4 overloads)">async_read_until</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_until/overload3.html" title="async_read_until (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_read_until/overload4.html" title="async_read_until (4 of 4 overloads)">async_read_until</a><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_read_until/overload4.html" title="async_read_until (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_read_until.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.requirements"></a></span><a class="link" href="async_read_until.html#boost_asio.reference.async_read_until.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_until.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_read_at/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_until/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_until/overload1.html b/doc/html/boost_asio/reference/async_read_until/overload1.html
new file mode 100644
index 0000000000..e3cca785d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_until/overload1.html
@@ -0,0 +1,185 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_until (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_until.html" title="async_read_until">
+<link rel="prev" href="../async_read_until.html" title="async_read_until">
+<link rel="next" href="overload2.html" title="async_read_until (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_read_until.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_until.overload1"></a><a class="link" href="overload1.html" title="async_read_until (1 of 4 overloads)">async_read_until
+ (1 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read data into a streambuf until it
+ contains a specified delimiter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data into the specified streambuf
+ until the streambuf's get area contains the specified delimiter. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The get area of the streambuf contains the specified delimiter.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ If the streambuf's get area already contains the delimiter, this asynchronous
+ operation completes immediately. The program must ensure that the stream
+ performs no other read operations (such as async_read, async_read_until,
+ the stream's async_read_some function, or any other composed operations
+ that perform reads) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read_until.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read. Ownership of
+ the streambuf is retained by the caller, which must guarantee that
+ it remains valid until the handler is called.
+ </p></dd>
+<dt><span class="term">delim</span></dt>
+<dd><p>
+ The delimiter character.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// The number of bytes in the streambuf's get</span>
+ <span class="comment">// area up to and including the delimiter.</span>
+ <span class="comment">// 0 if an error occurred.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read_until.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful async_read_until operation, the streambuf may contain
+ additional data beyond the delimiter. An application will typically leave
+ that data in the streambuf for a subsequent async_read_until operation
+ to examine.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_read_until.overload1.example">Example</a>
+ </h6>
+<p>
+ To asynchronously read data into a streambuf until a newline is encountered:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ After the <code class="computeroutput"><span class="identifier">async_read_until</span></code>
+ operation completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ contains the delimiter:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
+ and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
+ contains:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
+</pre>
+<p>
+ The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ This data may be the start of a new line, to be extracted by a subsequent
+ <code class="computeroutput"><span class="identifier">async_read_until</span></code> operation.
+ </p>
+</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 &#169; 2003-2017 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="../async_read_until.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_until/overload2.html b/doc/html/boost_asio/reference/async_read_until/overload2.html
new file mode 100644
index 0000000000..52dc661ceb
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_until/overload2.html
@@ -0,0 +1,185 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_until (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_until.html" title="async_read_until">
+<link rel="prev" href="overload1.html" title="async_read_until (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="async_read_until (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_until.overload2"></a><a class="link" href="overload2.html" title="async_read_until (2 of 4 overloads)">async_read_until
+ (2 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read data into a streambuf until it
+ contains a specified delimiter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data into the specified streambuf
+ until the streambuf's get area contains the specified delimiter. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The get area of the streambuf contains the specified delimiter.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ If the streambuf's get area already contains the delimiter, this asynchronous
+ operation completes immediately. The program must ensure that the stream
+ performs no other read operations (such as async_read, async_read_until,
+ the stream's async_read_some function, or any other composed operations
+ that perform reads) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read_until.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read. Ownership of
+ the streambuf is retained by the caller, which must guarantee that
+ it remains valid until the handler is called.
+ </p></dd>
+<dt><span class="term">delim</span></dt>
+<dd><p>
+ The delimiter string.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// The number of bytes in the streambuf's get</span>
+ <span class="comment">// area up to and including the delimiter.</span>
+ <span class="comment">// 0 if an error occurred.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read_until.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful async_read_until operation, the streambuf may contain
+ additional data beyond the delimiter. An application will typically leave
+ that data in the streambuf for a subsequent async_read_until operation
+ to examine.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_read_until.overload2.example">Example</a>
+ </h6>
+<p>
+ To asynchronously read data into a streambuf until a newline is encountered:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="string">"\r\n"</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ After the <code class="computeroutput"><span class="identifier">async_read_until</span></code>
+ operation completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ contains the delimiter:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
+ and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
+ contains:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
+</pre>
+<p>
+ The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ This data may be the start of a new line, to be extracted by a subsequent
+ <code class="computeroutput"><span class="identifier">async_read_until</span></code> operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_until/overload3.html b/doc/html/boost_asio/reference/async_read_until/overload3.html
new file mode 100644
index 0000000000..e5cb62f5e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_until/overload3.html
@@ -0,0 +1,188 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_until (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_until.html" title="async_read_until">
+<link rel="prev" href="overload2.html" title="async_read_until (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="async_read_until (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_until.overload3"></a><a class="link" href="overload3.html" title="async_read_until (3 of 4 overloads)">async_read_until
+ (3 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read data into a streambuf until some
+ part of its data matches a regular expression.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data into the specified streambuf
+ until the streambuf's get area contains some data that matches a regular
+ expression. The function call always returns immediately. The asynchronous
+ operation will continue until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A substring of the streambuf's get area matches the regular expression.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ If the streambuf's get area already contains data that matches the regular
+ expression, this asynchronous operation completes immediately. The program
+ must ensure that the stream performs no other read operations (such as
+ async_read, async_read_until, the stream's async_read_some function, or
+ any other composed operations that perform reads) until this operation
+ completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read_until.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read. Ownership of
+ the streambuf is retained by the caller, which must guarantee that
+ it remains valid until the handler is called.
+ </p></dd>
+<dt><span class="term">expr</span></dt>
+<dd><p>
+ The regular expression.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// The number of bytes in the streambuf's get</span>
+ <span class="comment">// area up to and including the substring</span>
+ <span class="comment">// that matches the regular. expression.</span>
+ <span class="comment">// 0 if an error occurred.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read_until.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful async_read_until operation, the streambuf may contain
+ additional data beyond that which matched the regular expression. An application
+ will typically leave that data in the streambuf for a subsequent async_read_until
+ operation to examine.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_read_until.overload3.example">Example</a>
+ </h6>
+<p>
+ To asynchronously read data into a streambuf until a CR-LF sequence is
+ encountered:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+ <span class="special">...</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">(</span><span class="string">"\r\n"</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ After the <code class="computeroutput"><span class="identifier">async_read_until</span></code>
+ operation completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ contains the data which matched the regular expression:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
+ and including the match, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
+ contains:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
+</pre>
+<p>
+ The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ This data may be the start of a new line, to be extracted by a subsequent
+ <code class="computeroutput"><span class="identifier">async_read_until</span></code> operation.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_read_until/overload4.html b/doc/html/boost_asio/reference/async_read_until/overload4.html
new file mode 100644
index 0000000000..c61672d665
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_read_until/overload4.html
@@ -0,0 +1,229 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_read_until (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_read_until.html" title="async_read_until">
+<link rel="prev" href="overload3.html" title="async_read_until (3 of 4 overloads)">
+<link rel="next" href="../async_result.html" title="async_result">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_result.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_read_until.overload4"></a><a class="link" href="overload4.html" title="async_read_until (4 of 4 overloads)">async_read_until
+ (4 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to read data into a streambuf until a function
+ object indicates a match.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">AsyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_until</span><span class="special">(</span>
+ <span class="identifier">AsyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data into the specified streambuf
+ until a user-defined match condition function object, when applied to the
+ data contained in the streambuf, indicates a successful match. The function
+ call always returns immediately. The asynchronous operation will continue
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The match condition function object returns a std::pair where the second
+ element evaluates to true.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_read_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ If the match condition function object already indicates a match, this
+ asynchronous operation completes immediately. The program must ensure that
+ the stream performs no other read operations (such as async_read, async_read_until,
+ the stream's async_read_some function, or any other composed operations
+ that perform reads) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_read_until.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the AsyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">match_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether a match exists.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">match_condition</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">);</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">iterator</span></code> represents
+ the type:
+</p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">&lt;</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The iterator parameters <code class="computeroutput"><span class="identifier">begin</span></code>
+ and <code class="computeroutput"><span class="identifier">end</span></code> define the
+ range of bytes to be scanned to determine whether there is a match.
+ The <code class="computeroutput"><span class="identifier">first</span></code> member
+ of the return value is an iterator marking one-past-the-end of the
+ bytes that have been consumed by the match function. This iterator
+ is used to calculate the <code class="computeroutput"><span class="identifier">begin</span></code>
+ parameter for any subsequent invocation of the match condition. The
+ <code class="computeroutput"><span class="identifier">second</span></code> member of
+ the return value is true if a match has been found, false otherwise.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// The number of bytes in the streambuf's get</span>
+ <span class="comment">// area that have been fully consumed by the</span>
+ <span class="comment">// match function. O if an error occurred.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload4.remarks"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_read_until.overload4.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful async_read_until operation, the streambuf may contain
+ additional data beyond that which matched the function object. An application
+ will typically leave that data in the streambuf for a subsequent async_read_until
+ operation to examine.
+ </p>
+<p>
+ The default implementation of the <code class="computeroutput"><span class="identifier">is_match_condition</span></code>
+ type trait evaluates to true for function pointers and function objects
+ with a <code class="computeroutput"><span class="identifier">result_type</span></code> typedef.
+ It must be specialised for other user-defined function objects.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_read_until.overload4.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_read_until.overload4.examples"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_read_until.overload4.examples">Examples</a>
+ </h6>
+<p>
+ To asynchronously read data into a streambuf until whitespace is encountered:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_iterator</span><span class="special">&lt;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span>
+<span class="identifier">match_whitespace</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++))</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_whitespace</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ To asynchronously read data into a streambuf until a matching character
+ is found:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">match_char</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">explicit</span> <span class="identifier">match_char</span><span class="special">(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">c_</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">Iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c_</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">i</span><span class="special">++)</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">char</span> <span class="identifier">c_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">asio</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span><span class="identifier">match_char</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">true_type</span> <span class="special">{};</span>
+<span class="special">}</span> <span class="comment">// namespace asio</span>
+<span class="special">...</span>
+<span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_char</span><span class="special">(</span><span class="char">'a'</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_result.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_result.html b/doc/html/boost_asio/reference/async_result.html
new file mode 100644
index 0000000000..bac1e58161
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_result.html
@@ -0,0 +1,146 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_result</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_read_until/overload4.html" title="async_read_until (4 of 4 overloads)">
+<link rel="next" href="async_result/async_result.html" title="async_result::async_result">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_until/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_result/async_result.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_result"></a><a class="link" href="async_result.html" title="async_result">async_result</a>
+</h3></div></div></div>
+<p>
+ An interface for customising the behaviour of an initiating function.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">async_result</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_result.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_result.types"></a></span><a class="link" href="async_result.html#boost_asio.reference.async_result.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="async_result/type.html" title="async_result::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The return type of the initiating function.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.async_result.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_result.member_functions"></a></span><a class="link" href="async_result.html#boost_asio.reference.async_result.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="async_result/async_result.html" title="async_result::async_result"><span class="bold"><strong>async_result</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an async result from a given handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="async_result/get.html" title="async_result::get"><span class="bold"><strong>get</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain the value to be returned from the initiating function.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ This template may be specialised for user-defined handler types.
+ </p>
+<h5>
+<a name="boost_asio.reference.async_result.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_result.requirements"></a></span><a class="link" href="async_result.html#boost_asio.reference.async_result.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/async_result.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_read_until/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_result/async_result.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_result/async_result.html b/doc/html/boost_asio/reference/async_result/async_result.html
new file mode 100644
index 0000000000..c20fc5ee9a
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_result/async_result.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_result::async_result</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_result.html" title="async_result">
+<link rel="prev" href="../async_result.html" title="async_result">
+<link rel="next" href="get.html" title="async_result::get">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_result.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_result.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_result.async_result"></a><a class="link" href="async_result.html" title="async_result::async_result">async_result::async_result</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp92109008"></a>
+Construct an async result from a given handler.
+ </p>
+<pre class="programlisting"><span class="identifier">async_result</span><span class="special">(</span>
+ <span class="identifier">Handler</span> <span class="special">&amp;</span> <span class="special">);</span>
+</pre>
+<p>
+ When using a specalised <a class="link" href="../async_result.html" title="async_result"><code class="computeroutput"><span class="identifier">async_result</span></code></a>, the constructor
+ has an opportunity to initialise some state associated with the handler,
+ which is then returned from the initiating function.
+ </p>
+</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 &#169; 2003-2017 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="../async_result.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_result.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_result/get.html b/doc/html/boost_asio/reference/async_result/get.html
new file mode 100644
index 0000000000..6c7cfaeb47
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_result/get.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_result::get</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_result.html" title="async_result">
+<link rel="prev" href="async_result.html" title="async_result::async_result">
+<link rel="next" href="type.html" title="async_result::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_result.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_result.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_result.get"></a><a class="link" href="get.html" title="async_result::get">async_result::get</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp92118784"></a>
+Obtain the value to be returned from the initiating function.
+ </p>
+<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="async_result.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_result.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_result/type.html b/doc/html/boost_asio/reference/async_result/type.html
new file mode 100644
index 0000000000..2f19ed8b18
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_result/type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_result::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_result.html" title="async_result">
+<link rel="prev" href="get.html" title="async_result::get">
+<link rel="next" href="../async_write.html" title="async_write">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_result.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_write.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_result.type"></a><a class="link" href="type.html" title="async_result::type">async_result::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp92124624"></a>
+The return type of the initiating function.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.async_result.type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_result.type.requirements"></a></span><a class="link" href="type.html#boost_asio.reference.async_result.type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/async_result.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="get.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_result.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_write.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write.html b/doc/html/boost_asio/reference/async_write.html
new file mode 100644
index 0000000000..33d7c846a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_result/type.html" title="async_result::type">
+<link rel="next" href="async_write/overload1.html" title="async_write (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_result/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_write"></a><a class="link" href="async_write.html" title="async_write">async_write</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp92136928"></a>
+Start an asynchronous operation to write a certain amount of data
+ to a stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write/overload1.html" title="async_write (1 of 4 overloads)">async_write</a><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write/overload1.html" title="async_write (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write/overload2.html" title="async_write (2 of 4 overloads)">async_write</a><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write/overload2.html" title="async_write (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write/overload3.html" title="async_write (3 of 4 overloads)">async_write</a><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write/overload3.html" title="async_write (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write/overload4.html" title="async_write (4 of 4 overloads)">async_write</a><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write/overload4.html" title="async_write (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_write.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.requirements"></a></span><a class="link" href="async_write.html#boost_asio.reference.async_write.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_result/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write/overload1.html b/doc/html/boost_asio/reference/async_write/overload1.html
new file mode 100644
index 0000000000..e246d6c685
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write/overload1.html
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write.html" title="async_write">
+<link rel="prev" href="../async_write.html" title="async_write">
+<link rel="next" href="overload2.html" title="async_write (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_write.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write.overload1"></a><a class="link" href="overload1.html" title="async_write (1 of 4 overloads)">async_write
+ (1 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write all of the supplied data to a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other write operations
+ (such as async_write, the stream's async_write_some function, or any other
+ composed operations that perform writes) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_write.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the AsyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be less than the sum</span>
+ <span class="comment">// of the buffer sizes.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_write.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_write.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_write.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write/overload2.html b/doc/html/boost_asio/reference/async_write/overload2.html
new file mode 100644
index 0000000000..290db30097
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write/overload2.html
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write.html" title="async_write">
+<link rel="prev" href="overload1.html" title="async_write (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="async_write (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write.overload2"></a><a class="link" href="overload2.html" title="async_write (2 of 4 overloads)">async_write
+ (2 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write a certain amount of data to a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other write operations
+ (such as async_write, the stream's async_write_some function, or any other
+ composed operations that perform writes) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_write.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the AsyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_write_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the stream's async_write_some function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be less than the sum</span>
+ <span class="comment">// of the buffer sizes.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_write.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_write.overload2.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write/overload3.html b/doc/html/boost_asio/reference/async_write/overload3.html
new file mode 100644
index 0000000000..547af65259
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write/overload3.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write.html" title="async_write">
+<link rel="prev" href="overload2.html" title="async_write (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="async_write (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write.overload3"></a><a class="link" href="overload3.html" title="async_write (3 of 4 overloads)">async_write
+ (3 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write all of the supplied data to a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other write operations
+ (such as async_write, the stream's async_write_some function, or any other
+ composed operations that perform writes) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_write.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the AsyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be less than the sum</span>
+ <span class="comment">// of the buffer sizes.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write/overload4.html b/doc/html/boost_asio/reference/async_write/overload4.html
new file mode 100644
index 0000000000..cb01f13bff
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write/overload4.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write.html" title="async_write">
+<link rel="prev" href="overload3.html" title="async_write (3 of 4 overloads)">
+<link rel="next" href="../async_write_at.html" title="async_write_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_write_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write.overload4"></a><a class="link" href="overload4.html" title="async_write (4 of 4 overloads)">async_write
+ (4 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write a certain amount of data to a
+ stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncWriteStream.html" title="Buffer-oriented asynchronous write stream requirements">AsyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write</span><span class="special">(</span>
+ <span class="identifier">AsyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a stream. The function call always returns immediately. The
+ asynchronous operation will continue until one of the following conditions
+ is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ async_write_some function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the stream performs no other write operations
+ (such as async_write, the stream's async_write_some function, or any other
+ composed operations that perform writes) until this operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_write.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the AsyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_write_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the stream's async_write_some function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written from the</span>
+ <span class="comment">// buffers. If an error occurred,</span>
+ <span class="comment">// this will be less than the sum</span>
+ <span class="comment">// of the buffer sizes.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_write_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write_at.html b/doc/html/boost_asio/reference/async_write_at.html
new file mode 100644
index 0000000000..6126efe09f
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write_at.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write_at</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_write/overload4.html" title="async_write (4 of 4 overloads)">
+<link rel="next" href="async_write_at/overload1.html" title="async_write_at (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.async_write_at"></a><a class="link" href="async_write_at.html" title="async_write_at">async_write_at</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp92536096"></a>
+Start an asynchronous operation to write a certain amount of
+ data at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write_at/overload1.html" title="async_write_at (1 of 4 overloads)">async_write_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write_at/overload1.html" title="async_write_at (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write_at/overload2.html" title="async_write_at (2 of 4 overloads)">async_write_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write_at/overload2.html" title="async_write_at (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write_at/overload3.html" title="async_write_at (3 of 4 overloads)">async_write_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write_at/overload3.html" title="async_write_at (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_write_at/overload4.html" title="async_write_at (4 of 4 overloads)">async_write_at</a><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_write_at/overload4.html" title="async_write_at (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.async_write_at.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.requirements"></a></span><a class="link" href="async_write_at.html#boost_asio.reference.async_write_at.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write_at.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_write/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write_at/overload1.html b/doc/html/boost_asio/reference/async_write_at/overload1.html
new file mode 100644
index 0000000000..89234fe8b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write_at/overload1.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write_at (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write_at.html" title="async_write_at">
+<link rel="prev" href="../async_write_at.html" title="async_write_at">
+<link rel="next" href="overload2.html" title="async_write_at (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_write_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write_at.overload1"></a><a class="link" href="overload1.html" title="async_write_at (1 of 4 overloads)">async_write_at
+ (1 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write all of the supplied data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a random access device at a specified offset. The function call
+ always returns immediately. The asynchronous operation will continue until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
+ write operations (such as async_write_at, the device's async_write_some_at
+ function, or any other composed operations that perform writes) until this
+ operation completes. Operations are overlapping if the regions defined
+ by their offsets, and the numbers of bytes to write, intersect.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_write_at.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the AsyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes written from the buffers. If an error</span>
+ <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_write_at.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.async_write_at.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_write_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write_at/overload2.html b/doc/html/boost_asio/reference/async_write_at/overload2.html
new file mode 100644
index 0000000000..4f57703c41
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write_at/overload2.html
@@ -0,0 +1,169 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write_at (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write_at.html" title="async_write_at">
+<link rel="prev" href="overload1.html" title="async_write_at (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="async_write_at (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write_at.overload2"></a><a class="link" href="overload2.html" title="async_write_at (2 of 4 overloads)">async_write_at
+ (2 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write a certain amount of data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a random access device at a specified offset. The function call
+ always returns immediately. The asynchronous operation will continue until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
+ write operations (such as async_write_at, the device's async_write_some_at
+ function, or any other composed operations that perform writes) until this
+ operation completes. Operations are overlapping if the regions defined
+ by their offsets, and the numbers of bytes to write, intersect.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_write_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the AsyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_write_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the device's async_write_some_at function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes written from the buffers. If an error</span>
+ <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.async_write_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.async_write_at.overload2.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">),</span>
+ <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write_at/overload3.html b/doc/html/boost_asio/reference/async_write_at/overload3.html
new file mode 100644
index 0000000000..d09479bd65
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write_at/overload3.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write_at (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write_at.html" title="async_write_at">
+<link rel="prev" href="overload2.html" title="async_write_at (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="async_write_at (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write_at.overload3"></a><a class="link" href="overload3.html" title="async_write_at (3 of 4 overloads)">async_write_at
+ (3 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write all of the supplied data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a random access device at a specified offset. The function call
+ always returns immediately. The asynchronous operation will continue until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
+ write operations (such as async_write_at, the device's async_write_some_at
+ function, or any other composed operations that perform writes) until this
+ operation completes. Operations are overlapping if the regions defined
+ by their offsets, and the numbers of bytes to write, intersect.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write_at.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.async_write_at.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the AsyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes written from the buffers. If an error</span>
+ <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/async_write_at/overload4.html b/doc/html/boost_asio/reference/async_write_at/overload4.html
new file mode 100644
index 0000000000..0b5e7ff77c
--- /dev/null
+++ b/doc/html/boost_asio/reference/async_write_at/overload4.html
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>async_write_at (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_write_at.html" title="async_write_at">
+<link rel="prev" href="overload3.html" title="async_write_at (3 of 4 overloads)">
+<link rel="next" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.async_write_at.overload4"></a><a class="link" href="overload4.html" title="async_write_at (4 of 4 overloads)">async_write_at
+ (4 of 4 overloads)</a>
+</h4></div></div></div>
+<p>
+ Start an asynchronous operation to write a certain amount of data at the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">AsyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_at</span><span class="special">(</span>
+ <span class="identifier">AsyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write a certain number of bytes
+ of data to a random access device at a specified offset. The function call
+ always returns immediately. The asynchronous operation will continue until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ async_write_some_at function, and is known as a <span class="emphasis"><em>composed operation</em></span>.
+ The program must ensure that the device performs no <span class="emphasis"><em>overlapping</em></span>
+ write operations (such as async_write_at, the device's async_write_some_at
+ function, or any other composed operations that perform writes) until this
+ operation completes. Operations are overlapping if the regions defined
+ by their offsets, and the numbers of bytes to write, intersect.
+ </p>
+<h6>
+<a name="boost_asio.reference.async_write_at.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.async_write_at.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.async_write_at.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the AsyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written. Ownership of the streambuf is retained
+ by the caller, which must guarantee that it remains valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest async_write_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the device's async_write_some_at function.
+ </p>
+</dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="comment">// Result of operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes written from the buffers. If an error</span>
+ <span class="comment">// occurred, this will be less than the sum of the buffer sizes.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/asynchronous_operations.html b/doc/html/boost_asio/reference/asynchronous_operations.html
new file mode 100644
index 0000000000..9c6cfac925
--- /dev/null
+++ b/doc/html/boost_asio/reference/asynchronous_operations.html
@@ -0,0 +1,308 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Requirements on asynchronous operations</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="../reference.html" title="Reference">
+<link rel="next" href="AcceptHandler.html" title="Accept handler requirements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AcceptHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.asynchronous_operations"></a><a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">Requirements
+ on asynchronous operations</a>
+</h3></div></div></div>
+<p>
+ In Boost.Asio, an asynchronous operation is initiated by a function that
+ is named with the prefix <code class="computeroutput"><span class="identifier">async_</span></code>.
+ These functions will be referred to as <span class="emphasis"><em>initiating functions</em></span>.
+ </p>
+<p>
+ All initiating functions in Boost.Asio take a function object meeting <a class="link" href="Handler.html" title="Handlers">handler</a> requirements as the
+ final parameter. These handlers accept as their first parameter an lvalue
+ of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>.
+ </p>
+<p>
+ Implementations of asynchronous operations in Boost.Asio may call the application
+ programming interface (API) provided by the operating system. If such an
+ operating system API call results in an error, the handler will be invoked
+ with a <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ lvalue that evaluates to true. Otherwise the handler will be invoked with
+ a <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">error_code</span></code>
+ lvalue that evaluates to false.
+ </p>
+<p>
+ Unless otherwise noted, when the behaviour of an asynchronous operation is
+ defined "as if" implemented by a <span class="emphasis"><em>POSIX</em></span> function,
+ the handler will be invoked with a value of type <code class="computeroutput"><span class="identifier">error_code</span></code>
+ that corresponds to the failure condition described by <span class="emphasis"><em>POSIX</em></span>
+ for that function, if any. Otherwise the handler will be invoked with an
+ implementation-defined <code class="computeroutput"><span class="identifier">error_code</span></code>
+ value that reflects the operating system error.
+ </p>
+<p>
+ Asynchronous operations will not fail with an error condition that indicates
+ interruption by a signal (<span class="emphasis"><em>POSIX</em></span> <code class="computeroutput"><span class="identifier">EINTR</span></code>).
+ Asynchronous operations will not fail with any error condition associated
+ with non-blocking operations (<span class="emphasis"><em>POSIX</em></span> <code class="computeroutput"><span class="identifier">EWOULDBLOCK</span></code>,
+ <code class="computeroutput"><span class="identifier">EAGAIN</span></code> or <code class="computeroutput"><span class="identifier">EINPROGRESS</span></code>;
+ <span class="emphasis"><em>Windows</em></span> <code class="computeroutput"><span class="identifier">WSAEWOULDBLOCK</span></code>
+ or <code class="computeroutput"><span class="identifier">WSAEINPROGRESS</span></code>).
+ </p>
+<p>
+ All asynchronous operations have an associated <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object. Where the initiating function is a member function, the associated
+ <code class="computeroutput"><span class="identifier">io_service</span></code> is that returned
+ by the <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ member function on the same object. Where the initiating function is not
+ a member function, the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
+ is that returned by the <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code> member function of the first argument to
+ the initiating function.
+ </p>
+<p>
+ Arguments to initiating functions will be treated as follows:
+ </p>
+<p>
+ &#8212; If the parameter is declared as a const reference or by-value, the program
+ is not required to guarantee the validity of the argument after the initiating
+ function completes. The implementation may make copies of the argument, and
+ all copies will be destroyed no later than immediately after invocation of
+ the handler.
+ </p>
+<p>
+ &#8212; If the parameter is declared as a non-const reference, const pointer or non-const
+ pointer, the program must guarantee the validity of the argument until the
+ handler is invoked.
+ </p>
+<p>
+ The library implementation is only permitted to make calls to an initiating
+ function's arguments' copy constructors or destructors from a thread that
+ satisfies one of the following conditions:
+ </p>
+<p>
+ &#8212; The thread is executing any member function of the associated <code class="computeroutput"><span class="identifier">io_service</span></code> object.
+ </p>
+<p>
+ &#8212; The thread is executing the destructor of the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object.
+ </p>
+<p>
+ &#8212; The thread is executing one of the <code class="computeroutput"><span class="identifier">io_service</span></code>
+ service access functions <code class="computeroutput"><span class="identifier">use_service</span></code>,
+ <code class="computeroutput"><span class="identifier">add_service</span></code> or <code class="computeroutput"><span class="identifier">has_service</span></code>, where the first argument is
+ the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object.
+ </p>
+<p>
+ &#8212; The thread is executing any member function, constructor or destructor of
+ an object of a class defined in this clause, where the object's <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code>
+ member function returns the associated <code class="computeroutput"><span class="identifier">io_service</span></code>
+ object.
+ </p>
+<p>
+ &#8212; The thread is executing any function defined in this clause, where any argument
+ to the function has an <code class="computeroutput"><span class="identifier">get_io_service</span><span class="special">()</span></code> member function that returns the associated
+ <code class="computeroutput"><span class="identifier">io_service</span></code> object.
+ </p>
+<div class="sidebar">
+<div class="titlepage"><div><div><p class="title"><b></b></p></div></div></div>
+<p>
+ Boost.Asio may use one or more hidden threads to emulate asynchronous functionality.
+ The above requirements are intended to prevent these hidden threads from
+ making calls to program code. This means that a program can, for example,
+ use thread-unsafe reference counting in handler objects, provided the program
+ ensures that all calls to an <code class="computeroutput"><span class="identifier">io_service</span></code>
+ and related objects occur from the one thread.
+ </p>
+</div>
+<p>
+ The <code class="computeroutput"><span class="identifier">io_service</span></code> object associated
+ with an asynchronous operation will have unfinished work, as if by maintaining
+ the existence of one or more objects of class <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span></code>
+ constructed using the <code class="computeroutput"><span class="identifier">io_service</span></code>,
+ until immediately after the handler for the asynchronous operation has been
+ invoked.
+ </p>
+<p>
+ When an asynchronous operation is complete, the handler for the operation
+ will be invoked as if by:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Constructing a bound completion handler <code class="computeroutput"><span class="identifier">bch</span></code>
+ for the handler, as described below.
+ </li>
+<li class="listitem">
+ Calling <code class="computeroutput"><span class="identifier">ios</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">bch</span><span class="special">)</span></code>
+ to schedule the handler for deferred invocation, where <code class="computeroutput"><span class="identifier">ios</span></code> is the associated <code class="computeroutput"><span class="identifier">io_service</span></code>.
+ </li>
+</ol></div>
+<p>
+ This implies that the handler must not be called directly from within the
+ initiating function, even if the asynchronous operation completes immediately.
+ </p>
+<p>
+ A bound completion handler is a handler object that contains a copy of a
+ user-supplied handler, where the user-supplied handler accepts one or more
+ arguments. The bound completion handler does not accept any arguments, and
+ contains values to be passed as arguments to the user-supplied handler. The
+ bound completion handler forwards the <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">asio_handler_deallocate</span><span class="special">()</span></code>, and <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">()</span></code> calls to the corresponding functions for
+ the user-supplied handler. A bound completion handler meets the requirements
+ for a <a class="link" href="CompletionHandler.html" title="Completion handler requirements">completion handler</a>.
+ </p>
+<p>
+ For example, a bound completion handler for a <code class="computeroutput"><span class="identifier">ReadHandler</span></code>
+ may be implemented as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">bound_read_handler</span>
+<span class="special">{</span>
+ <span class="identifier">bound_read_handler</span><span class="special">(</span><span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">s</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">handler</span><span class="special">),</span> <span class="identifier">ec_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">),</span> <span class="identifier">s_</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span>
+ <span class="special">{</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec_</span><span class="special">,</span> <span class="identifier">s_</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">error_code</span> <span class="identifier">ec_</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">size_t</span> <span class="identifier">s_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
+<span class="keyword">void</span><span class="special">*</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
+ <span class="identifier">bound_read_handler</span><span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;*</span> <span class="identifier">this_handler</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_allocate</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">this_handler</span><span class="special">-&gt;</span><span class="identifier">handler_</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span>
+ <span class="identifier">bound_read_handler</span><span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;*</span> <span class="identifier">this_handler</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_deallocate</span><span class="special">;</span>
+ <span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">pointer</span><span class="special">,</span> <span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">this_handler</span><span class="special">-&gt;</span><span class="identifier">handler_</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ReadHandler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">F</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">bound_read_handler</span><span class="special">&lt;</span><span class="identifier">ReadHandler</span><span class="special">&gt;*</span> <span class="identifier">this_handler</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">asio_handler_invoke</span><span class="special">;</span>
+ <span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">this_handler</span><span class="special">-&gt;</span><span class="identifier">handler_</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ If the thread that initiates an asynchronous operation terminates before
+ the associated handler is invoked, the behaviour is implementation-defined.
+ Specifically, on <span class="emphasis"><em>Windows</em></span> versions prior to Vista, unfinished
+ operations are cancelled when the initiating thread exits.
+ </p>
+<p>
+ The handler argument to an initiating function defines a handler identity.
+ That is, the original handler argument and any copies of the handler argument
+ will be considered equivalent. If the implementation needs to allocate storage
+ for an asynchronous operation, the implementation will perform <code class="computeroutput"><span class="identifier">asio_handler_allocate</span><span class="special">(</span><span class="identifier">size</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">h</span><span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">size</span></code>
+ is the required size in bytes, and <code class="computeroutput"><span class="identifier">h</span></code>
+ is the handler. The implementation will perform <code class="computeroutput"><span class="identifier">asio_handler_deallocate</span><span class="special">(</span><span class="identifier">p</span><span class="special">,</span>
+ <span class="identifier">size</span><span class="special">,</span>
+ <span class="special">&amp;</span><span class="identifier">h</span><span class="special">)</span></code>, where <code class="computeroutput"><span class="identifier">p</span></code>
+ is a pointer to the storage, to deallocate the storage prior to the invocation
+ of the handler via <code class="computeroutput"><span class="identifier">asio_handler_invoke</span></code>.
+ Multiple storage blocks may be allocated for a single asynchronous operation.
+ </p>
+<h5>
+<a name="boost_asio.reference.asynchronous_operations.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"></a></span><a class="link" href="asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function">Return
+ type of an initiating function</a>
+ </h5>
+<p>
+ By default, initiating functions return <code class="computeroutput"><span class="keyword">void</span></code>.
+ This is always the case when the handler is a function pointer, C++11 lambda,
+ or a function object produced by <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span></code>
+ or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind</span></code>.
+ </p>
+<p>
+ For other types, the return type may be customised via a two-step process:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ A specialisation of the <a class="link" href="handler_type.html" title="handler_type"><code class="computeroutput"><span class="identifier">handler_type</span></code></a> template, which
+ is used to determine the true handler type based on the asynchronous
+ operation's handler's signature.
+ </li>
+<li class="listitem">
+ A specialisation of the <a class="link" href="async_result.html" title="async_result"><code class="computeroutput"><span class="identifier">async_result</span></code></a> template, which
+ is used both to determine the return type and to extract the return value
+ from the handler.
+ </li>
+</ol></div>
+<p>
+ These two templates have been specialised to provide support for <a class="link" href="../overview/core/spawn.html" title="Stackful Coroutines">stackful
+ coroutines</a> and the C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
+ class.
+ </p>
+<p>
+ As an example, consider what happens when enabling <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
+ support by using the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code>
+ special value, as in:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">length</span> <span class="special">=</span>
+ <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span>
+</pre>
+<p>
+ When a handler signature has the form:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">result_type</span> <span class="identifier">result</span><span class="special">);</span>
+</pre>
+<p>
+ the initiating function returns a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
+ templated on <code class="computeroutput"><span class="identifier">result_type</span></code>.
+ In the above <code class="computeroutput"><span class="identifier">async_read_some</span></code>
+ example, this is <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>. If the asynchronous operation fails,
+ the <code class="computeroutput"><span class="identifier">error_code</span></code> is converted
+ into a <code class="computeroutput"><span class="identifier">system_error</span></code> exception
+ and passed back to the caller through the future.
+ </p>
+<p>
+ Where a handler signature has the form:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ the initiating function instead returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AcceptHandler.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket.html b/doc/html/boost_asio/reference/basic_datagram_socket.html
new file mode 100644
index 0000000000..596fe66a40
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket.html
@@ -0,0 +1,993 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="async_write_at/overload4.html" title="async_write_at (4 of 4 overloads)">
+<link rel="next" href="basic_datagram_socket/assign.html" title="basic_datagram_socket::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_at/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_datagram_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_datagram_socket"></a><a class="link" href="basic_datagram_socket.html" title="basic_datagram_socket">basic_datagram_socket</a>
+</h3></div></div></div>
+<p>
+ Provides datagram-oriented socket functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="DatagramSocketService.html" title="Datagram socket service requirements">DatagramSocketService</a> <span class="special">=</span> <span class="identifier">datagram_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_datagram_socket</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">DatagramSocketService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.types"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/broadcast.html" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/bytes_readable.html" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/debug.html" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/do_not_route.html" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/endpoint_type.html" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/implementation_type.html" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/keep_alive.html" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/linger.html" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/message_flags.html" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/native_handle_type.html" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/native_type.html" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/non_blocking_io.html" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/protocol_type.html" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/reuse_address.html" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/send_buffer_size.html" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/send_low_watermark.html" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/service_type.html" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/shutdown_type.html" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.member_functions"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/assign.html" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/async_connect.html" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/at_mark.html" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/available.html" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_datagram_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_datagram_socket.
+ </p>
+ <p>
+ Construct a basic_datagram_socket, opening it and binding it to
+ the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_datagram_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/bind.html" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/cancel.html" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/close.html" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/connect.html" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/get_io_service.html" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/get_option.html" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/io_control.html" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/is_open.html" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/local_endpoint.html" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/lowest_layer.html" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/native.html" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/native_handle.html" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/native_non_blocking.html" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/non_blocking.html" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/open.html" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/operator_eq_.html" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_datagram_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/receive.html" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/remote_endpoint.html" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/send.html" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a datagram to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/set_option.html" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/shutdown.html" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.protected_member_functions"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/get_implementation.html" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/get_service.html" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.data_members"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/max_connections.html" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/message_do_not_route.html" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/message_end_of_record.html" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/message_out_of_band.html" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/message_peek.html" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.protected_data_members"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/implementation.html" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_datagram_socket/service.html" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
+ provides asynchronous and blocking datagram-oriented socket functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.thread_safety"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_datagram_socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.requirements"></a></span><a class="link" href="basic_datagram_socket.html#boost_asio.reference.basic_datagram_socket.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="async_write_at/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_datagram_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/assign.html b/doc/html/boost_asio/reference/basic_datagram_socket/assign.html
new file mode 100644
index 0000000000..0d1b2e1411
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="next" href="assign/overload1.html" title="basic_datagram_socket::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.assign"></a><a class="link" href="assign.html" title="basic_datagram_socket::assign">basic_datagram_socket::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp93244224"></a>
+Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_datagram_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_datagram_socket::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_datagram_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_datagram_socket::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/assign/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/assign/overload1.html
new file mode 100644
index 0000000000..9598b01375
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/assign/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_datagram_socket::assign">
+<link rel="prev" href="../assign.html" title="basic_datagram_socket::assign">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.assign.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::assign (1 of 2 overloads)">basic_datagram_socket::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/assign/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/assign/overload2.html
new file mode 100644
index 0000000000..11b1bca7d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/assign/overload2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_datagram_socket::assign">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::assign (1 of 2 overloads)">
+<link rel="next" href="../async_connect.html" title="basic_datagram_socket::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.assign.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::assign (2 of 2 overloads)">basic_datagram_socket::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_connect.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_connect.html
new file mode 100644
index 0000000000..3de522022e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_connect.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="assign/overload2.html" title="basic_datagram_socket::assign (2 of 2 overloads)">
+<link rel="next" href="async_receive.html" title="basic_datagram_socket::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_connect"></a><a class="link" href="async_connect.html" title="basic_datagram_socket::async_connect">basic_datagram_socket::async_connect</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp93307808"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously connect a socket to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the connect
+ fails, and the socket was automatically opened, the socket is not returned
+ to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_connect.parameters"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_datagram_socket.async_connect.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected. Copies
+ will be made of the endpoint object as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connection operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_connect.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_connect.example"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_datagram_socket.async_connect.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Connect succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_receive.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive.html
new file mode 100644
index 0000000000..3fe1c9d0c6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="async_connect.html" title="basic_datagram_socket::async_connect">
+<link rel="next" href="async_receive/overload1.html" title="basic_datagram_socket::async_receive (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_receive"></a><a class="link" href="async_receive.html" title="basic_datagram_socket::async_receive">basic_datagram_socket::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp93388112"></a>
+Start an asynchronous receive on a connected
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload1.html" title="basic_datagram_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload1.html" title="basic_datagram_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload2.html" title="basic_datagram_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload2.html" title="basic_datagram_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload1.html
new file mode 100644
index 0000000000..9b47641a9b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_receive (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_datagram_socket::async_receive">
+<link rel="prev" href="../async_receive.html" title="basic_datagram_socket::async_receive">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::async_receive (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::async_receive (1 of 2 overloads)">basic_datagram_socket::async_receive
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the datagram
+ socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_receive operation can only be used with a connected socket.
+ Use the async_receive_from function to receive data on an unconnected
+ datagram socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload2.html
new file mode 100644
index 0000000000..6a30c3b488
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive/overload2.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_receive (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_datagram_socket::async_receive">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::async_receive (1 of 2 overloads)">
+<link rel="next" href="../async_receive_from.html" title="basic_datagram_socket::async_receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::async_receive (2 of 2 overloads)">basic_datagram_socket::async_receive
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the datagram
+ socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.async_receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_receive operation can only be used with a connected socket.
+ Use the async_receive_from function to receive data on an unconnected
+ datagram socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from.html
new file mode 100644
index 0000000000..eee9e26d5f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="async_receive/overload2.html" title="basic_datagram_socket::async_receive (2 of 2 overloads)">
+<link rel="next" href="async_receive_from/overload1.html" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_receive_from"></a><a class="link" href="async_receive_from.html" title="basic_datagram_socket::async_receive_from">basic_datagram_socket::async_receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp93536608"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive_from/overload1.html" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">async_receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive_from/overload1.html" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive_from/overload2.html" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">async_receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive_from/overload2.html" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload1.html
new file mode 100644
index 0000000000..11111a9b6e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_receive_from (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive_from.html" title="basic_datagram_socket::async_receive_from">
+<link rel="prev" href="../async_receive_from.html" title="basic_datagram_socket::async_receive_from">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">basic_datagram_socket::async_receive_from
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive a datagram. The function
+ call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the datagram. Ownership of the sender_endpoint object is retained
+ by the caller, which must guarantee that it is valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload2.html
new file mode 100644
index 0000000000..ac6a31ce0a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_receive_from/overload2.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_receive_from (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive_from.html" title="basic_datagram_socket::async_receive_from">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::async_receive_from (1 of 2 overloads)">
+<link rel="next" href="../async_send.html" title="basic_datagram_socket::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">basic_datagram_socket::async_receive_from
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive a datagram. The function
+ call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_receive_from.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.async_receive_from.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the datagram. Ownership of the sender_endpoint object is retained
+ by the caller, which must guarantee that it is valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_send.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_send.html
new file mode 100644
index 0000000000..fc4aad03ec
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_send.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="async_receive_from/overload2.html" title="basic_datagram_socket::async_receive_from (2 of 2 overloads)">
+<link rel="next" href="async_send/overload1.html" title="basic_datagram_socket::async_send (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive_from/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_send"></a><a class="link" href="async_send.html" title="basic_datagram_socket::async_send">basic_datagram_socket::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp93693168"></a>
+Start an asynchronous send on a connected
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send/overload1.html" title="basic_datagram_socket::async_send (1 of 2 overloads)">async_send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send/overload1.html" title="basic_datagram_socket::async_send (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send/overload2.html" title="basic_datagram_socket::async_send (2 of 2 overloads)">async_send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send/overload2.html" title="basic_datagram_socket::async_send (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive_from/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload1.html
new file mode 100644
index 0000000000..d51e51b9e7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_send (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send.html" title="basic_datagram_socket::async_send">
+<link rel="prev" href="../async_send.html" title="basic_datagram_socket::async_send">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::async_send (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::async_send (1 of 2 overloads)">basic_datagram_socket::async_send
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send data on the datagram socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_send.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_send operation can only be used with a connected socket. Use
+ the async_send_to function to send data on an unconnected datagram socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload2.html
new file mode 100644
index 0000000000..d7beddca50
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_send/overload2.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_send (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send.html" title="basic_datagram_socket::async_send">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::async_send (1 of 2 overloads)">
+<link rel="next" href="../async_send_to.html" title="basic_datagram_socket::async_send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::async_send (2 of 2 overloads)">basic_datagram_socket::async_send
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send data on the datagram socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.async_send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.async_send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_send operation can only be used with a connected socket. Use
+ the async_send_to function to send data on an unconnected datagram socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to.html
new file mode 100644
index 0000000000..f3fcca9af1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="async_send/overload2.html" title="basic_datagram_socket::async_send (2 of 2 overloads)">
+<link rel="next" href="async_send_to/overload1.html" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_send_to"></a><a class="link" href="async_send_to.html" title="basic_datagram_socket::async_send_to">basic_datagram_socket::async_send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp93841344"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send_to/overload1.html" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">async_send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send_to/overload1.html" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send_to/overload2.html" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">async_send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send_to/overload2.html" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload1.html
new file mode 100644
index 0000000000..81eeb061e9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_send_to (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send_to.html" title="basic_datagram_socket::async_send_to">
+<link rel="prev" href="../async_send_to.html" title="basic_datagram_socket::async_send_to">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">basic_datagram_socket::async_send_to
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send a datagram to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent. Copies will
+ be made of the endpoint as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload2.html
new file mode 100644
index 0000000000..0d7e602748
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload2.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::async_send_to (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send_to.html" title="basic_datagram_socket::async_send_to">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::async_send_to (1 of 2 overloads)">
+<link rel="next" href="../at_mark.html" title="basic_datagram_socket::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../at_mark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">basic_datagram_socket::async_send_to
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send a datagram to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.async_send_to.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.async_send_to.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent. Copies will
+ be made of the endpoint as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../at_mark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/at_mark.html b/doc/html/boost_asio/reference/basic_datagram_socket/at_mark.html
new file mode 100644
index 0000000000..ce4928836f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/at_mark.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="async_send_to/overload2.html" title="basic_datagram_socket::async_send_to (2 of 2 overloads)">
+<link rel="next" href="at_mark/overload1.html" title="basic_datagram_socket::at_mark (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send_to/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.at_mark"></a><a class="link" href="at_mark.html" title="basic_datagram_socket::at_mark">basic_datagram_socket::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94014752"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="at_mark/overload1.html" title="basic_datagram_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload1.html" title="basic_datagram_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">bool</span> <a class="link" href="at_mark/overload2.html" title="basic_datagram_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload2.html" title="basic_datagram_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_send_to/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload1.html
new file mode 100644
index 0000000000..b998cd3073
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::at_mark (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_datagram_socket::at_mark">
+<link rel="prev" href="../at_mark.html" title="basic_datagram_socket::at_mark">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::at_mark (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::at_mark (1 of 2 overloads)">basic_datagram_socket::at_mark
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.at_mark.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload2.html
new file mode 100644
index 0000000000..8cc2eb2b6a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/at_mark/overload2.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::at_mark (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_datagram_socket::at_mark">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::at_mark (1 of 2 overloads)">
+<link rel="next" href="../available.html" title="basic_datagram_socket::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::at_mark (2 of 2 overloads)">basic_datagram_socket::at_mark
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.at_mark.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.at_mark.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/available.html b/doc/html/boost_asio/reference/basic_datagram_socket/available.html
new file mode 100644
index 0000000000..9a5ac6d0fb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/available.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="at_mark/overload2.html" title="basic_datagram_socket::at_mark (2 of 2 overloads)">
+<link rel="next" href="available/overload1.html" title="basic_datagram_socket::available (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.available"></a><a class="link" href="available.html" title="basic_datagram_socket::available">basic_datagram_socket::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94070384"></a>
+Determine the number of bytes available for
+ reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload1.html" title="basic_datagram_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload1.html" title="basic_datagram_socket::available (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload2.html" title="basic_datagram_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload2.html" title="basic_datagram_socket::available (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/available/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/available/overload1.html
new file mode 100644
index 0000000000..a67a86f5f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/available/overload1.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::available (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_datagram_socket::available">
+<link rel="prev" href="../available.html" title="basic_datagram_socket::available">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::available (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.available.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::available (1 of 2 overloads)">basic_datagram_socket::available
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.available.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.available.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.available.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.available.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/available/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/available/overload2.html
new file mode 100644
index 0000000000..e193911ea1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/available/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::available (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_datagram_socket::available">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::available (1 of 2 overloads)">
+<link rel="next" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.available.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::available (2 of 2 overloads)">basic_datagram_socket::available
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.available.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.available.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.available.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.available.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.available.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html
new file mode 100644
index 0000000000..763b5eb080
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="available/overload2.html" title="basic_datagram_socket::available (2 of 2 overloads)">
+<link rel="next" href="basic_datagram_socket/overload1.html" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_datagram_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket"></a><a class="link" href="basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">basic_datagram_socket::basic_datagram_socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94130320"></a>
+Construct a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_datagram_socket/overload1.html" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_datagram_socket/overload1.html" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct and open a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_datagram_socket/overload2.html" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_datagram_socket/overload2.html" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>, opening
+ it and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_datagram_socket/overload3.html" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_datagram_socket/overload3.html" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> on an existing
+ native socket.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_datagram_socket/overload4.html" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_datagram_socket/overload4.html" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_datagram_socket/overload5.html" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
+ <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_datagram_socket/overload5.html" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../DatagramSocketService.html" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_datagram_socket/overload6.html" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">basic_datagram_socket</a><span class="special">(</span>
+ <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_datagram_socket/overload6.html" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_datagram_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload1.html
new file mode 100644
index 0000000000..9f5d325fad
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="prev" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
+ (1 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a datagram socket without opening it. The <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code>
+ function must be called before data can be sent or received on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the datagram socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload2.html
new file mode 100644
index 0000000000..1bf5898677
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::basic_datagram_socket (1 of 6 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
+ (2 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a datagram socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the datagram socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload3.html
new file mode 100644
index 0000000000..72bb5e90cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload3.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::basic_datagram_socket (2 of 6 overloads)">
+<link rel="next" href="overload4.html" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
+ (3 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>, opening
+ it and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a datagram socket and automatically opens it
+ bound to the specified endpoint on the local machine. The protocol used
+ is the protocol associated with the given endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the datagram socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the datagram socket will
+ be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload4.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload4.html
new file mode 100644
index 0000000000..88cfa5e690
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload4.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="prev" href="overload3.html" title="basic_datagram_socket::basic_datagram_socket (3 of 6 overloads)">
+<link rel="next" href="overload5.html" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4"></a><a class="link" href="overload4.html" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
+ (4 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> on an
+ existing native socket.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a datagram socket object to hold an existing
+ native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the datagram socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+<dt><span class="term">native_socket</span></dt>
+<dd><p>
+ The new underlying socket implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload5.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload5.html
new file mode 100644
index 0000000000..850bdd6f55
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload5.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="prev" href="overload4.html" title="basic_datagram_socket::basic_datagram_socket (4 of 6 overloads)">
+<link rel="next" href="overload6.html" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5"></a><a class="link" href="overload5.html" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
+ (5 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span><span class="special">(</span>
+ <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a datagram socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload6.html b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload6.html
new file mode 100644
index 0000000000..e0171f06a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket/overload6.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket">
+<link rel="prev" href="overload5.html" title="basic_datagram_socket::basic_datagram_socket (5 of 6 overloads)">
+<link rel="next" href="../bind.html" title="basic_datagram_socket::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6"></a><a class="link" href="overload6.html" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">basic_datagram_socket::basic_datagram_socket
+ (6 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a
+ socket of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../DatagramSocketService.html" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_datagram_socket</span><span class="special">(</span>
+ <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a datagram socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_datagram_socket.basic_datagram_socket.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/bind.html b/doc/html/boost_asio/reference/basic_datagram_socket/bind.html
new file mode 100644
index 0000000000..e0be9ceefe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="basic_datagram_socket/overload6.html" title="basic_datagram_socket::basic_datagram_socket (6 of 6 overloads)">
+<link rel="next" href="bind/overload1.html" title="basic_datagram_socket::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_datagram_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.bind"></a><a class="link" href="bind.html" title="basic_datagram_socket::bind">basic_datagram_socket::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94403488"></a>
+Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_datagram_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_datagram_socket::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_datagram_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_datagram_socket::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_datagram_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload1.html
new file mode 100644
index 0000000000..c5b65041ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_datagram_socket::bind">
+<link rel="prev" href="../bind.html" title="basic_datagram_socket::bind">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::bind (1 of 2 overloads)">basic_datagram_socket::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload2.html
new file mode 100644
index 0000000000..ab7d54d6bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_datagram_socket::bind">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_datagram_socket::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::bind (2 of 2 overloads)">basic_datagram_socket::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/broadcast.html b/doc/html/boost_asio/reference/basic_datagram_socket/broadcast.html
new file mode 100644
index 0000000000..7b6e3ed280
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/broadcast.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="bind/overload2.html" title="basic_datagram_socket::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_datagram_socket::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.broadcast"></a><a class="link" href="broadcast.html" title="basic_datagram_socket::broadcast">basic_datagram_socket::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp94547824"></a>
+Socket option to permit sending of broadcast
+ messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_datagram_socket.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_datagram_socket.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/bytes_readable.html b/doc/html/boost_asio/reference/basic_datagram_socket/bytes_readable.html
new file mode 100644
index 0000000000..d8460eb32d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="broadcast.html" title="basic_datagram_socket::broadcast">
+<link rel="next" href="cancel.html" title="basic_datagram_socket::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_datagram_socket::bytes_readable">basic_datagram_socket::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp94605088"></a>
+IO control command to get the amount
+ of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_datagram_socket.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_datagram_socket.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/cancel.html b/doc/html/boost_asio/reference/basic_datagram_socket/cancel.html
new file mode 100644
index 0000000000..883ab19413
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="bytes_readable.html" title="basic_datagram_socket::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_datagram_socket::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.cancel"></a><a class="link" href="cancel.html" title="basic_datagram_socket::cancel">basic_datagram_socket::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94644512"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_datagram_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_datagram_socket::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_datagram_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_datagram_socket::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload1.html
new file mode 100644
index 0000000000..e2afbdb267
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_datagram_socket::cancel">
+<link rel="prev" href="../cancel.html" title="basic_datagram_socket::cancel">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::cancel (1 of 2 overloads)">basic_datagram_socket::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload2.html
new file mode 100644
index 0000000000..ef4eba0862
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/cancel/overload2.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_datagram_socket::cancel">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_datagram_socket::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::cancel (2 of 2 overloads)">basic_datagram_socket::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/close.html b/doc/html/boost_asio/reference/basic_datagram_socket/close.html
new file mode 100644
index 0000000000..24c9d3a69f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="cancel/overload2.html" title="basic_datagram_socket::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_datagram_socket::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.close"></a><a class="link" href="close.html" title="basic_datagram_socket::close">basic_datagram_socket::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94736800"></a>
+Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_datagram_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_datagram_socket::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_datagram_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_datagram_socket::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/close/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/close/overload1.html
new file mode 100644
index 0000000000..aaf5a2e620
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/close/overload1.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_datagram_socket::close">
+<link rel="prev" href="../close.html" title="basic_datagram_socket::close">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.close.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::close (1 of 2 overloads)">basic_datagram_socket::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.close.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.close.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/close/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/close/overload2.html
new file mode 100644
index 0000000000..30029117cf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/close/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_datagram_socket::close">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::close (1 of 2 overloads)">
+<link rel="next" href="../connect.html" title="basic_datagram_socket::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.close.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::close (2 of 2 overloads)">basic_datagram_socket::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.close.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.close.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.close.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/connect.html b/doc/html/boost_asio/reference/basic_datagram_socket/connect.html
new file mode 100644
index 0000000000..66dfb08058
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/connect.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="close/overload2.html" title="basic_datagram_socket::close (2 of 2 overloads)">
+<link rel="next" href="connect/overload1.html" title="basic_datagram_socket::connect (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.connect"></a><a class="link" href="connect.html" title="basic_datagram_socket::connect">basic_datagram_socket::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp94827952"></a>
+Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="connect/overload1.html" title="basic_datagram_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="basic_datagram_socket::connect (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="connect/overload2.html" title="basic_datagram_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="basic_datagram_socket::connect (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/connect/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/connect/overload1.html
new file mode 100644
index 0000000000..8d874867d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/connect/overload1.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::connect (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_datagram_socket::connect">
+<link rel="prev" href="../connect.html" title="basic_datagram_socket::connect">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::connect (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::connect (1 of 2 overloads)">basic_datagram_socket::connect
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.connect.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/connect/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/connect/overload2.html
new file mode 100644
index 0000000000..ad9651f742
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/connect/overload2.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::connect (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_datagram_socket::connect">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::connect (1 of 2 overloads)">
+<link rel="next" href="../debug.html" title="basic_datagram_socket::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::connect (2 of 2 overloads)">basic_datagram_socket::connect
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/debug.html b/doc/html/boost_asio/reference/basic_datagram_socket/debug.html
new file mode 100644
index 0000000000..bcae86577a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="connect/overload2.html" title="basic_datagram_socket::connect (2 of 2 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_datagram_socket::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.debug"></a><a class="link" href="debug.html" title="basic_datagram_socket::debug">basic_datagram_socket::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp94964640"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_datagram_socket.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_datagram_socket.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/do_not_route.html b/doc/html/boost_asio/reference/basic_datagram_socket/do_not_route.html
new file mode 100644
index 0000000000..4d8fc69216
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="debug.html" title="basic_datagram_socket::debug">
+<link rel="next" href="enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_datagram_socket::do_not_route">basic_datagram_socket::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95021712"></a>
+Socket option to prevent routing, use
+ local interfaces only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_datagram_socket.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_datagram_socket.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_datagram_socket/enable_connection_aborted.html
new file mode 100644
index 0000000000..279f7df185
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="do_not_route.html" title="basic_datagram_socket::do_not_route">
+<link rel="next" href="endpoint_type.html" title="basic_datagram_socket::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted">basic_datagram_socket::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95079008"></a>
+Socket option to report aborted
+ connections on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_datagram_socket.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/endpoint_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/endpoint_type.html
new file mode 100644
index 0000000000..bd5ea16316
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted">
+<link rel="next" href="get_implementation.html" title="basic_datagram_socket::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_datagram_socket::endpoint_type">basic_datagram_socket::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95140384"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_datagram_socket.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation.html
new file mode 100644
index 0000000000..362fd0d675
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="endpoint_type.html" title="basic_datagram_socket::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_datagram_socket::get_implementation">basic_datagram_socket::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95153776"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload1.html
new file mode 100644
index 0000000000..f057189a0f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_datagram_socket::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_datagram_socket::get_implementation">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">basic_datagram_socket::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload2.html
new file mode 100644
index 0000000000..0b1b77c040
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_datagram_socket::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_datagram_socket::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">basic_datagram_socket::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_io_service.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_io_service.html
new file mode 100644
index 0000000000..979738b37d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_datagram_socket::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_datagram_socket::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_datagram_socket::get_io_service">basic_datagram_socket::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95183920"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_datagram_socket.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_option.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_option.html
new file mode 100644
index 0000000000..5650a6fbc7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="get_io_service.html" title="basic_datagram_socket::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_datagram_socket::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_option"></a><a class="link" href="get_option.html" title="basic_datagram_socket::get_option">basic_datagram_socket::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95202272"></a>
+Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_datagram_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_datagram_socket::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_datagram_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_datagram_socket::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload1.html
new file mode 100644
index 0000000000..67bc8a411e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_datagram_socket::get_option">
+<link rel="prev" href="../get_option.html" title="basic_datagram_socket::get_option">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::get_option (1 of 2 overloads)">basic_datagram_socket::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload2.html
new file mode 100644
index 0000000000..e6bb344553
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_option/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_datagram_socket::get_option">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_datagram_socket::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::get_option (2 of 2 overloads)">basic_datagram_socket::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_service.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_service.html
new file mode 100644
index 0000000000..a853318ae4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="get_option/overload2.html" title="basic_datagram_socket::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_datagram_socket::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_service"></a><a class="link" href="get_service.html" title="basic_datagram_socket::get_service">basic_datagram_socket::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95342720"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_datagram_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_datagram_socket::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_datagram_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_datagram_socket::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload1.html
new file mode 100644
index 0000000000..4f523748ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_datagram_socket::get_service">
+<link rel="prev" href="../get_service.html" title="basic_datagram_socket::get_service">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::get_service (1 of 2 overloads)">basic_datagram_socket::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload2.html
new file mode 100644
index 0000000000..bb91d7fef3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_datagram_socket::get_service">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_datagram_socket::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::get_service (2 of 2 overloads)">basic_datagram_socket::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/implementation.html b/doc/html/boost_asio/reference/basic_datagram_socket/implementation.html
new file mode 100644
index 0000000000..776a47b8b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="get_service/overload2.html" title="basic_datagram_socket::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_datagram_socket::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.implementation"></a><a class="link" href="implementation.html" title="basic_datagram_socket::implementation">basic_datagram_socket::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95372960"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/implementation_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/implementation_type.html
new file mode 100644
index 0000000000..01a86918db
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="implementation.html" title="basic_datagram_socket::implementation">
+<link rel="next" href="io_control.html" title="basic_datagram_socket::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_datagram_socket::implementation_type">basic_datagram_socket::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95381680"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_datagram_socket.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/io_control.html b/doc/html/boost_asio/reference/basic_datagram_socket/io_control.html
new file mode 100644
index 0000000000..fdb6fd28b3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/io_control.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="implementation_type.html" title="basic_datagram_socket::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_datagram_socket::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.io_control"></a><a class="link" href="io_control.html" title="basic_datagram_socket::io_control">basic_datagram_socket::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95395264"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_datagram_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_datagram_socket::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_datagram_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_datagram_socket::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload1.html
new file mode 100644
index 0000000000..329ddc3674
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_datagram_socket::io_control">
+<link rel="prev" href="../io_control.html" title="basic_datagram_socket::io_control">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::io_control (1 of 2 overloads)">basic_datagram_socket::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload2.html
new file mode 100644
index 0000000000..8952b745f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/io_control/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_datagram_socket::io_control">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="basic_datagram_socket::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::io_control (2 of 2 overloads)">basic_datagram_socket::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/is_open.html b/doc/html/boost_asio/reference/basic_datagram_socket/is_open.html
new file mode 100644
index 0000000000..30681657a0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="io_control/overload2.html" title="basic_datagram_socket::io_control (2 of 2 overloads)">
+<link rel="next" href="keep_alive.html" title="basic_datagram_socket::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.is_open"></a><a class="link" href="is_open.html" title="basic_datagram_socket::is_open">basic_datagram_socket::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95533840"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/keep_alive.html b/doc/html/boost_asio/reference/basic_datagram_socket/keep_alive.html
new file mode 100644
index 0000000000..abbf206923
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="is_open.html" title="basic_datagram_socket::is_open">
+<link rel="next" href="linger.html" title="basic_datagram_socket::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_datagram_socket::keep_alive">basic_datagram_socket::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95541888"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_datagram_socket.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_datagram_socket.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/linger.html b/doc/html/boost_asio/reference/basic_datagram_socket/linger.html
new file mode 100644
index 0000000000..af253d42d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="keep_alive.html" title="basic_datagram_socket::keep_alive">
+<link rel="next" href="local_endpoint.html" title="basic_datagram_socket::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.linger"></a><a class="link" href="linger.html" title="basic_datagram_socket::linger">basic_datagram_socket::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95599136"></a>
+Socket option to specify whether the socket
+ lingers on close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_datagram_socket.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_datagram_socket.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint.html b/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint.html
new file mode 100644
index 0000000000..654e26da7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="linger.html" title="basic_datagram_socket::linger">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_datagram_socket::local_endpoint">basic_datagram_socket::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95661632"></a>
+Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload1.html
new file mode 100644
index 0000000000..819a091cd4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_datagram_socket::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_datagram_socket::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">basic_datagram_socket::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload2.html
new file mode 100644
index 0000000000..0fca53ffb4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/local_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_datagram_socket::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="basic_datagram_socket::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">basic_datagram_socket::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket. Returns a
+ default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer.html b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer.html
new file mode 100644
index 0000000000..ec6c1a160b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_datagram_socket::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_datagram_socket::lowest_layer">basic_datagram_socket::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp95767168"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload1.html
new file mode 100644
index 0000000000..be7c68959d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_datagram_socket::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_datagram_socket::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">basic_datagram_socket::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload2.html
new file mode 100644
index 0000000000..06f370e2fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_datagram_socket::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">basic_datagram_socket::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer_type.html
new file mode 100644
index 0000000000..49d3b34bdc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/lowest_layer_type.html
@@ -0,0 +1,913 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_datagram_socket::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="max_connections.html" title="basic_datagram_socket::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type">basic_datagram_socket::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp95810272"></a>
+A <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">DatagramSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_datagram_socket.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/max_connections.html b/doc/html/boost_asio/reference/basic_datagram_socket/max_connections.html
new file mode 100644
index 0000000000..ba78920e0a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type">
+<link rel="next" href="message_do_not_route.html" title="basic_datagram_socket::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.max_connections"></a><a class="link" href="max_connections.html" title="basic_datagram_socket::max_connections">basic_datagram_socket::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96067200"></a>
+The maximum length of the queue of
+ pending incoming connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/message_do_not_route.html b/doc/html/boost_asio/reference/basic_datagram_socket/message_do_not_route.html
new file mode 100644
index 0000000000..d17d672e64
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="max_connections.html" title="basic_datagram_socket::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_datagram_socket::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_datagram_socket::message_do_not_route">basic_datagram_socket::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96076832"></a>
+Specify that the data should not
+ be subject to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/message_end_of_record.html b/doc/html/boost_asio/reference/basic_datagram_socket/message_end_of_record.html
new file mode 100644
index 0000000000..26ab299470
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="message_do_not_route.html" title="basic_datagram_socket::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_datagram_socket::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_datagram_socket::message_end_of_record">basic_datagram_socket::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96086464"></a>
+Specifies that the data marks
+ the end of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/message_flags.html b/doc/html/boost_asio/reference/basic_datagram_socket/message_flags.html
new file mode 100644
index 0000000000..04d04ab82e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="message_end_of_record.html" title="basic_datagram_socket::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_datagram_socket::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.message_flags"></a><a class="link" href="message_flags.html" title="basic_datagram_socket::message_flags">basic_datagram_socket::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96096064"></a>
+Bitmask type for flags that can be passed
+ to send and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_datagram_socket.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/message_out_of_band.html b/doc/html/boost_asio/reference/basic_datagram_socket/message_out_of_band.html
new file mode 100644
index 0000000000..8c9a774131
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="message_flags.html" title="basic_datagram_socket::message_flags">
+<link rel="next" href="message_peek.html" title="basic_datagram_socket::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_datagram_socket::message_out_of_band">basic_datagram_socket::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96109328"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/message_peek.html b/doc/html/boost_asio/reference/basic_datagram_socket/message_peek.html
new file mode 100644
index 0000000000..fbb03ed86c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="message_out_of_band.html" title="basic_datagram_socket::message_out_of_band">
+<link rel="next" href="native.html" title="basic_datagram_socket::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.message_peek"></a><a class="link" href="message_peek.html" title="basic_datagram_socket::message_peek">basic_datagram_socket::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96118896"></a>
+Peek at incoming data without removing
+ it from the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native.html b/doc/html/boost_asio/reference/basic_datagram_socket/native.html
new file mode 100644
index 0000000000..388af1fecb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="message_peek.html" title="basic_datagram_socket::message_peek">
+<link rel="next" href="native_handle.html" title="basic_datagram_socket::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native"></a><a class="link" href="native.html" title="basic_datagram_socket::native">basic_datagram_socket::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96128368"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_handle.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_handle.html
new file mode 100644
index 0000000000..637e5e1f7b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="native.html" title="basic_datagram_socket::native">
+<link rel="next" href="native_handle_type.html" title="basic_datagram_socket::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_handle"></a><a class="link" href="native_handle.html" title="basic_datagram_socket::native_handle">basic_datagram_socket::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96137696"></a>
+Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_handle_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_handle_type.html
new file mode 100644
index 0000000000..bfa6e28949
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="native_handle.html" title="basic_datagram_socket::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_datagram_socket::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_datagram_socket::native_handle_type">basic_datagram_socket::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp96144416"></a>
+The native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DatagramSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_datagram_socket.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking.html
new file mode 100644
index 0000000000..95ef318b3d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="native_handle_type.html" title="basic_datagram_socket::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_datagram_socket::native_non_blocking">basic_datagram_socket::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp96158048"></a>
+Gets the non-blocking mode of the
+ native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..275d22d532
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload1.html
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_datagram_socket::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_datagram_socket::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">basic_datagram_socket::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native socket. This mode has no effect on the behaviour of the socket
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the socket object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload1.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..5375c83a83
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload2.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_datagram_socket::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">basic_datagram_socket::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload2.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..accfc02b5c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_non_blocking/overload3.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_datagram_socket::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_datagram_socket::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">basic_datagram_socket::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.native_non_blocking.overload3.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/native_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/native_type.html
new file mode 100644
index 0000000000..76d04f5522
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_datagram_socket::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_datagram_socket::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.native_type"></a><a class="link" href="native_type.html" title="basic_datagram_socket::native_type">basic_datagram_socket::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp96767632"></a>
+(Deprecated: Use native_handle_type.) The
+ native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DatagramSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_datagram_socket.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking.html b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking.html
new file mode 100644
index 0000000000..6e11761cc1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="native_type.html" title="basic_datagram_socket::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_datagram_socket::non_blocking">basic_datagram_socket::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp96781344"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload1.html
new file mode 100644
index 0000000000..d17d152ee3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_datagram_socket::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_datagram_socket::non_blocking">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">basic_datagram_socket::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload2.html
new file mode 100644
index 0000000000..0659c5f75e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_datagram_socket::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">basic_datagram_socket::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload3.html
new file mode 100644
index 0000000000..f815da1f33
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking/overload3.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_datagram_socket::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_datagram_socket::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">basic_datagram_socket::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking_io.html b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking_io.html
new file mode 100644
index 0000000000..1eb407f9d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_datagram_socket::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_datagram_socket::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_datagram_socket::non_blocking_io">basic_datagram_socket::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp96905952"></a>
+(Deprecated: Use non_blocking().) IO
+ control command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_datagram_socket.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_datagram_socket.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/open.html b/doc/html/boost_asio/reference/basic_datagram_socket/open.html
new file mode 100644
index 0000000000..5c588dcf6b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="non_blocking_io.html" title="basic_datagram_socket::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_datagram_socket::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.open"></a><a class="link" href="open.html" title="basic_datagram_socket::open">basic_datagram_socket::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp96940032"></a>
+Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_datagram_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_datagram_socket::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_datagram_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_datagram_socket::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/open/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/open/overload1.html
new file mode 100644
index 0000000000..c729fe78be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/open/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_datagram_socket::open">
+<link rel="prev" href="../open.html" title="basic_datagram_socket::open">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.open.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::open (1 of 2 overloads)">basic_datagram_socket::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/open/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/open/overload2.html
new file mode 100644
index 0000000000..1f8a860e1f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/open/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_datagram_socket::open">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_datagram_socket::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.open.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::open (2 of 2 overloads)">basic_datagram_socket::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_.html b/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_.html
new file mode 100644
index 0000000000..289df4a247
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="open/overload2.html" title="basic_datagram_socket::open (2 of 2 overloads)">
+<link rel="next" href="operator_eq_/overload1.html" title="basic_datagram_socket::operator= (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_datagram_socket::operator=">basic_datagram_socket::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97057600"></a>
+Move-assign a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="basic_datagram_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="basic_datagram_socket::operator= (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-assign a <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../DatagramSocketService.html" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_datagram_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="basic_datagram_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="basic_datagram_socket::operator= (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload1.html
new file mode 100644
index 0000000000..e2c63e5c28
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::operator= (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_datagram_socket::operator=">
+<link rel="prev" href="../operator_eq_.html" title="basic_datagram_socket::operator=">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::operator= (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::operator= (1 of 2 overloads)">basic_datagram_socket::operator=
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_datagram_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_datagram_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a datagram socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload2.html
new file mode 100644
index 0000000000..067a5c6660
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/operator_eq_/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::operator= (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_datagram_socket::operator=">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::operator= (1 of 2 overloads)">
+<link rel="next" href="../protocol_type.html" title="basic_datagram_socket::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::operator= (2 of 2 overloads)">basic_datagram_socket::operator=
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> from a
+ socket of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../DatagramSocketService.html" title="Datagram socket service requirements">DatagramSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_datagram_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">DatagramSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a datagram socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.operator_eq_.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_datagram_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/protocol_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/protocol_type.html
new file mode 100644
index 0000000000..a0bd30e77a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="operator_eq_/overload2.html" title="basic_datagram_socket::operator= (2 of 2 overloads)">
+<link rel="next" href="receive.html" title="basic_datagram_socket::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_datagram_socket::protocol_type">basic_datagram_socket::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97161648"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_datagram_socket.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive.html
new file mode 100644
index 0000000000..9bab36923a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="protocol_type.html" title="basic_datagram_socket::protocol_type">
+<link rel="next" href="receive/overload1.html" title="basic_datagram_socket::receive (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive"></a><a class="link" href="receive.html" title="basic_datagram_socket::receive">basic_datagram_socket::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97174096"></a>
+Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload1.html" title="basic_datagram_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload1.html" title="basic_datagram_socket::receive (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload2.html" title="basic_datagram_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload2.html" title="basic_datagram_socket::receive (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload3.html" title="basic_datagram_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload3.html" title="basic_datagram_socket::receive (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload1.html
new file mode 100644
index 0000000000..22872f2cca
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_datagram_socket::receive">
+<link rel="prev" href="../receive.html" title="basic_datagram_socket::receive">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::receive (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::receive (1 of 3 overloads)">basic_datagram_socket::receive
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the datagram socket. The function
+ call will block until data has been received successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation can only be used with a connected socket. Use the
+ receive_from function to receive data on an unconnected datagram socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload2.html
new file mode 100644
index 0000000000..6c5faa3592
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload2.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_datagram_socket::receive">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::receive (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::receive (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::receive (2 of 3 overloads)">basic_datagram_socket::receive
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the datagram socket. The function
+ call will block until data has been received successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation can only be used with a connected socket. Use the
+ receive_from function to receive data on an unconnected datagram socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload3.html
new file mode 100644
index 0000000000..ca9a9fce44
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive/overload3.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_datagram_socket::receive">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::receive (2 of 3 overloads)">
+<link rel="next" href="../receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::receive (3 of 3 overloads)">basic_datagram_socket::receive
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the datagram socket. The function
+ call will block until data has been received successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.receive.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.receive.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.receive.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation can only be used with a connected socket. Use the
+ receive_from function to receive data on an unconnected datagram socket.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive_buffer_size.html
new file mode 100644
index 0000000000..7c1365a6f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="receive/overload3.html" title="basic_datagram_socket::receive (3 of 3 overloads)">
+<link rel="next" href="receive_from.html" title="basic_datagram_socket::receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size">basic_datagram_socket::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp97342128"></a>
+Socket option for the receive buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_datagram_socket.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive_from.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from.html
new file mode 100644
index 0000000000..6e9e07b00a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size">
+<link rel="next" href="receive_from/overload1.html" title="basic_datagram_socket::receive_from (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive_from"></a><a class="link" href="receive_from.html" title="basic_datagram_socket::receive_from">basic_datagram_socket::receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97398720"></a>
+Receive a datagram with the endpoint of
+ the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive_from/overload1.html" title="basic_datagram_socket::receive_from (1 of 3 overloads)">receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive_from/overload1.html" title="basic_datagram_socket::receive_from (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive_from/overload2.html" title="basic_datagram_socket::receive_from (2 of 3 overloads)">receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive_from/overload2.html" title="basic_datagram_socket::receive_from (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive_from/overload3.html" title="basic_datagram_socket::receive_from (3 of 3 overloads)">receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive_from/overload3.html" title="basic_datagram_socket::receive_from (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload1.html
new file mode 100644
index 0000000000..d47004fafb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload1.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive_from (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive_from.html" title="basic_datagram_socket::receive_from">
+<link rel="prev" href="../receive_from.html" title="basic_datagram_socket::receive_from">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::receive_from (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::receive_from (1 of 3 overloads)">basic_datagram_socket::receive_from
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive a datagram. The function call will block
+ until data has been received successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the datagram.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.receive_from.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload2.html
new file mode 100644
index 0000000000..0be749f4b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload2.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive_from (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive_from.html" title="basic_datagram_socket::receive_from">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::receive_from (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::receive_from (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::receive_from (2 of 3 overloads)">basic_datagram_socket::receive_from
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive a datagram. The function call will block
+ until data has been received successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the datagram.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.receive_from.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload3.html
new file mode 100644
index 0000000000..39a36f335b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive_from/overload3.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive_from (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive_from.html" title="basic_datagram_socket::receive_from">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::receive_from (2 of 3 overloads)">
+<link rel="next" href="../receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_low_watermark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::receive_from (3 of 3 overloads)">basic_datagram_socket::receive_from
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive a datagram. The function call will block
+ until data has been received successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the datagram.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_from.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.receive_from.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_low_watermark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_datagram_socket/receive_low_watermark.html
new file mode 100644
index 0000000000..5af68dcede
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/receive_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="receive_from/overload3.html" title="basic_datagram_socket::receive_from (3 of 3 overloads)">
+<link rel="next" href="remote_endpoint.html" title="basic_datagram_socket::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_from/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark">basic_datagram_socket::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp97670400"></a>
+Socket option for the receive
+ low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_datagram_socket.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_from/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint.html b/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint.html
new file mode 100644
index 0000000000..04d3d21b98
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark">
+<link rel="next" href="remote_endpoint/overload1.html" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="basic_datagram_socket::remote_endpoint">basic_datagram_socket::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97725840"></a>
+Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload1.html" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload1.html" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload2.html" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload2.html" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload1.html
new file mode 100644
index 0000000000..d8bd7c1ee7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::remote_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_datagram_socket::remote_endpoint">
+<link rel="prev" href="../remote_endpoint.html" title="basic_datagram_socket::remote_endpoint">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">basic_datagram_socket::remote_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload2.html
new file mode 100644
index 0000000000..422fc487dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/remote_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::remote_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_datagram_socket::remote_endpoint">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::remote_endpoint (1 of 2 overloads)">
+<link rel="next" href="../reuse_address.html" title="basic_datagram_socket::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">basic_datagram_socket::remote_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket. Returns
+ a default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.remote_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/reuse_address.html b/doc/html/boost_asio/reference/basic_datagram_socket/reuse_address.html
new file mode 100644
index 0000000000..7102eba30c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="remote_endpoint/overload2.html" title="basic_datagram_socket::remote_endpoint (2 of 2 overloads)">
+<link rel="next" href="send.html" title="basic_datagram_socket::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_datagram_socket::reuse_address">basic_datagram_socket::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp97827648"></a>
+Socket option to allow the socket to
+ be bound to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_datagram_socket.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_datagram_socket.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send.html b/doc/html/boost_asio/reference/basic_datagram_socket/send.html
new file mode 100644
index 0000000000..e55537d6e0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="reuse_address.html" title="basic_datagram_socket::reuse_address">
+<link rel="next" href="send/overload1.html" title="basic_datagram_socket::send (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send"></a><a class="link" href="send.html" title="basic_datagram_socket::send">basic_datagram_socket::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97878128"></a>
+Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload1.html" title="basic_datagram_socket::send (1 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload1.html" title="basic_datagram_socket::send (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload2.html" title="basic_datagram_socket::send (2 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload2.html" title="basic_datagram_socket::send (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload3.html" title="basic_datagram_socket::send (3 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload3.html" title="basic_datagram_socket::send (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/send/overload1.html
new file mode 100644
index 0000000000..62bd0a01bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_datagram_socket::send">
+<link rel="prev" href="../send.html" title="basic_datagram_socket::send">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::send (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::send (1 of 3 overloads)">basic_datagram_socket::send
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the datagram socket. The function
+ call will block until the data has been sent successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One ore more data buffers to be sent on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation can only be used with a connected socket. Use the
+ send_to function to send data on an unconnected datagram socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/send/overload2.html
new file mode 100644
index 0000000000..0152be02d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send/overload2.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_datagram_socket::send">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::send (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::send (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::send (2 of 3 overloads)">basic_datagram_socket::send
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the datagram socket. The function
+ call will block until the data has been sent successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One ore more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation can only be used with a connected socket. Use the
+ send_to function to send data on an unconnected datagram socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/send/overload3.html
new file mode 100644
index 0000000000..d36a5211b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send/overload3.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_datagram_socket::send">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::send (2 of 3 overloads)">
+<link rel="next" href="../send_buffer_size.html" title="basic_datagram_socket::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::send (3 of 3 overloads)">basic_datagram_socket::send
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the datagram socket. The function
+ call will block until the data has been sent successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.send.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.send.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.send.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation can only be used with a connected socket. Use the
+ send_to function to send data on an unconnected datagram socket.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send_buffer_size.html b/doc/html/boost_asio/reference/basic_datagram_socket/send_buffer_size.html
new file mode 100644
index 0000000000..47aaa7888c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="send/overload3.html" title="basic_datagram_socket::send (3 of 3 overloads)">
+<link rel="next" href="send_low_watermark.html" title="basic_datagram_socket::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_datagram_socket::send_buffer_size">basic_datagram_socket::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp98025504"></a>
+Socket option for the send buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_datagram_socket.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_datagram_socket.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send_low_watermark.html b/doc/html/boost_asio/reference/basic_datagram_socket/send_low_watermark.html
new file mode 100644
index 0000000000..eed6883b72
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send_low_watermark.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="send_buffer_size.html" title="basic_datagram_socket::send_buffer_size">
+<link rel="next" href="send_to.html" title="basic_datagram_socket::send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_datagram_socket::send_low_watermark">basic_datagram_socket::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp98079296"></a>
+Socket option for the send low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_datagram_socket.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_datagram_socket.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send_to.html b/doc/html/boost_asio/reference/basic_datagram_socket/send_to.html
new file mode 100644
index 0000000000..efe94d6b58
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send_to.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="send_low_watermark.html" title="basic_datagram_socket::send_low_watermark">
+<link rel="next" href="send_to/overload1.html" title="basic_datagram_socket::send_to (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send_to"></a><a class="link" href="send_to.html" title="basic_datagram_socket::send_to">basic_datagram_socket::send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp98135680"></a>
+Send a datagram to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send_to/overload1.html" title="basic_datagram_socket::send_to (1 of 3 overloads)">send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_to/overload1.html" title="basic_datagram_socket::send_to (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send_to/overload2.html" title="basic_datagram_socket::send_to (2 of 3 overloads)">send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_to/overload2.html" title="basic_datagram_socket::send_to (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send_to/overload3.html" title="basic_datagram_socket::send_to (3 of 3 overloads)">send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_to/overload3.html" title="basic_datagram_socket::send_to (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload1.html
new file mode 100644
index 0000000000..0028142cde
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload1.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send_to (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_to.html" title="basic_datagram_socket::send_to">
+<link rel="prev" href="../send_to.html" title="basic_datagram_socket::send_to">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::send_to (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::send_to (1 of 3 overloads)">basic_datagram_socket::send_to
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send a datagram to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send a datagram to the specified remote endpoint.
+ The function call will block until the data has been sent successfully
+ or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.send_to.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload2.html
new file mode 100644
index 0000000000..446482755f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload2.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send_to (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_to.html" title="basic_datagram_socket::send_to">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::send_to (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_datagram_socket::send_to (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::send_to (2 of 3 overloads)">basic_datagram_socket::send_to
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send a datagram to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send a datagram to the specified remote endpoint.
+ The function call will block until the data has been sent successfully
+ or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send_to.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send_to.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.send_to.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload3.html b/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload3.html
new file mode 100644
index 0000000000..c2a70511ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/send_to/overload3.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::send_to (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_to.html" title="basic_datagram_socket::send_to">
+<link rel="prev" href="overload2.html" title="basic_datagram_socket::send_to (2 of 3 overloads)">
+<link rel="next" href="../service.html" title="basic_datagram_socket::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload3"></a><a class="link" href="overload3.html" title="basic_datagram_socket::send_to (3 of 3 overloads)">basic_datagram_socket::send_to
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send a datagram to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send a datagram to the specified remote endpoint.
+ The function call will block until the data has been sent successfully
+ or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.send_to.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.send_to.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_datagram_socket.send_to.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/service.html b/doc/html/boost_asio/reference/basic_datagram_socket/service.html
new file mode 100644
index 0000000000..1bdf4558ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="send_to/overload3.html" title="basic_datagram_socket::send_to (3 of 3 overloads)">
+<link rel="next" href="service_type.html" title="basic_datagram_socket::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_to/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.service"></a><a class="link" href="service.html" title="basic_datagram_socket::service">basic_datagram_socket::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp98332400"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_datagram_socket.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_to/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/service_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/service_type.html
new file mode 100644
index 0000000000..3f3103cbed
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="service.html" title="basic_datagram_socket::service">
+<link rel="next" href="set_option.html" title="basic_datagram_socket::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.service_type"></a><a class="link" href="service_type.html" title="basic_datagram_socket::service_type">basic_datagram_socket::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp98344976"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DatagramSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_datagram_socket.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_datagram_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/set_option.html b/doc/html/boost_asio/reference/basic_datagram_socket/set_option.html
new file mode 100644
index 0000000000..d61a06adb3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/set_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="service_type.html" title="basic_datagram_socket::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_datagram_socket::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.set_option"></a><a class="link" href="set_option.html" title="basic_datagram_socket::set_option">basic_datagram_socket::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp98357408"></a>
+Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_datagram_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_datagram_socket::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_datagram_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_datagram_socket::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload1.html
new file mode 100644
index 0000000000..980fbe40c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload1.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_datagram_socket::set_option">
+<link rel="prev" href="../set_option.html" title="basic_datagram_socket::set_option">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::set_option (1 of 2 overloads)">basic_datagram_socket::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload2.html
new file mode 100644
index 0000000000..433878fd7a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/set_option/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_datagram_socket::set_option">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::set_option (1 of 2 overloads)">
+<link rel="next" href="../shutdown.html" title="basic_datagram_socket::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::set_option (2 of 2 overloads)">basic_datagram_socket::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/shutdown.html b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown.html
new file mode 100644
index 0000000000..cce3a77a73
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="set_option/overload2.html" title="basic_datagram_socket::set_option (2 of 2 overloads)">
+<link rel="next" href="shutdown/overload1.html" title="basic_datagram_socket::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.shutdown"></a><a class="link" href="shutdown.html" title="basic_datagram_socket::shutdown">basic_datagram_socket::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp98486416"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="basic_datagram_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="basic_datagram_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="basic_datagram_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="basic_datagram_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload1.html b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload1.html
new file mode 100644
index 0000000000..d260870b87
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_datagram_socket::shutdown">
+<link rel="prev" href="../shutdown.html" title="basic_datagram_socket::shutdown">
+<link rel="next" href="overload2.html" title="basic_datagram_socket::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1"></a><a class="link" href="overload1.html" title="basic_datagram_socket::shutdown (1 of 2 overloads)">basic_datagram_socket::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_datagram_socket.shutdown.overload1.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload2.html b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload2.html
new file mode 100644
index 0000000000..f174e4c165
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_datagram_socket::shutdown">
+<link rel="prev" href="overload1.html" title="basic_datagram_socket::shutdown (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_datagram_socket::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2"></a><a class="link" href="overload2.html" title="basic_datagram_socket::shutdown (2 of 2 overloads)">basic_datagram_socket::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_datagram_socket.shutdown.overload2.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_datagram_socket/shutdown_type.html b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown_type.html
new file mode 100644
index 0000000000..9581209eef
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_datagram_socket/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_datagram_socket::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_datagram_socket.html" title="basic_datagram_socket">
+<link rel="prev" href="shutdown/overload2.html" title="basic_datagram_socket::shutdown (2 of 2 overloads)">
+<link rel="next" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_datagram_socket.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_datagram_socket::shutdown_type">basic_datagram_socket::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp98600432"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp98604032"></a>
+ <a class="indexterm" name="idp98605136"></a>
+ <a class="indexterm" name="idp98606240"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_datagram_socket.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_datagram_socket.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_datagram_socket.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_datagram_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer.html b/doc/html/boost_asio/reference/basic_deadline_timer.html
new file mode 100644
index 0000000000..e290f98b38
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer.html
@@ -0,0 +1,485 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_datagram_socket/shutdown_type.html" title="basic_datagram_socket::shutdown_type">
+<link rel="next" href="basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_datagram_socket/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_deadline_timer/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_deadline_timer"></a><a class="link" href="basic_deadline_timer.html" title="basic_deadline_timer">basic_deadline_timer</a>
+</h3></div></div></div>
+<p>
+ Provides waitable timer functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Time</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimeTraits.html" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimerService.html" title="Timer service requirements">TimerService</a> <span class="special">=</span> <span class="identifier">deadline_timer_service</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_deadline_timer</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.types"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/duration_type.html" title="basic_deadline_timer::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/implementation_type.html" title="basic_deadline_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/service_type.html" title="basic_deadline_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/time_type.html" title="basic_deadline_timer::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/traits_type.html" title="basic_deadline_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.member_functions"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer"><span class="bold"><strong>basic_deadline_timer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+ <p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/cancel.html" title="basic_deadline_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/cancel_one.html" title="basic_deadline_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/expires_at.html" title="basic_deadline_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/expires_from_now.html" title="basic_deadline_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the timer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/get_io_service.html" title="basic_deadline_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/wait.html" title="basic_deadline_timer::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the timer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.protected_member_functions"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/get_implementation.html" title="basic_deadline_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/get_service.html" title="basic_deadline_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.protected_data_members"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/implementation.html" title="basic_deadline_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/service.html" title="basic_deadline_timer::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_deadline_timer.html" title="basic_deadline_timer"><code class="computeroutput"><span class="identifier">basic_deadline_timer</span></code></a> class template
+ provides the ability to perform a blocking or asynchronous wait for a timer
+ to expire.
+ </p>
+<p>
+ A deadline timer is always in one of two states: "expired" or "not
+ expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
+ the wait operation will complete immediately.
+ </p>
+<p>
+ Most applications will use the <a class="link" href="deadline_timer.html" title="deadline_timer"><code class="computeroutput"><span class="identifier">deadline_timer</span></code></a> typedef.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.thread_safety"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.examples"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.examples">Examples</a>
+ </h5>
+<p>
+ Performing a blocking wait:
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// Set an expiry time relative to now.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+
+<span class="comment">// Wait for the timer to expire.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Performing an asynchronous wait:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer expired.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a timer with an absolute expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_from_string</span><span class="special">(</span><span class="string">"2005-12-07 23:59:59.000"</span><span class="special">));</span>
+
+<span class="comment">// Start an asynchronous wait.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.changing_an_active_deadline_timer_s_expiry_time"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.changing_an_active_deadline_timer_s_expiry_time">Changing
+ an active deadline_timer's expiry time</a>
+ </h5>
+<p>
+ Changing the expiry time of a timer while there are pending asynchronous
+ waits causes those wait operations to be cancelled. To ensure that the action
+ associated with the timer is performed only once, use something like this:
+ used:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
+ <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Too late, timer has already expired!</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer was not cancelled, take necessary action.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_deadline_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ function cancels any pending asynchronous waits, and returns the number
+ of asynchronous waits that were cancelled. If it returns 0 then you were
+ too late and the wait handler has already been executed, or will soon
+ be executed. If it returns 1 then the wait handler was successfully cancelled.
+ </li>
+<li class="listitem">
+ If a wait handler is cancelled, the boost::system::error_code passed
+ to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.reference.basic_deadline_timer.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.requirements"></a></span><a class="link" href="basic_deadline_timer.html#boost_asio.reference.basic_deadline_timer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_datagram_socket/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_deadline_timer/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/async_wait.html b/doc/html/boost_asio/reference/basic_deadline_timer/async_wait.html
new file mode 100644
index 0000000000..e6a9c0dadc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/async_wait.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="next" href="basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_deadline_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.async_wait"></a><a class="link" href="async_wait.html" title="basic_deadline_timer::async_wait">basic_deadline_timer::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp98851504"></a>
+Start an asynchronous wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WaitHandler.html" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to initiate an asynchronous wait against the
+ timer. It always returns immediately.
+ </p>
+<p>
+ For each call to <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>, the supplied handler will be called
+ exactly once. The handler will be called when:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The timer has expired.
+ </li>
+<li class="listitem">
+ The timer was cancelled, in which case the handler is passed the error
+ code <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.async_wait.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.async_wait.parameters"></a></span><a class="link" href="async_wait.html#boost_asio.reference.basic_deadline_timer.async_wait.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the timer expires. Copies will be made
+ of the handler as required. The function signature of the handler
+ must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_deadline_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer.html b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer.html
new file mode 100644
index 0000000000..f32c0c5fb7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::basic_deadline_timer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="async_wait.html" title="basic_deadline_timer::async_wait">
+<link rel="next" href="basic_deadline_timer/overload1.html" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_deadline_timer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer"></a><a class="link" href="basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer">basic_deadline_timer::basic_deadline_timer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp98892048"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_deadline_timer/overload1.html" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">basic_deadline_timer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_deadline_timer/overload1.html" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_deadline_timer/overload2.html" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">basic_deadline_timer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_deadline_timer/overload2.html" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_deadline_timer/overload3.html" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">basic_deadline_timer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_deadline_timer/overload3.html" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_deadline_timer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload1.html
new file mode 100644
index 0000000000..18db8298e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer">
+<link rel="prev" href="../basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">basic_deadline_timer::basic_deadline_timer
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_deadline_timer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a timer without setting an expiry time. The
+ <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ functions must be called to set an expiry time before the timer can be
+ waited on.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the timer will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload2.html
new file mode 100644
index 0000000000..e98d88b396
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload2.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::basic_deadline_timer (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">basic_deadline_timer::basic_deadline_timer
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_deadline_timer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a timer and sets the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the timer will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer, expressed as an absolute
+ time.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload3.html b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload3.html
new file mode 100644
index 0000000000..102767c71e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/basic_deadline_timer/overload3.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer">
+<link rel="prev" href="overload2.html" title="basic_deadline_timer::basic_deadline_timer (2 of 3 overloads)">
+<link rel="next" href="../cancel.html" title="basic_deadline_timer::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3"></a><a class="link" href="overload3.html" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">basic_deadline_timer::basic_deadline_timer
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_deadline_timer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a timer and sets the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.basic_deadline_timer.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the timer will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer, relative to now.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/cancel.html b/doc/html/boost_asio/reference/basic_deadline_timer/cancel.html
new file mode 100644
index 0000000000..e06e7a62e1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="basic_deadline_timer/overload3.html" title="basic_deadline_timer::basic_deadline_timer (3 of 3 overloads)">
+<link rel="next" href="cancel/overload1.html" title="basic_deadline_timer::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_deadline_timer/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.cancel"></a><a class="link" href="cancel.html" title="basic_deadline_timer::cancel">basic_deadline_timer::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp98992368"></a>
+Cancel any asynchronous operations that are waiting
+ on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel/overload1.html" title="basic_deadline_timer::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_deadline_timer::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel/overload2.html" title="basic_deadline_timer::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_deadline_timer::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_deadline_timer/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload1.html
new file mode 100644
index 0000000000..31a6ad79e9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload1.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_deadline_timer::cancel">
+<link rel="prev" href="../cancel.html" title="basic_deadline_timer::cancel">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::cancel (1 of 2 overloads)">basic_deadline_timer::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous wait
+ operations against the timer. The handler for each cancelled operation
+ will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.cancel.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload2.html
new file mode 100644
index 0000000000..c1c85b0449
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/cancel/overload2.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_deadline_timer::cancel">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::cancel (1 of 2 overloads)">
+<link rel="next" href="../cancel_one.html" title="basic_deadline_timer::cancel_one">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::cancel (2 of 2 overloads)">basic_deadline_timer::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous wait
+ operations against the timer. The handler for each cancelled operation
+ will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.cancel.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one.html b/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one.html
new file mode 100644
index 0000000000..06aa24d91c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::cancel_one</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="cancel/overload2.html" title="basic_deadline_timer::cancel (2 of 2 overloads)">
+<link rel="next" href="cancel_one/overload1.html" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one"></a><a class="link" href="cancel_one.html" title="basic_deadline_timer::cancel_one">basic_deadline_timer::cancel_one</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99070928"></a>
+Cancels one asynchronous operation that is
+ waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel_one/overload1.html" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">cancel_one</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel_one/overload1.html" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel_one/overload2.html" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">cancel_one</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel_one/overload2.html" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload1.html
new file mode 100644
index 0000000000..afac0dda58
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload1.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::cancel_one (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel_one.html" title="basic_deadline_timer::cancel_one">
+<link rel="prev" href="../cancel_one.html" title="basic_deadline_timer::cancel_one">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">basic_deadline_timer::cancel_one
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">();</span>
+</pre>
+<p>
+ This function forces the completion of one pending asynchronous wait
+ operation against the timer. Handlers are cancelled in FIFO order. The
+ handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled. That is, either
+ 0 or 1.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="../cancel_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload2.html
new file mode 100644
index 0000000000..2f774653f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/cancel_one/overload2.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::cancel_one (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel_one.html" title="basic_deadline_timer::cancel_one">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::cancel_one (1 of 2 overloads)">
+<link rel="next" href="../duration_type.html" title="basic_deadline_timer::duration_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../duration_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">basic_deadline_timer::cancel_one
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function forces the completion of one pending asynchronous wait
+ operation against the timer. Handlers are cancelled in FIFO order. The
+ handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled. That is, either
+ 0 or 1.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.cancel_one.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.cancel_one.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../duration_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/duration_type.html b/doc/html/boost_asio/reference/basic_deadline_timer/duration_type.html
new file mode 100644
index 0000000000..0f0c208aa3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/duration_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::duration_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="cancel_one/overload2.html" title="basic_deadline_timer::cancel_one (2 of 2 overloads)">
+<link rel="next" href="expires_at.html" title="basic_deadline_timer::expires_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.duration_type"></a><a class="link" href="duration_type.html" title="basic_deadline_timer::duration_type">basic_deadline_timer::duration_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp68739632"></a>
+The duration type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.duration_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.duration_type.requirements"></a></span><a class="link" href="duration_type.html#boost_asio.reference.basic_deadline_timer.duration_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="cancel_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_at.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at.html
new file mode 100644
index 0000000000..9aaa7d32a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="duration_type.html" title="basic_deadline_timer::duration_type">
+<link rel="next" href="expires_at/overload1.html" title="basic_deadline_timer::expires_at (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_at"></a><a class="link" href="expires_at.html" title="basic_deadline_timer::expires_at">basic_deadline_timer::expires_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99248336"></a>
+Get the timer's expiry time as an absolute
+ time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="expires_at/overload1.html" title="basic_deadline_timer::expires_at (1 of 3 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload1.html" title="basic_deadline_timer::expires_at (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_at/overload2.html" title="basic_deadline_timer::expires_at (2 of 3 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload2.html" title="basic_deadline_timer::expires_at (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_at/overload3.html" title="basic_deadline_timer::expires_at (3 of 3 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload3.html" title="basic_deadline_timer::expires_at (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload1.html
new file mode 100644
index 0000000000..2f26acd1cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_at (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_deadline_timer::expires_at">
+<link rel="prev" href="../expires_at.html" title="basic_deadline_timer::expires_at">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::expires_at (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::expires_at (1 of 3 overloads)">basic_deadline_timer::expires_at
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function may be used to obtain the timer's current expiry time.
+ Whether the timer has expired or not does not affect this value.
+ </p>
+</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 &#169; 2003-2017 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="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload2.html
new file mode 100644
index 0000000000..43f07dae87
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload2.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_at (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_deadline_timer::expires_at">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::expires_at (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_deadline_timer::expires_at (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::expires_at (2 of 3 overloads)">basic_deadline_timer::expires_at
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_at.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload3.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload3.html
new file mode 100644
index 0000000000..91173b9f88
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_at/overload3.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_at (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_deadline_timer::expires_at">
+<link rel="prev" href="overload2.html" title="basic_deadline_timer::expires_at (2 of 3 overloads)">
+<link rel="next" href="../expires_from_now.html" title="basic_deadline_timer::expires_from_now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3"></a><a class="link" href="overload3.html" title="basic_deadline_timer::expires_at (3 of 3 overloads)">basic_deadline_timer::expires_at
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_at.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.expires_at.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now.html
new file mode 100644
index 0000000000..2eb7da0b13
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_from_now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="expires_at/overload3.html" title="basic_deadline_timer::expires_at (3 of 3 overloads)">
+<link rel="next" href="expires_from_now/overload1.html" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_at/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now"></a><a class="link" href="expires_from_now.html" title="basic_deadline_timer::expires_from_now">basic_deadline_timer::expires_from_now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99355760"></a>
+Get the timer's expiry time relative
+ to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="expires_from_now/overload1.html" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload1.html" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_from_now/overload2.html" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload2.html" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_from_now/overload3.html" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload3.html" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_at/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload1.html
new file mode 100644
index 0000000000..9bc551a4b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_from_now (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_deadline_timer::expires_from_now">
+<link rel="prev" href="../expires_from_now.html" title="basic_deadline_timer::expires_from_now">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">basic_deadline_timer::expires_from_now
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function may be used to obtain the timer's current expiry time.
+ Whether the timer has expired or not does not affect this value.
+ </p>
+</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 &#169; 2003-2017 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="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload2.html
new file mode 100644
index 0000000000..c61e44062d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload2.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_from_now (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_deadline_timer::expires_from_now">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::expires_from_now (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">basic_deadline_timer::expires_from_now
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload3.html b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload3.html
new file mode 100644
index 0000000000..b4618700cf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/expires_from_now/overload3.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::expires_from_now (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_deadline_timer::expires_from_now">
+<link rel="prev" href="overload2.html" title="basic_deadline_timer::expires_from_now (2 of 3 overloads)">
+<link rel="next" href="../get_implementation.html" title="basic_deadline_timer::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3"></a><a class="link" href="overload3.html" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">basic_deadline_timer::expires_from_now
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_deadline_timer.expires_from_now.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation.html
new file mode 100644
index 0000000000..5ef545c01c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="expires_from_now/overload3.html" title="basic_deadline_timer::expires_from_now (3 of 3 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_from_now/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_deadline_timer::get_implementation">basic_deadline_timer::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99456816"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_from_now/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload1.html
new file mode 100644
index 0000000000..7641c6ef20
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_deadline_timer::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_deadline_timer::get_implementation">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">basic_deadline_timer::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload2.html
new file mode 100644
index 0000000000..6a980288f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_deadline_timer::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_deadline_timer::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">basic_deadline_timer::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_io_service.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_io_service.html
new file mode 100644
index 0000000000..56ec6007c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_deadline_timer::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="basic_deadline_timer::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_deadline_timer::get_io_service">basic_deadline_timer::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99483760"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_deadline_timer.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_service.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_service.html
new file mode 100644
index 0000000000..1ccdf477b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="get_io_service.html" title="basic_deadline_timer::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="basic_deadline_timer::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_service"></a><a class="link" href="get_service.html" title="basic_deadline_timer::get_service">basic_deadline_timer::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99498816"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_deadline_timer::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_deadline_timer::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_deadline_timer::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_deadline_timer::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload1.html
new file mode 100644
index 0000000000..0626b1b132
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_deadline_timer::get_service">
+<link rel="prev" href="../get_service.html" title="basic_deadline_timer::get_service">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::get_service (1 of 2 overloads)">basic_deadline_timer::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload2.html
new file mode 100644
index 0000000000..a5869ded11
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_deadline_timer::get_service">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_deadline_timer::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::get_service (2 of 2 overloads)">basic_deadline_timer::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/implementation.html b/doc/html/boost_asio/reference/basic_deadline_timer/implementation.html
new file mode 100644
index 0000000000..62123dd530
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="get_service/overload2.html" title="basic_deadline_timer::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_deadline_timer::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.implementation"></a><a class="link" href="implementation.html" title="basic_deadline_timer::implementation">basic_deadline_timer::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99525632"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/implementation_type.html b/doc/html/boost_asio/reference/basic_deadline_timer/implementation_type.html
new file mode 100644
index 0000000000..60526dbbe7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="implementation.html" title="basic_deadline_timer::implementation">
+<link rel="next" href="service.html" title="basic_deadline_timer::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_deadline_timer::implementation_type">basic_deadline_timer::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99533296"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_deadline_timer.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/service.html b/doc/html/boost_asio/reference/basic_deadline_timer/service.html
new file mode 100644
index 0000000000..a1f2978b1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="implementation_type.html" title="basic_deadline_timer::implementation_type">
+<link rel="next" href="service_type.html" title="basic_deadline_timer::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.service"></a><a class="link" href="service.html" title="basic_deadline_timer::service">basic_deadline_timer::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99545696"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_deadline_timer.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/service_type.html b/doc/html/boost_asio/reference/basic_deadline_timer/service_type.html
new file mode 100644
index 0000000000..fe33a90e28
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="service.html" title="basic_deadline_timer::service">
+<link rel="next" href="time_type.html" title="basic_deadline_timer::time_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.service_type"></a><a class="link" href="service_type.html" title="basic_deadline_timer::service_type">basic_deadline_timer::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99556224"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimerService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_deadline_timer.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/time_type.html b/doc/html/boost_asio/reference/basic_deadline_timer/time_type.html
new file mode 100644
index 0000000000..c010914f0b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/time_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::time_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="service_type.html" title="basic_deadline_timer::service_type">
+<link rel="next" href="traits_type.html" title="basic_deadline_timer::traits_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.time_type"></a><a class="link" href="time_type.html" title="basic_deadline_timer::time_type">basic_deadline_timer::time_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99566928"></a>
+The time type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.time_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.time_type.requirements"></a></span><a class="link" href="time_type.html#boost_asio.reference.basic_deadline_timer.time_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/traits_type.html b/doc/html/boost_asio/reference/basic_deadline_timer/traits_type.html
new file mode 100644
index 0000000000..30046b4ebd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/traits_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::traits_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="time_type.html" title="basic_deadline_timer::time_type">
+<link rel="next" href="wait.html" title="basic_deadline_timer::wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.traits_type"></a><a class="link" href="traits_type.html" title="basic_deadline_timer::traits_type">basic_deadline_timer::traits_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99578256"></a>
+The time traits type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.traits_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.traits_type.requirements"></a></span><a class="link" href="traits_type.html#boost_asio.reference.basic_deadline_timer.traits_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/wait.html b/doc/html/boost_asio/reference/basic_deadline_timer/wait.html
new file mode 100644
index 0000000000..f10971e4e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/wait.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_deadline_timer.html" title="basic_deadline_timer">
+<link rel="prev" href="traits_type.html" title="basic_deadline_timer::traits_type">
+<link rel="next" href="wait/overload1.html" title="basic_deadline_timer::wait (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.wait"></a><a class="link" href="wait.html" title="basic_deadline_timer::wait">basic_deadline_timer::wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99588752"></a>
+Perform a blocking wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="wait/overload1.html" title="basic_deadline_timer::wait (1 of 2 overloads)">wait</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="wait/overload1.html" title="basic_deadline_timer::wait (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">void</span> <a class="link" href="wait/overload2.html" title="basic_deadline_timer::wait (2 of 2 overloads)">wait</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="wait/overload2.html" title="basic_deadline_timer::wait (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_deadline_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/wait/overload1.html b/doc/html/boost_asio/reference/basic_deadline_timer/wait/overload1.html
new file mode 100644
index 0000000000..1a33dcb0ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/wait/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::wait (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait.html" title="basic_deadline_timer::wait">
+<link rel="prev" href="../wait.html" title="basic_deadline_timer::wait">
+<link rel="next" href="overload2.html" title="basic_deadline_timer::wait (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../wait.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.wait.overload1"></a><a class="link" href="overload1.html" title="basic_deadline_timer::wait (1 of 2 overloads)">basic_deadline_timer::wait
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a blocking wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to wait for the timer to expire. This function
+ blocks and does not return until the timer has expired.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.wait.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.wait.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_deadline_timer.wait.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../wait.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_deadline_timer/wait/overload2.html b/doc/html/boost_asio/reference/basic_deadline_timer/wait/overload2.html
new file mode 100644
index 0000000000..c3a9ab2df8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_deadline_timer/wait/overload2.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_deadline_timer::wait (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait.html" title="basic_deadline_timer::wait">
+<link rel="prev" href="overload1.html" title="basic_deadline_timer::wait (1 of 2 overloads)">
+<link rel="next" href="../../basic_io_object.html" title="basic_io_object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_io_object.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_deadline_timer.wait.overload2"></a><a class="link" href="overload2.html" title="basic_deadline_timer::wait (2 of 2 overloads)">basic_deadline_timer::wait
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a blocking wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to wait for the timer to expire. This function
+ blocks and does not return until the timer has expired.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_deadline_timer.wait.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_deadline_timer.wait.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_deadline_timer.wait.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_io_object.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object.html b/doc/html/boost_asio/reference/basic_io_object.html
new file mode 100644
index 0000000000..38afb35a06
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object.html
@@ -0,0 +1,292 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_deadline_timer/wait/overload2.html" title="basic_deadline_timer::wait (2 of 2 overloads)">
+<link rel="next" href="basic_io_object/basic_io_object.html" title="basic_io_object::basic_io_object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_deadline_timer/wait/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_io_object/basic_io_object.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_io_object"></a><a class="link" href="basic_io_object.html" title="basic_io_object">basic_io_object</a>
+</h3></div></div></div>
+<p>
+ Base class for all I/O objects.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="IoObjectService.html" title="I/O object service requirements">IoObjectService</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_io_object</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_io_object.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.types"></a></span><a class="link" href="basic_io_object.html#boost_asio.reference.basic_io_object.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/implementation_type.html" title="basic_io_object::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/service_type.html" title="basic_io_object::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_io_object.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.member_functions"></a></span><a class="link" href="basic_io_object.html#boost_asio.reference.basic_io_object.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/get_io_service.html" title="basic_io_object::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_io_object.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.protected_member_functions"></a></span><a class="link" href="basic_io_object.html#boost_asio.reference.basic_io_object.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/basic_io_object.html" title="basic_io_object::basic_io_object"><span class="bold"><strong>basic_io_object</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_io_object.
+ </p>
+ <p>
+ Move-construct a basic_io_object.
+ </p>
+ <p>
+ Perform a converting move-construction of a basic_io_object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/get_implementation.html" title="basic_io_object::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/get_service.html" title="basic_io_object::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/operator_eq_.html" title="basic_io_object::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_io_object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/_basic_io_object.html" title="basic_io_object::~basic_io_object"><span class="bold"><strong>~basic_io_object</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_io_object.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.protected_data_members"></a></span><a class="link" href="basic_io_object.html#boost_asio.reference.basic_io_object.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/implementation.html" title="basic_io_object::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_io_object/service.html" title="basic_io_object::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_io_object.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.remarks"></a></span><a class="link" href="basic_io_object.html#boost_asio.reference.basic_io_object.remarks">Remarks</a>
+ </h5>
+<p>
+ All I/O objects are non-copyable. However, when using C++0x, certain I/O
+ objects do support move construction and move assignment.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_io_object.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.requirements"></a></span><a class="link" href="basic_io_object.html#boost_asio.reference.basic_io_object.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_io_object.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_deadline_timer/wait/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_io_object/basic_io_object.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/_basic_io_object.html b/doc/html/boost_asio/reference/basic_io_object/_basic_io_object.html
new file mode 100644
index 0000000000..f05a176b3c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/_basic_io_object.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::~basic_io_object</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="service_type.html" title="basic_io_object::service_type">
+<link rel="next" href="../basic_raw_socket.html" title="basic_raw_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object._basic_io_object"></a><a class="link" href="_basic_io_object.html" title="basic_io_object::~basic_io_object">basic_io_object::~basic_io_object</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99938608"></a>
+Protected destructor to prevent deletion
+ through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_io_object</span><span class="special">();</span>
+</pre>
+<p>
+ Performs:
+ </p>
+<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">get_implementation</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/basic_io_object.html b/doc/html/boost_asio/reference/basic_io_object/basic_io_object.html
new file mode 100644
index 0000000000..f61c92eed9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/basic_io_object.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::basic_io_object</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="../basic_io_object.html" title="basic_io_object">
+<link rel="next" href="basic_io_object/overload1.html" title="basic_io_object::basic_io_object (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_io_object.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_io_object/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.basic_io_object"></a><a class="link" href="basic_io_object.html" title="basic_io_object::basic_io_object">basic_io_object::basic_io_object</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99707504"></a>
+Construct a <a class="link" href="../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_io_object/overload1.html" title="basic_io_object::basic_io_object (1 of 3 overloads)">basic_io_object</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_io_object/overload1.html" title="basic_io_object::basic_io_object (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_io_object/overload2.html" title="basic_io_object::basic_io_object (2 of 3 overloads)">basic_io_object</a><span class="special">(</span>
+ <span class="identifier">basic_io_object</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_io_object/overload2.html" title="basic_io_object::basic_io_object (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Perform a converting move-construction of a <a class="link" href="../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../../">IoObjectService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_io_object/overload3.html" title="basic_io_object::basic_io_object (3 of 3 overloads)">basic_io_object</a><span class="special">(</span>
+ <span class="identifier">IoObjectService1</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">IoObjectService1</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_implementation</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_io_object/overload3.html" title="basic_io_object::basic_io_object (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_io_object.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_io_object/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload1.html b/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload1.html
new file mode 100644
index 0000000000..681864d328
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload1.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::basic_io_object (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object::basic_io_object">
+<link rel="prev" href="../basic_io_object.html" title="basic_io_object::basic_io_object">
+<link rel="next" href="overload2.html" title="basic_io_object::basic_io_object (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.basic_io_object.overload1"></a><a class="link" href="overload1.html" title="basic_io_object::basic_io_object (1 of 3 overloads)">basic_io_object::basic_io_object
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_io_object</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ Performs:
+ </p>
+<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">construct</span><span class="special">(</span><span class="identifier">get_implementation</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_io_object.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload2.html b/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload2.html
new file mode 100644
index 0000000000..ea66309bf5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload2.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::basic_io_object (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object::basic_io_object">
+<link rel="prev" href="overload1.html" title="basic_io_object::basic_io_object (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_io_object::basic_io_object (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.basic_io_object.overload2"></a><a class="link" href="overload2.html" title="basic_io_object::basic_io_object (2 of 3 overloads)">basic_io_object::basic_io_object
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_io_object</span><span class="special">(</span>
+ <span class="identifier">basic_io_object</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ Performs:
+ </p>
+<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">get_implementation</span><span class="special">(),</span> <span class="identifier">other</span><span class="special">.</span><span class="identifier">get_implementation</span><span class="special">());</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_io_object.basic_io_object.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.basic_io_object.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_io_object.basic_io_object.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that support movability,
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload3.html b/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload3.html
new file mode 100644
index 0000000000..52748cbc4d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/basic_io_object/overload3.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::basic_io_object (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object::basic_io_object">
+<link rel="prev" href="overload2.html" title="basic_io_object::basic_io_object (2 of 3 overloads)">
+<link rel="next" href="../get_implementation.html" title="basic_io_object::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.basic_io_object.overload3"></a><a class="link" href="overload3.html" title="basic_io_object::basic_io_object (3 of 3 overloads)">basic_io_object::basic_io_object
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a converting move-construction of a <a class="link" href="../../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../../../">IoObjectService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_io_object</span><span class="special">(</span>
+ <span class="identifier">IoObjectService1</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">IoObjectService1</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_implementation</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_implementation.html b/doc/html/boost_asio/reference/basic_io_object/get_implementation.html
new file mode 100644
index 0000000000..346e8101e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="basic_io_object/overload3.html" title="basic_io_object::basic_io_object (3 of 3 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="basic_io_object::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_io_object/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_io_object::get_implementation">basic_io_object::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99796464"></a>
+Get the underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_io_object::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_io_object::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_io_object::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_io_object::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_io_object/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_io_object/get_implementation/overload1.html
new file mode 100644
index 0000000000..767b3016d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_implementation/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_io_object::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_io_object::get_implementation">
+<link rel="next" href="overload2.html" title="basic_io_object::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_io_object::get_implementation (1 of 2 overloads)">basic_io_object::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_io_object/get_implementation/overload2.html
new file mode 100644
index 0000000000..fc2e6540e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_implementation/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_io_object::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_io_object::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_io_object::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_io_object::get_implementation (2 of 2 overloads)">basic_io_object::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_io_service.html b/doc/html/boost_asio/reference/basic_io_object/get_io_service.html
new file mode 100644
index 0000000000..439d03405d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_io_service.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_io_object::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="basic_io_object::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_io_object::get_io_service">basic_io_object::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99824128"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_io_object.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_io_object.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_service.html b/doc/html/boost_asio/reference/basic_io_object/get_service.html
new file mode 100644
index 0000000000..4ba9d02d39
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="get_io_service.html" title="basic_io_object::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="basic_io_object::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.get_service"></a><a class="link" href="get_service.html" title="basic_io_object::get_service">basic_io_object::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99842320"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_io_object::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_io_object::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_io_object::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_io_object::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_service/overload1.html b/doc/html/boost_asio/reference/basic_io_object/get_service/overload1.html
new file mode 100644
index 0000000000..c999afafbe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_service/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_io_object::get_service">
+<link rel="prev" href="../get_service.html" title="basic_io_object::get_service">
+<link rel="next" href="overload2.html" title="basic_io_object::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_io_object::get_service (1 of 2 overloads)">basic_io_object::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/get_service/overload2.html b/doc/html/boost_asio/reference/basic_io_object/get_service/overload2.html
new file mode 100644
index 0000000000..c3d8ccfa86
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/get_service/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_io_object::get_service">
+<link rel="prev" href="overload1.html" title="basic_io_object::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_io_object::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_io_object.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_io_object::get_service (2 of 2 overloads)">basic_io_object::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/implementation.html b/doc/html/boost_asio/reference/basic_io_object/implementation.html
new file mode 100644
index 0000000000..3e000ebc2b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/implementation.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="get_service/overload2.html" title="basic_io_object::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_io_object::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.implementation"></a><a class="link" href="implementation.html" title="basic_io_object::implementation">basic_io_object::implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99869696"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/implementation_type.html b/doc/html/boost_asio/reference/basic_io_object/implementation_type.html
new file mode 100644
index 0000000000..68566a45f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="implementation.html" title="basic_io_object::implementation">
+<link rel="next" href="operator_eq_.html" title="basic_io_object::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_io_object::implementation_type">basic_io_object::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99877600"></a>
+The underlying implementation type of
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_io_object.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_io_object.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_io_object.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/operator_eq_.html b/doc/html/boost_asio/reference/basic_io_object/operator_eq_.html
new file mode 100644
index 0000000000..32c705d02f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/operator_eq_.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="implementation_type.html" title="basic_io_object::implementation_type">
+<link rel="next" href="service.html" title="basic_io_object::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_io_object::operator=">basic_io_object::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99891104"></a>
+Move-assign a <a class="link" href="../basic_io_object.html" title="basic_io_object"><code class="computeroutput"><span class="identifier">basic_io_object</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_io_object</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_io_object</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ Performs:
+ </p>
+<pre class="programlisting"><span class="identifier">get_service</span><span class="special">().</span><span class="identifier">move_assign</span><span class="special">(</span><span class="identifier">get_implementation</span><span class="special">(),</span>
+ <span class="identifier">other</span><span class="special">.</span><span class="identifier">get_service</span><span class="special">(),</span> <span class="identifier">other</span><span class="special">.</span><span class="identifier">get_implementation</span><span class="special">());</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_io_object.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.basic_io_object.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that support movability,
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/service.html b/doc/html/boost_asio/reference/basic_io_object/service.html
new file mode 100644
index 0000000000..4e7101d657
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/service.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="operator_eq_.html" title="basic_io_object::operator=">
+<link rel="next" href="service_type.html" title="basic_io_object::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.service"></a><a class="link" href="service.html" title="basic_io_object::service">basic_io_object::service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99914496"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_io_object.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_io_object.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_io_object/service_type.html b/doc/html/boost_asio/reference/basic_io_object/service_type.html
new file mode 100644
index 0000000000..8078618f6a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_io_object/service_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_io_object::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_io_object.html" title="basic_io_object">
+<link rel="prev" href="service.html" title="basic_io_object::service">
+<link rel="next" href="_basic_io_object.html" title="basic_io_object::~basic_io_object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_io_object.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_io_object.service_type"></a><a class="link" href="service_type.html" title="basic_io_object::service_type">basic_io_object::service_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99926192"></a>
+The type of the service that will be used to
+ provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">IoObjectService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_io_object.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_io_object.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_io_object.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_io_object.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_io_object.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_io_object.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket.html b/doc/html/boost_asio/reference/basic_raw_socket.html
new file mode 100644
index 0000000000..f9ab6f481b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket.html
@@ -0,0 +1,993 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_io_object/_basic_io_object.html" title="basic_io_object::~basic_io_object">
+<link rel="next" href="basic_raw_socket/assign.html" title="basic_raw_socket::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_io_object/_basic_io_object.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_raw_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_raw_socket"></a><a class="link" href="basic_raw_socket.html" title="basic_raw_socket">basic_raw_socket</a>
+</h3></div></div></div>
+<p>
+ Provides raw-oriented socket functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="RawSocketService.html" title="Raw socket service requirements">RawSocketService</a> <span class="special">=</span> <span class="identifier">raw_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_raw_socket</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">RawSocketService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.types"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/broadcast.html" title="basic_raw_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/bytes_readable.html" title="basic_raw_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/debug.html" title="basic_raw_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/do_not_route.html" title="basic_raw_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/enable_connection_aborted.html" title="basic_raw_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/endpoint_type.html" title="basic_raw_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/implementation_type.html" title="basic_raw_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/keep_alive.html" title="basic_raw_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/linger.html" title="basic_raw_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/lowest_layer_type.html" title="basic_raw_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/message_flags.html" title="basic_raw_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/native_handle_type.html" title="basic_raw_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/native_type.html" title="basic_raw_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/non_blocking_io.html" title="basic_raw_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/protocol_type.html" title="basic_raw_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/receive_buffer_size.html" title="basic_raw_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/receive_low_watermark.html" title="basic_raw_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/reuse_address.html" title="basic_raw_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/send_buffer_size.html" title="basic_raw_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/send_low_watermark.html" title="basic_raw_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/service_type.html" title="basic_raw_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/shutdown_type.html" title="basic_raw_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.member_functions"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/assign.html" title="basic_raw_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/async_connect.html" title="basic_raw_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/async_receive.html" title="basic_raw_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/async_receive_from.html" title="basic_raw_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/async_send.html" title="basic_raw_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/async_send_to.html" title="basic_raw_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/at_mark.html" title="basic_raw_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/available.html" title="basic_raw_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket"><span class="bold"><strong>basic_raw_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_raw_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_raw_socket.
+ </p>
+ <p>
+ Construct a basic_raw_socket, opening it and binding it to the
+ given local endpoint.
+ </p>
+ <p>
+ Construct a basic_raw_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_raw_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_raw_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/bind.html" title="basic_raw_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/cancel.html" title="basic_raw_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/close.html" title="basic_raw_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/connect.html" title="basic_raw_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/get_io_service.html" title="basic_raw_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/get_option.html" title="basic_raw_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/io_control.html" title="basic_raw_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/is_open.html" title="basic_raw_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/local_endpoint.html" title="basic_raw_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/lowest_layer.html" title="basic_raw_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/native.html" title="basic_raw_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/native_handle.html" title="basic_raw_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/native_non_blocking.html" title="basic_raw_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/non_blocking.html" title="basic_raw_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/open.html" title="basic_raw_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/operator_eq_.html" title="basic_raw_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_raw_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_raw_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/receive.html" title="basic_raw_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/receive_from.html" title="basic_raw_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/remote_endpoint.html" title="basic_raw_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/send.html" title="basic_raw_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/send_to.html" title="basic_raw_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send raw data to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/set_option.html" title="basic_raw_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/shutdown.html" title="basic_raw_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.protected_member_functions"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/get_implementation.html" title="basic_raw_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/get_service.html" title="basic_raw_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.data_members"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/max_connections.html" title="basic_raw_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/message_do_not_route.html" title="basic_raw_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/message_end_of_record.html" title="basic_raw_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/message_out_of_band.html" title="basic_raw_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/message_peek.html" title="basic_raw_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.protected_data_members"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/implementation.html" title="basic_raw_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_raw_socket/service.html" title="basic_raw_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>
+ class template provides asynchronous and blocking raw-oriented socket functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.thread_safety"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_raw_socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.requirements"></a></span><a class="link" href="basic_raw_socket.html#boost_asio.reference.basic_raw_socket.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_io_object/_basic_io_object.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_raw_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/assign.html b/doc/html/boost_asio/reference/basic_raw_socket/assign.html
new file mode 100644
index 0000000000..56fa2c17b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="next" href="assign/overload1.html" title="basic_raw_socket::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.assign"></a><a class="link" href="assign.html" title="basic_raw_socket::assign">basic_raw_socket::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp100232448"></a>
+Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_raw_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_raw_socket::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_raw_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_raw_socket::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_raw_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/assign/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/assign/overload1.html
new file mode 100644
index 0000000000..3560c5e19b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/assign/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_raw_socket::assign">
+<link rel="prev" href="../assign.html" title="basic_raw_socket::assign">
+<link rel="next" href="overload2.html" title="basic_raw_socket::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.assign.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::assign (1 of 2 overloads)">basic_raw_socket::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/assign/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/assign/overload2.html
new file mode 100644
index 0000000000..b7db953271
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/assign/overload2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_raw_socket::assign">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::assign (1 of 2 overloads)">
+<link rel="next" href="../async_connect.html" title="basic_raw_socket::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.assign.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::assign (2 of 2 overloads)">basic_raw_socket::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_connect.html b/doc/html/boost_asio/reference/basic_raw_socket/async_connect.html
new file mode 100644
index 0000000000..382e9d02f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_connect.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="assign/overload2.html" title="basic_raw_socket::assign (2 of 2 overloads)">
+<link rel="next" href="async_receive.html" title="basic_raw_socket::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_connect"></a><a class="link" href="async_connect.html" title="basic_raw_socket::async_connect">basic_raw_socket::async_connect</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp100295408"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously connect a socket to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the connect
+ fails, and the socket was automatically opened, the socket is not returned
+ to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_connect.parameters"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_raw_socket.async_connect.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected. Copies
+ will be made of the endpoint object as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connection operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_connect.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_connect.example"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_raw_socket.async_connect.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Connect succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_receive.html b/doc/html/boost_asio/reference/basic_raw_socket/async_receive.html
new file mode 100644
index 0000000000..d52eae4ffe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_receive.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="async_connect.html" title="basic_raw_socket::async_connect">
+<link rel="next" href="async_receive/overload1.html" title="basic_raw_socket::async_receive (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_receive"></a><a class="link" href="async_receive.html" title="basic_raw_socket::async_receive">basic_raw_socket::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp100375488"></a>
+Start an asynchronous receive on a connected
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload1.html" title="basic_raw_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload1.html" title="basic_raw_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload2.html" title="basic_raw_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload2.html" title="basic_raw_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload1.html
new file mode 100644
index 0000000000..cae0574afa
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_receive (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_raw_socket::async_receive">
+<link rel="prev" href="../async_receive.html" title="basic_raw_socket::async_receive">
+<link rel="next" href="overload2.html" title="basic_raw_socket::async_receive (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::async_receive (1 of 2 overloads)">basic_raw_socket::async_receive
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the raw socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_receive.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_receive operation can only be used with a connected socket.
+ Use the async_receive_from function to receive data on an unconnected
+ raw socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload2.html
new file mode 100644
index 0000000000..edb12e7c37
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_receive/overload2.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_receive (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_raw_socket::async_receive">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::async_receive (1 of 2 overloads)">
+<link rel="next" href="../async_receive_from.html" title="basic_raw_socket::async_receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::async_receive (2 of 2 overloads)">basic_raw_socket::async_receive
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the raw socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.async_receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.async_receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_receive operation can only be used with a connected socket.
+ Use the async_receive_from function to receive data on an unconnected
+ raw socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from.html b/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from.html
new file mode 100644
index 0000000000..7c0dc8d1e4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="async_receive/overload2.html" title="basic_raw_socket::async_receive (2 of 2 overloads)">
+<link rel="next" href="async_receive_from/overload1.html" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_receive_from"></a><a class="link" href="async_receive_from.html" title="basic_raw_socket::async_receive_from">basic_raw_socket::async_receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp100523184"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive_from/overload1.html" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">async_receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive_from/overload1.html" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive_from/overload2.html" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">async_receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive_from/overload2.html" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload1.html
new file mode 100644
index 0000000000..f7ea0d0848
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_receive_from (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive_from.html" title="basic_raw_socket::async_receive_from">
+<link rel="prev" href="../async_receive_from.html" title="basic_raw_socket::async_receive_from">
+<link rel="next" href="overload2.html" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">basic_raw_socket::async_receive_from
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive raw data. The function
+ call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the data. Ownership of the sender_endpoint object is retained
+ by the caller, which must guarantee that it is valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">sender_endpoint</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload2.html
new file mode 100644
index 0000000000..0be66b587e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_receive_from/overload2.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_receive_from (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive_from.html" title="basic_raw_socket::async_receive_from">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::async_receive_from (1 of 2 overloads)">
+<link rel="next" href="../async_send.html" title="basic_raw_socket::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">basic_raw_socket::async_receive_from
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive raw data. The function
+ call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_receive_from.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.async_receive_from.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the data. Ownership of the sender_endpoint object is retained
+ by the caller, which must guarantee that it is valid until the
+ handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_send.html b/doc/html/boost_asio/reference/basic_raw_socket/async_send.html
new file mode 100644
index 0000000000..b51119cd8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_send.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="async_receive_from/overload2.html" title="basic_raw_socket::async_receive_from (2 of 2 overloads)">
+<link rel="next" href="async_send/overload1.html" title="basic_raw_socket::async_send (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive_from/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_send"></a><a class="link" href="async_send.html" title="basic_raw_socket::async_send">basic_raw_socket::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp100680784"></a>
+Start an asynchronous send on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send/overload1.html" title="basic_raw_socket::async_send (1 of 2 overloads)">async_send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send/overload1.html" title="basic_raw_socket::async_send (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send/overload2.html" title="basic_raw_socket::async_send (2 of 2 overloads)">async_send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send/overload2.html" title="basic_raw_socket::async_send (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive_from/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_send/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/async_send/overload1.html
new file mode 100644
index 0000000000..bc5ac69102
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_send/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_send (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send.html" title="basic_raw_socket::async_send">
+<link rel="prev" href="../async_send.html" title="basic_raw_socket::async_send">
+<link rel="next" href="overload2.html" title="basic_raw_socket::async_send (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::async_send (1 of 2 overloads)">basic_raw_socket::async_send
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the raw socket. The function call
+ will block until the data has been sent successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_send.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_send operation can only be used with a connected socket. Use
+ the async_send_to function to send data on an unconnected raw socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_send/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/async_send/overload2.html
new file mode 100644
index 0000000000..6d10d6aff6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_send/overload2.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_send (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send.html" title="basic_raw_socket::async_send">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::async_send (1 of 2 overloads)">
+<link rel="next" href="../async_send_to.html" title="basic_raw_socket::async_send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::async_send (2 of 2 overloads)">basic_raw_socket::async_send
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the raw socket. The function call
+ will block until the data has been sent successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.async_send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.async_send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_send operation can only be used with a connected socket. Use
+ the async_send_to function to send data on an unconnected raw socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send_to.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_send_to.html b/doc/html/boost_asio/reference/basic_raw_socket/async_send_to.html
new file mode 100644
index 0000000000..d0132828f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_send_to.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="async_send/overload2.html" title="basic_raw_socket::async_send (2 of 2 overloads)">
+<link rel="next" href="async_send_to/overload1.html" title="basic_raw_socket::async_send_to (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_send_to"></a><a class="link" href="async_send_to.html" title="basic_raw_socket::async_send_to">basic_raw_socket::async_send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp100828208"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send_to/overload1.html" title="basic_raw_socket::async_send_to (1 of 2 overloads)">async_send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send_to/overload1.html" title="basic_raw_socket::async_send_to (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send_to/overload2.html" title="basic_raw_socket::async_send_to (2 of 2 overloads)">async_send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send_to/overload2.html" title="basic_raw_socket::async_send_to (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload1.html
new file mode 100644
index 0000000000..6f22764510
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_send_to (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send_to.html" title="basic_raw_socket::async_send_to">
+<link rel="prev" href="../async_send_to.html" title="basic_raw_socket::async_send_to">
+<link rel="next" href="overload2.html" title="basic_raw_socket::async_send_to (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::async_send_to (1 of 2 overloads)">basic_raw_socket::async_send_to
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send raw data to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent. Copies will
+ be made of the endpoint as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send_to.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.async_send_to.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload2.html
new file mode 100644
index 0000000000..4b2cd75775
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/async_send_to/overload2.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::async_send_to (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send_to.html" title="basic_raw_socket::async_send_to">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::async_send_to (1 of 2 overloads)">
+<link rel="next" href="../at_mark.html" title="basic_raw_socket::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../at_mark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::async_send_to (2 of 2 overloads)">basic_raw_socket::async_send_to
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send raw data to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.async_send_to.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.async_send_to.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.async_send_to.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent. Copies will
+ be made of the endpoint as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../at_mark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/at_mark.html b/doc/html/boost_asio/reference/basic_raw_socket/at_mark.html
new file mode 100644
index 0000000000..54f40351d4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/at_mark.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="async_send_to/overload2.html" title="basic_raw_socket::async_send_to (2 of 2 overloads)">
+<link rel="next" href="at_mark/overload1.html" title="basic_raw_socket::at_mark (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send_to/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.at_mark"></a><a class="link" href="at_mark.html" title="basic_raw_socket::at_mark">basic_raw_socket::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101000720"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="at_mark/overload1.html" title="basic_raw_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload1.html" title="basic_raw_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">bool</span> <a class="link" href="at_mark/overload2.html" title="basic_raw_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload2.html" title="basic_raw_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_send_to/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload1.html
new file mode 100644
index 0000000000..b41caea56a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::at_mark (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_raw_socket::at_mark">
+<link rel="prev" href="../at_mark.html" title="basic_raw_socket::at_mark">
+<link rel="next" href="overload2.html" title="basic_raw_socket::at_mark (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.at_mark.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::at_mark (1 of 2 overloads)">basic_raw_socket::at_mark
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.at_mark.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.at_mark.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload2.html
new file mode 100644
index 0000000000..8dd1cf5694
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/at_mark/overload2.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::at_mark (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_raw_socket::at_mark">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::at_mark (1 of 2 overloads)">
+<link rel="next" href="../available.html" title="basic_raw_socket::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.at_mark.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::at_mark (2 of 2 overloads)">basic_raw_socket::at_mark
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.at_mark.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.at_mark.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.at_mark.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/available.html b/doc/html/boost_asio/reference/basic_raw_socket/available.html
new file mode 100644
index 0000000000..bd336b6b99
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/available.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="at_mark/overload2.html" title="basic_raw_socket::at_mark (2 of 2 overloads)">
+<link rel="next" href="available/overload1.html" title="basic_raw_socket::available (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.available"></a><a class="link" href="available.html" title="basic_raw_socket::available">basic_raw_socket::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101055648"></a>
+Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload1.html" title="basic_raw_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload1.html" title="basic_raw_socket::available (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload2.html" title="basic_raw_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload2.html" title="basic_raw_socket::available (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/available/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/available/overload1.html
new file mode 100644
index 0000000000..e4e1b6283f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/available/overload1.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::available (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_raw_socket::available">
+<link rel="prev" href="../available.html" title="basic_raw_socket::available">
+<link rel="next" href="overload2.html" title="basic_raw_socket::available (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.available.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::available (1 of 2 overloads)">basic_raw_socket::available
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.available.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.available.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.available.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.available.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/available/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/available/overload2.html
new file mode 100644
index 0000000000..3003a21008
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/available/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::available (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_raw_socket::available">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::available (1 of 2 overloads)">
+<link rel="next" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.available.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::available (2 of 2 overloads)">basic_raw_socket::available
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.available.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.available.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.available.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.available.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.available.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket.html
new file mode 100644
index 0000000000..f813fc3e8d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="available/overload2.html" title="basic_raw_socket::available (2 of 2 overloads)">
+<link rel="next" href="basic_raw_socket/overload1.html" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_raw_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket"></a><a class="link" href="basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">basic_raw_socket::basic_raw_socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101114640"></a>
+Construct a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_raw_socket/overload1.html" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_raw_socket/overload1.html" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct and open a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_raw_socket/overload2.html" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_raw_socket/overload2.html" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>, opening it and
+ binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_raw_socket/overload3.html" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_raw_socket/overload3.html" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> on an existing
+ native socket.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_raw_socket/overload4.html" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_raw_socket/overload4.html" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_raw_socket/overload5.html" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
+ <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_raw_socket/overload5.html" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../RawSocketService.html" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_raw_socket/overload6.html" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">basic_raw_socket</a><span class="special">(</span>
+ <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_raw_socket/overload6.html" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_raw_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload1.html
new file mode 100644
index 0000000000..3582ba6e0d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket (1 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="prev" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="next" href="overload2.html" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">basic_raw_socket::basic_raw_socket
+ (1 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a raw socket without opening it. The <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code>
+ function must be called before data can be sent or received on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the raw socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload2.html
new file mode 100644
index 0000000000..781214409d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket (2 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::basic_raw_socket (1 of 6 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">basic_raw_socket::basic_raw_socket
+ (2 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a raw socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the raw socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload3.html
new file mode 100644
index 0000000000..8f31ffeabe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload3.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket (3 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::basic_raw_socket (2 of 6 overloads)">
+<link rel="next" href="overload4.html" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">basic_raw_socket::basic_raw_socket
+ (3 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a>, opening it
+ and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a raw socket and automatically opens it bound
+ to the specified endpoint on the local machine. The protocol used is
+ the protocol associated with the given endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the raw socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the raw socket will be
+ bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload4.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload4.html
new file mode 100644
index 0000000000..b8cc43d65e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload4.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket (4 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="prev" href="overload3.html" title="basic_raw_socket::basic_raw_socket (3 of 6 overloads)">
+<link rel="next" href="overload5.html" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4"></a><a class="link" href="overload4.html" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">basic_raw_socket::basic_raw_socket
+ (4 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> on an existing
+ native socket.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a raw socket object to hold an existing native
+ socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the raw socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+<dt><span class="term">native_socket</span></dt>
+<dd><p>
+ The new underlying socket implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload5.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload5.html
new file mode 100644
index 0000000000..7c2bab39e7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload5.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket (5 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="prev" href="overload4.html" title="basic_raw_socket::basic_raw_socket (4 of 6 overloads)">
+<link rel="next" href="overload6.html" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5"></a><a class="link" href="overload5.html" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">basic_raw_socket::basic_raw_socket
+ (5 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span><span class="special">(</span>
+ <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a raw socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload6.html b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload6.html
new file mode 100644
index 0000000000..66cce6d129
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/basic_raw_socket/overload6.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::basic_raw_socket (6 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket">
+<link rel="prev" href="overload5.html" title="basic_raw_socket::basic_raw_socket (5 of 6 overloads)">
+<link rel="next" href="../bind.html" title="basic_raw_socket::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6"></a><a class="link" href="overload6.html" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">basic_raw_socket::basic_raw_socket
+ (6 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../RawSocketService.html" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_raw_socket</span><span class="special">(</span>
+ <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a raw socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_raw_socket.basic_raw_socket.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/bind.html b/doc/html/boost_asio/reference/basic_raw_socket/bind.html
new file mode 100644
index 0000000000..039a71fb40
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="basic_raw_socket/overload6.html" title="basic_raw_socket::basic_raw_socket (6 of 6 overloads)">
+<link rel="next" href="bind/overload1.html" title="basic_raw_socket::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_raw_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.bind"></a><a class="link" href="bind.html" title="basic_raw_socket::bind">basic_raw_socket::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101384592"></a>
+Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_raw_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_raw_socket::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_raw_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_raw_socket::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_raw_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/bind/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/bind/overload1.html
new file mode 100644
index 0000000000..dd2148fb9a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/bind/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_raw_socket::bind">
+<link rel="prev" href="../bind.html" title="basic_raw_socket::bind">
+<link rel="next" href="overload2.html" title="basic_raw_socket::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.bind.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::bind (1 of 2 overloads)">basic_raw_socket::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/bind/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/bind/overload2.html
new file mode 100644
index 0000000000..68492bbbce
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/bind/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_raw_socket::bind">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_raw_socket::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.bind.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::bind (2 of 2 overloads)">basic_raw_socket::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/broadcast.html b/doc/html/boost_asio/reference/basic_raw_socket/broadcast.html
new file mode 100644
index 0000000000..8804cf5a72
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/broadcast.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="bind/overload2.html" title="basic_raw_socket::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_raw_socket::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.broadcast"></a><a class="link" href="broadcast.html" title="basic_raw_socket::broadcast">basic_raw_socket::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp101527808"></a>
+Socket option to permit sending of broadcast messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_raw_socket.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_raw_socket.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/bytes_readable.html b/doc/html/boost_asio/reference/basic_raw_socket/bytes_readable.html
new file mode 100644
index 0000000000..e7e762acf1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="broadcast.html" title="basic_raw_socket::broadcast">
+<link rel="next" href="cancel.html" title="basic_raw_socket::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_raw_socket::bytes_readable">basic_raw_socket::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp101584704"></a>
+IO control command to get the amount of data
+ that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_raw_socket.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_raw_socket.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/cancel.html b/doc/html/boost_asio/reference/basic_raw_socket/cancel.html
new file mode 100644
index 0000000000..75f558442a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="bytes_readable.html" title="basic_raw_socket::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_raw_socket::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.cancel"></a><a class="link" href="cancel.html" title="basic_raw_socket::cancel">basic_raw_socket::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101623808"></a>
+Cancel all asynchronous operations associated with
+ the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_raw_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_raw_socket::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_raw_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_raw_socket::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/cancel/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/cancel/overload1.html
new file mode 100644
index 0000000000..d609ca3aac
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/cancel/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_raw_socket::cancel">
+<link rel="prev" href="../cancel.html" title="basic_raw_socket::cancel">
+<link rel="next" href="overload2.html" title="basic_raw_socket::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::cancel (1 of 2 overloads)">basic_raw_socket::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/cancel/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/cancel/overload2.html
new file mode 100644
index 0000000000..f09248e6d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/cancel/overload2.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_raw_socket::cancel">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_raw_socket::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::cancel (2 of 2 overloads)">basic_raw_socket::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/close.html b/doc/html/boost_asio/reference/basic_raw_socket/close.html
new file mode 100644
index 0000000000..a446a15d11
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="cancel/overload2.html" title="basic_raw_socket::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_raw_socket::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.close"></a><a class="link" href="close.html" title="basic_raw_socket::close">basic_raw_socket::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101715264"></a>
+Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_raw_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_raw_socket::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_raw_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_raw_socket::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/close/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/close/overload1.html
new file mode 100644
index 0000000000..439c2b8b1b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/close/overload1.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_raw_socket::close">
+<link rel="prev" href="../close.html" title="basic_raw_socket::close">
+<link rel="next" href="overload2.html" title="basic_raw_socket::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.close.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::close (1 of 2 overloads)">basic_raw_socket::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.close.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.close.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/close/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/close/overload2.html
new file mode 100644
index 0000000000..2dc3000aa9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/close/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_raw_socket::close">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::close (1 of 2 overloads)">
+<link rel="next" href="../connect.html" title="basic_raw_socket::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.close.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::close (2 of 2 overloads)">basic_raw_socket::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.close.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.close.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.close.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/connect.html b/doc/html/boost_asio/reference/basic_raw_socket/connect.html
new file mode 100644
index 0000000000..6fcf028338
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/connect.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="close/overload2.html" title="basic_raw_socket::close (2 of 2 overloads)">
+<link rel="next" href="connect/overload1.html" title="basic_raw_socket::connect (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.connect"></a><a class="link" href="connect.html" title="basic_raw_socket::connect">basic_raw_socket::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp101805456"></a>
+Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="connect/overload1.html" title="basic_raw_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="basic_raw_socket::connect (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="connect/overload2.html" title="basic_raw_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="basic_raw_socket::connect (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/connect/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/connect/overload1.html
new file mode 100644
index 0000000000..7e4b87b875
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/connect/overload1.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::connect (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_raw_socket::connect">
+<link rel="prev" href="../connect.html" title="basic_raw_socket::connect">
+<link rel="next" href="overload2.html" title="basic_raw_socket::connect (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.connect.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::connect (1 of 2 overloads)">basic_raw_socket::connect
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.connect.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/connect/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/connect/overload2.html
new file mode 100644
index 0000000000..3413bff8a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/connect/overload2.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::connect (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_raw_socket::connect">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::connect (1 of 2 overloads)">
+<link rel="next" href="../debug.html" title="basic_raw_socket::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.connect.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::connect (2 of 2 overloads)">basic_raw_socket::connect
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/debug.html b/doc/html/boost_asio/reference/basic_raw_socket/debug.html
new file mode 100644
index 0000000000..573093ce25
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="connect/overload2.html" title="basic_raw_socket::connect (2 of 2 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_raw_socket::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.debug"></a><a class="link" href="debug.html" title="basic_raw_socket::debug">basic_raw_socket::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp101941120"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_raw_socket.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_raw_socket.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/do_not_route.html b/doc/html/boost_asio/reference/basic_raw_socket/do_not_route.html
new file mode 100644
index 0000000000..f5f6b3dafc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="debug.html" title="basic_raw_socket::debug">
+<link rel="next" href="enable_connection_aborted.html" title="basic_raw_socket::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_raw_socket::do_not_route">basic_raw_socket::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp101998000"></a>
+Socket option to prevent routing, use local
+ interfaces only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_raw_socket.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_raw_socket.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_raw_socket/enable_connection_aborted.html
new file mode 100644
index 0000000000..93b16e8046
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="do_not_route.html" title="basic_raw_socket::do_not_route">
+<link rel="next" href="endpoint_type.html" title="basic_raw_socket::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_raw_socket::enable_connection_aborted">basic_raw_socket::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102054976"></a>
+Socket option to report aborted
+ connections on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_raw_socket.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/endpoint_type.html b/doc/html/boost_asio/reference/basic_raw_socket/endpoint_type.html
new file mode 100644
index 0000000000..b564ad0486
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_raw_socket::enable_connection_aborted">
+<link rel="next" href="get_implementation.html" title="basic_raw_socket::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_raw_socket::endpoint_type">basic_raw_socket::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102116176"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_raw_socket.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_implementation.html b/doc/html/boost_asio/reference/basic_raw_socket/get_implementation.html
new file mode 100644
index 0000000000..1128989064
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="endpoint_type.html" title="basic_raw_socket::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="basic_raw_socket::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_raw_socket::get_implementation">basic_raw_socket::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102129504"></a>
+Get the underlying implementation of
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_raw_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_raw_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_raw_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_raw_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload1.html
new file mode 100644
index 0000000000..1b9873df24
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_raw_socket::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_raw_socket::get_implementation">
+<link rel="next" href="overload2.html" title="basic_raw_socket::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::get_implementation (1 of 2 overloads)">basic_raw_socket::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload2.html
new file mode 100644
index 0000000000..7cfb6b7e0a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_raw_socket::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_raw_socket::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::get_implementation (2 of 2 overloads)">basic_raw_socket::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_io_service.html b/doc/html/boost_asio/reference/basic_raw_socket/get_io_service.html
new file mode 100644
index 0000000000..749ffe7be6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_raw_socket::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_raw_socket::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_raw_socket::get_io_service">basic_raw_socket::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102159408"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_raw_socket.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_option.html b/doc/html/boost_asio/reference/basic_raw_socket/get_option.html
new file mode 100644
index 0000000000..10ab2cf0bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="get_io_service.html" title="basic_raw_socket::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_raw_socket::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_option"></a><a class="link" href="get_option.html" title="basic_raw_socket::get_option">basic_raw_socket::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102177664"></a>
+Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_raw_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_raw_socket::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_raw_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_raw_socket::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_option/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/get_option/overload1.html
new file mode 100644
index 0000000000..08ff978fcb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_option/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_raw_socket::get_option">
+<link rel="prev" href="../get_option.html" title="basic_raw_socket::get_option">
+<link rel="next" href="overload2.html" title="basic_raw_socket::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::get_option (1 of 2 overloads)">basic_raw_socket::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_option/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/get_option/overload2.html
new file mode 100644
index 0000000000..ac36e499f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_option/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_raw_socket::get_option">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_raw_socket::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::get_option (2 of 2 overloads)">basic_raw_socket::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_service.html b/doc/html/boost_asio/reference/basic_raw_socket/get_service.html
new file mode 100644
index 0000000000..9bbd470a06
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="get_option/overload2.html" title="basic_raw_socket::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_raw_socket::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_service"></a><a class="link" href="get_service.html" title="basic_raw_socket::get_service">basic_raw_socket::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102317536"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_raw_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_raw_socket::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_raw_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_raw_socket::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload1.html
new file mode 100644
index 0000000000..4e8cec3f8e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_raw_socket::get_service">
+<link rel="prev" href="../get_service.html" title="basic_raw_socket::get_service">
+<link rel="next" href="overload2.html" title="basic_raw_socket::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::get_service (1 of 2 overloads)">basic_raw_socket::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload2.html
new file mode 100644
index 0000000000..2be5118691
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_raw_socket::get_service">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_raw_socket::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::get_service (2 of 2 overloads)">basic_raw_socket::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/implementation.html b/doc/html/boost_asio/reference/basic_raw_socket/implementation.html
new file mode 100644
index 0000000000..cd501cc27b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="get_service/overload2.html" title="basic_raw_socket::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_raw_socket::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.implementation"></a><a class="link" href="implementation.html" title="basic_raw_socket::implementation">basic_raw_socket::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102347392"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/implementation_type.html b/doc/html/boost_asio/reference/basic_raw_socket/implementation_type.html
new file mode 100644
index 0000000000..d140c60235
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="implementation.html" title="basic_raw_socket::implementation">
+<link rel="next" href="io_control.html" title="basic_raw_socket::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_raw_socket::implementation_type">basic_raw_socket::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102356048"></a>
+The underlying implementation type of
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_raw_socket.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/io_control.html b/doc/html/boost_asio/reference/basic_raw_socket/io_control.html
new file mode 100644
index 0000000000..c378e66938
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/io_control.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="implementation_type.html" title="basic_raw_socket::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_raw_socket::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.io_control"></a><a class="link" href="io_control.html" title="basic_raw_socket::io_control">basic_raw_socket::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102369488"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_raw_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_raw_socket::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_raw_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_raw_socket::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/io_control/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/io_control/overload1.html
new file mode 100644
index 0000000000..6be896793e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/io_control/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_raw_socket::io_control">
+<link rel="prev" href="../io_control.html" title="basic_raw_socket::io_control">
+<link rel="next" href="overload2.html" title="basic_raw_socket::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::io_control (1 of 2 overloads)">basic_raw_socket::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/io_control/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/io_control/overload2.html
new file mode 100644
index 0000000000..34b6b49323
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/io_control/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_raw_socket::io_control">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="basic_raw_socket::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::io_control (2 of 2 overloads)">basic_raw_socket::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/is_open.html b/doc/html/boost_asio/reference/basic_raw_socket/is_open.html
new file mode 100644
index 0000000000..31bac17285
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="io_control/overload2.html" title="basic_raw_socket::io_control (2 of 2 overloads)">
+<link rel="next" href="keep_alive.html" title="basic_raw_socket::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.is_open"></a><a class="link" href="is_open.html" title="basic_raw_socket::is_open">basic_raw_socket::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102506960"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/keep_alive.html b/doc/html/boost_asio/reference/basic_raw_socket/keep_alive.html
new file mode 100644
index 0000000000..5694c8149e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="is_open.html" title="basic_raw_socket::is_open">
+<link rel="next" href="linger.html" title="basic_raw_socket::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_raw_socket::keep_alive">basic_raw_socket::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102515040"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_raw_socket.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_raw_socket.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/linger.html b/doc/html/boost_asio/reference/basic_raw_socket/linger.html
new file mode 100644
index 0000000000..1b43e3b53a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="keep_alive.html" title="basic_raw_socket::keep_alive">
+<link rel="next" href="local_endpoint.html" title="basic_raw_socket::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.linger"></a><a class="link" href="linger.html" title="basic_raw_socket::linger">basic_raw_socket::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102572160"></a>
+Socket option to specify whether the socket lingers
+ on close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_raw_socket.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_raw_socket.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint.html b/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint.html
new file mode 100644
index 0000000000..2e85deb34a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="linger.html" title="basic_raw_socket::linger">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_raw_socket::local_endpoint">basic_raw_socket::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102634368"></a>
+Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload1.html
new file mode 100644
index 0000000000..c42927b43e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_raw_socket::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_raw_socket::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">basic_raw_socket::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload2.html
new file mode 100644
index 0000000000..60815fd9fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/local_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_raw_socket::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="basic_raw_socket::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">basic_raw_socket::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket. Returns a
+ default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer.html b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer.html
new file mode 100644
index 0000000000..15410b4b54
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_raw_socket::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_raw_socket::lowest_layer">basic_raw_socket::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp102739232"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload1.html
new file mode 100644
index 0000000000..b93cfeeffc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_raw_socket::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_raw_socket::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">basic_raw_socket::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload2.html
new file mode 100644
index 0000000000..580a7637f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_raw_socket::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_raw_socket::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">basic_raw_socket::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer_type.html
new file mode 100644
index 0000000000..ed9cbe2aa9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/lowest_layer_type.html
@@ -0,0 +1,913 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_raw_socket::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="max_connections.html" title="basic_raw_socket::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_raw_socket::lowest_layer_type">basic_raw_socket::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp102782048"></a>
+A <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">RawSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_raw_socket.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/max_connections.html b/doc/html/boost_asio/reference/basic_raw_socket/max_connections.html
new file mode 100644
index 0000000000..8491636203
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="lowest_layer_type.html" title="basic_raw_socket::lowest_layer_type">
+<link rel="next" href="message_do_not_route.html" title="basic_raw_socket::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.max_connections"></a><a class="link" href="max_connections.html" title="basic_raw_socket::max_connections">basic_raw_socket::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103031136"></a>
+The maximum length of the queue of pending
+ incoming connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/message_do_not_route.html b/doc/html/boost_asio/reference/basic_raw_socket/message_do_not_route.html
new file mode 100644
index 0000000000..5fb3b225c1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="max_connections.html" title="basic_raw_socket::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_raw_socket::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_raw_socket::message_do_not_route">basic_raw_socket::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103040864"></a>
+Specify that the data should not be
+ subject to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/message_end_of_record.html b/doc/html/boost_asio/reference/basic_raw_socket/message_end_of_record.html
new file mode 100644
index 0000000000..edc89d220c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="message_do_not_route.html" title="basic_raw_socket::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_raw_socket::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_raw_socket::message_end_of_record">basic_raw_socket::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103050416"></a>
+Specifies that the data marks the
+ end of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/message_flags.html b/doc/html/boost_asio/reference/basic_raw_socket/message_flags.html
new file mode 100644
index 0000000000..f775f50f4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="message_end_of_record.html" title="basic_raw_socket::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_raw_socket::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.message_flags"></a><a class="link" href="message_flags.html" title="basic_raw_socket::message_flags">basic_raw_socket::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103059872"></a>
+Bitmask type for flags that can be passed
+ to send and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_raw_socket.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/message_out_of_band.html b/doc/html/boost_asio/reference/basic_raw_socket/message_out_of_band.html
new file mode 100644
index 0000000000..901cab893b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="message_flags.html" title="basic_raw_socket::message_flags">
+<link rel="next" href="message_peek.html" title="basic_raw_socket::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_raw_socket::message_out_of_band">basic_raw_socket::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103073040"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/message_peek.html b/doc/html/boost_asio/reference/basic_raw_socket/message_peek.html
new file mode 100644
index 0000000000..4a861b1e1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="message_out_of_band.html" title="basic_raw_socket::message_out_of_band">
+<link rel="next" href="native.html" title="basic_raw_socket::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.message_peek"></a><a class="link" href="message_peek.html" title="basic_raw_socket::message_peek">basic_raw_socket::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103082544"></a>
+Peek at incoming data without removing it from
+ the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native.html b/doc/html/boost_asio/reference/basic_raw_socket/native.html
new file mode 100644
index 0000000000..82dcf1adfb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="message_peek.html" title="basic_raw_socket::message_peek">
+<link rel="next" href="native_handle.html" title="basic_raw_socket::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native"></a><a class="link" href="native.html" title="basic_raw_socket::native">basic_raw_socket::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103092032"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_handle.html b/doc/html/boost_asio/reference/basic_raw_socket/native_handle.html
new file mode 100644
index 0000000000..fdccbee161
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="native.html" title="basic_raw_socket::native">
+<link rel="next" href="native_handle_type.html" title="basic_raw_socket::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_handle"></a><a class="link" href="native_handle.html" title="basic_raw_socket::native_handle">basic_raw_socket::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103101216"></a>
+Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_handle_type.html b/doc/html/boost_asio/reference/basic_raw_socket/native_handle_type.html
new file mode 100644
index 0000000000..7a2eb83cf8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="native_handle.html" title="basic_raw_socket::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_raw_socket::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_raw_socket::native_handle_type">basic_raw_socket::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp103107792"></a>
+The native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RawSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_raw_socket.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking.html b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking.html
new file mode 100644
index 0000000000..7dc2a8c283
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="native_handle_type.html" title="basic_raw_socket::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_raw_socket::native_non_blocking">basic_raw_socket::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp103121280"></a>
+Gets the non-blocking mode of the native
+ socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..0c44f582b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload1.html
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_raw_socket::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_raw_socket::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">basic_raw_socket::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native socket. This mode has no effect on the behaviour of the socket
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the socket object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload1.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..aba410ce71
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload2.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_raw_socket::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">basic_raw_socket::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload2.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..5130ed4809
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_non_blocking/overload3.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_raw_socket::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_raw_socket::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">basic_raw_socket::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.native_non_blocking.overload3.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/native_type.html b/doc/html/boost_asio/reference/basic_raw_socket/native_type.html
new file mode 100644
index 0000000000..9ae5526c6a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_raw_socket::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_raw_socket::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.native_type"></a><a class="link" href="native_type.html" title="basic_raw_socket::native_type">basic_raw_socket::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp103729408"></a>
+(Deprecated: Use native_handle_type.) The native
+ representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RawSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_raw_socket.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/non_blocking.html b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking.html
new file mode 100644
index 0000000000..e00a4ef67c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="native_type.html" title="basic_raw_socket::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_raw_socket::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_raw_socket::non_blocking">basic_raw_socket::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp103743088"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_raw_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_raw_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_raw_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_raw_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_raw_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_raw_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload1.html
new file mode 100644
index 0000000000..0faab07721
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_raw_socket::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_raw_socket::non_blocking">
+<link rel="next" href="overload2.html" title="basic_raw_socket::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::non_blocking (1 of 3 overloads)">basic_raw_socket::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload2.html
new file mode 100644
index 0000000000..51e71ffd04
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_raw_socket::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::non_blocking (2 of 3 overloads)">basic_raw_socket::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload3.html
new file mode 100644
index 0000000000..34482b0139
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking/overload3.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_raw_socket::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_raw_socket::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::non_blocking (3 of 3 overloads)">basic_raw_socket::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/non_blocking_io.html b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking_io.html
new file mode 100644
index 0000000000..9b7640abd4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_raw_socket::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_raw_socket::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_raw_socket::non_blocking_io">basic_raw_socket::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp103866480"></a>
+(Deprecated: Use non_blocking().) IO control
+ command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_raw_socket.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_raw_socket.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/open.html b/doc/html/boost_asio/reference/basic_raw_socket/open.html
new file mode 100644
index 0000000000..05487f8c8f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="non_blocking_io.html" title="basic_raw_socket::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_raw_socket::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.open"></a><a class="link" href="open.html" title="basic_raw_socket::open">basic_raw_socket::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp103900480"></a>
+Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_raw_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_raw_socket::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_raw_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_raw_socket::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/open/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/open/overload1.html
new file mode 100644
index 0000000000..6b41cde933
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/open/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_raw_socket::open">
+<link rel="prev" href="../open.html" title="basic_raw_socket::open">
+<link rel="next" href="overload2.html" title="basic_raw_socket::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.open.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::open (1 of 2 overloads)">basic_raw_socket::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/open/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/open/overload2.html
new file mode 100644
index 0000000000..8f0ce2b6d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/open/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_raw_socket::open">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_raw_socket::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.open.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::open (2 of 2 overloads)">basic_raw_socket::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_.html b/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_.html
new file mode 100644
index 0000000000..028c57bb80
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="open/overload2.html" title="basic_raw_socket::open (2 of 2 overloads)">
+<link rel="next" href="operator_eq_/overload1.html" title="basic_raw_socket::operator= (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_raw_socket::operator=">basic_raw_socket::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp104017104"></a>
+Move-assign a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="basic_raw_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="basic_raw_socket::operator= (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-assign a <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../RawSocketService.html" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_raw_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="basic_raw_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="basic_raw_socket::operator= (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload1.html
new file mode 100644
index 0000000000..1c870e318c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::operator= (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_raw_socket::operator=">
+<link rel="prev" href="../operator_eq_.html" title="basic_raw_socket::operator=">
+<link rel="next" href="overload2.html" title="basic_raw_socket::operator= (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::operator= (1 of 2 overloads)">basic_raw_socket::operator=
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_raw_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_raw_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a raw socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload2.html
new file mode 100644
index 0000000000..3199527501
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/operator_eq_/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::operator= (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_raw_socket::operator=">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::operator= (1 of 2 overloads)">
+<link rel="next" href="../protocol_type.html" title="basic_raw_socket::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::operator= (2 of 2 overloads)">basic_raw_socket::operator=
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../RawSocketService.html" title="Raw socket service requirements">RawSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_raw_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">RawSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a raw socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.operator_eq_.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_raw_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/protocol_type.html b/doc/html/boost_asio/reference/basic_raw_socket/protocol_type.html
new file mode 100644
index 0000000000..d9a0a064c4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="operator_eq_/overload2.html" title="basic_raw_socket::operator= (2 of 2 overloads)">
+<link rel="next" href="receive.html" title="basic_raw_socket::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_raw_socket::protocol_type">basic_raw_socket::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp104120288"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_raw_socket.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive.html b/doc/html/boost_asio/reference/basic_raw_socket/receive.html
new file mode 100644
index 0000000000..825f3bb0f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="protocol_type.html" title="basic_raw_socket::protocol_type">
+<link rel="next" href="receive/overload1.html" title="basic_raw_socket::receive (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive"></a><a class="link" href="receive.html" title="basic_raw_socket::receive">basic_raw_socket::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp104132576"></a>
+Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload1.html" title="basic_raw_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload1.html" title="basic_raw_socket::receive (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload2.html" title="basic_raw_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload2.html" title="basic_raw_socket::receive (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload3.html" title="basic_raw_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload3.html" title="basic_raw_socket::receive (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/receive/overload1.html
new file mode 100644
index 0000000000..426dc458b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_raw_socket::receive">
+<link rel="prev" href="../receive.html" title="basic_raw_socket::receive">
+<link rel="next" href="overload2.html" title="basic_raw_socket::receive (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::receive (1 of 3 overloads)">basic_raw_socket::receive
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the raw socket. The function
+ call will block until data has been received successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation can only be used with a connected socket. Use the
+ receive_from function to receive data on an unconnected raw socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/receive/overload2.html
new file mode 100644
index 0000000000..41320dd325
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive/overload2.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_raw_socket::receive">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::receive (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::receive (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::receive (2 of 3 overloads)">basic_raw_socket::receive
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the raw socket. The function
+ call will block until data has been received successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation can only be used with a connected socket. Use the
+ receive_from function to receive data on an unconnected raw socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/receive/overload3.html
new file mode 100644
index 0000000000..36ef577513
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive/overload3.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_raw_socket::receive">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::receive (2 of 3 overloads)">
+<link rel="next" href="../receive_buffer_size.html" title="basic_raw_socket::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::receive (3 of 3 overloads)">basic_raw_socket::receive
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the raw socket. The function
+ call will block until data has been received successfully or an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.receive.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.receive.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.receive.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation can only be used with a connected socket. Use the
+ receive_from function to receive data on an unconnected raw socket.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_raw_socket/receive_buffer_size.html
new file mode 100644
index 0000000000..df3527a7d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="receive/overload3.html" title="basic_raw_socket::receive (3 of 3 overloads)">
+<link rel="next" href="receive_from.html" title="basic_raw_socket::receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_raw_socket::receive_buffer_size">basic_raw_socket::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp104298800"></a>
+Socket option for the receive buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_raw_socket.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_raw_socket.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive_from.html b/doc/html/boost_asio/reference/basic_raw_socket/receive_from.html
new file mode 100644
index 0000000000..1b1baf8c98
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive_from.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="receive_buffer_size.html" title="basic_raw_socket::receive_buffer_size">
+<link rel="next" href="receive_from/overload1.html" title="basic_raw_socket::receive_from (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive_from"></a><a class="link" href="receive_from.html" title="basic_raw_socket::receive_from">basic_raw_socket::receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp104355232"></a>
+Receive raw data with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive_from/overload1.html" title="basic_raw_socket::receive_from (1 of 3 overloads)">receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive_from/overload1.html" title="basic_raw_socket::receive_from (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive_from/overload2.html" title="basic_raw_socket::receive_from (2 of 3 overloads)">receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive_from/overload2.html" title="basic_raw_socket::receive_from (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive_from/overload3.html" title="basic_raw_socket::receive_from (3 of 3 overloads)">receive_from</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive_from/overload3.html" title="basic_raw_socket::receive_from (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload1.html
new file mode 100644
index 0000000000..d69fcb3928
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload1.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive_from (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive_from.html" title="basic_raw_socket::receive_from">
+<link rel="prev" href="../receive_from.html" title="basic_raw_socket::receive_from">
+<link rel="next" href="overload2.html" title="basic_raw_socket::receive_from (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::receive_from (1 of 3 overloads)">basic_raw_socket::receive_from
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive raw data. The function call will block
+ until data has been received successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the data.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.receive_from.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../receive_from.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload2.html
new file mode 100644
index 0000000000..e1212a50e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload2.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive_from (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive_from.html" title="basic_raw_socket::receive_from">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::receive_from (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::receive_from (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::receive_from (2 of 3 overloads)">basic_raw_socket::receive_from
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive raw data. The function call will block
+ until data has been received successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive_from.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the data.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive_from.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.receive_from.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload3.html
new file mode 100644
index 0000000000..e16c17b0f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive_from/overload3.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive_from (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive_from.html" title="basic_raw_socket::receive_from">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::receive_from (2 of 3 overloads)">
+<link rel="next" href="../receive_low_watermark.html" title="basic_raw_socket::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_low_watermark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::receive_from (3 of 3 overloads)">basic_raw_socket::receive_from
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive raw data. The function call will block
+ until data has been received successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.receive_from.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">sender_endpoint</span></dt>
+<dd><p>
+ An endpoint object that receives the endpoint of the remote sender
+ of the data.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_from.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.receive_from.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive_from.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_low_watermark.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_raw_socket/receive_low_watermark.html
new file mode 100644
index 0000000000..5b26b1354e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/receive_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="receive_from/overload3.html" title="basic_raw_socket::receive_from (3 of 3 overloads)">
+<link rel="next" href="remote_endpoint.html" title="basic_raw_socket::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_from/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_raw_socket::receive_low_watermark">basic_raw_socket::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp104540352"></a>
+Socket option for the receive low
+ watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_raw_socket.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_raw_socket.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_from/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint.html b/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint.html
new file mode 100644
index 0000000000..997de88ba0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="receive_low_watermark.html" title="basic_raw_socket::receive_low_watermark">
+<link rel="next" href="remote_endpoint/overload1.html" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="basic_raw_socket::remote_endpoint">basic_raw_socket::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp104596768"></a>
+Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload1.html" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload1.html" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload2.html" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload2.html" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload1.html
new file mode 100644
index 0000000000..133372d984
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::remote_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_raw_socket::remote_endpoint">
+<link rel="prev" href="../remote_endpoint.html" title="basic_raw_socket::remote_endpoint">
+<link rel="next" href="overload2.html" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">basic_raw_socket::remote_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload2.html
new file mode 100644
index 0000000000..e8fb1abaa2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/remote_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::remote_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_raw_socket::remote_endpoint">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::remote_endpoint (1 of 2 overloads)">
+<link rel="next" href="../reuse_address.html" title="basic_raw_socket::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">basic_raw_socket::remote_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket. Returns
+ a default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.remote_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/reuse_address.html b/doc/html/boost_asio/reference/basic_raw_socket/reuse_address.html
new file mode 100644
index 0000000000..300c9e057d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="remote_endpoint/overload2.html" title="basic_raw_socket::remote_endpoint (2 of 2 overloads)">
+<link rel="next" href="send.html" title="basic_raw_socket::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_raw_socket::reuse_address">basic_raw_socket::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp104702336"></a>
+Socket option to allow the socket to be bound
+ to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_raw_socket.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_raw_socket.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send.html b/doc/html/boost_asio/reference/basic_raw_socket/send.html
new file mode 100644
index 0000000000..8426c8a630
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="reuse_address.html" title="basic_raw_socket::reuse_address">
+<link rel="next" href="send/overload1.html" title="basic_raw_socket::send (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send"></a><a class="link" href="send.html" title="basic_raw_socket::send">basic_raw_socket::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp104758544"></a>
+Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload1.html" title="basic_raw_socket::send (1 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload1.html" title="basic_raw_socket::send (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload2.html" title="basic_raw_socket::send (2 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload2.html" title="basic_raw_socket::send (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload3.html" title="basic_raw_socket::send (3 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload3.html" title="basic_raw_socket::send (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/send/overload1.html
new file mode 100644
index 0000000000..e6e12ec851
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send/overload1.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_raw_socket::send">
+<link rel="prev" href="../send.html" title="basic_raw_socket::send">
+<link rel="next" href="overload2.html" title="basic_raw_socket::send (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::send (1 of 3 overloads)">basic_raw_socket::send
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the raw socket. The function call
+ will block until the data has been sent successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One ore more data buffers to be sent on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation can only be used with a connected socket. Use the
+ send_to function to send data on an unconnected raw socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/send/overload2.html
new file mode 100644
index 0000000000..bf01202063
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send/overload2.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_raw_socket::send">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::send (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::send (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::send (2 of 3 overloads)">basic_raw_socket::send
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the raw socket. The function call
+ will block until the data has been sent successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One ore more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation can only be used with a connected socket. Use the
+ send_to function to send data on an unconnected raw socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/send/overload3.html
new file mode 100644
index 0000000000..b3812feabd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send/overload3.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_raw_socket::send">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::send (2 of 3 overloads)">
+<link rel="next" href="../send_buffer_size.html" title="basic_raw_socket::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::send (3 of 3 overloads)">basic_raw_socket::send
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the raw socket. The function call
+ will block until the data has been sent successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.send.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.send.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.send.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation can only be used with a connected socket. Use the
+ send_to function to send data on an unconnected raw socket.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send_buffer_size.html b/doc/html/boost_asio/reference/basic_raw_socket/send_buffer_size.html
new file mode 100644
index 0000000000..21f66d4310
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="send/overload3.html" title="basic_raw_socket::send (3 of 3 overloads)">
+<link rel="next" href="send_low_watermark.html" title="basic_raw_socket::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_raw_socket::send_buffer_size">basic_raw_socket::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp104924048"></a>
+Socket option for the send buffer size
+ of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_raw_socket.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_raw_socket.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send_low_watermark.html b/doc/html/boost_asio/reference/basic_raw_socket/send_low_watermark.html
new file mode 100644
index 0000000000..7d8cded553
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send_low_watermark.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="send_buffer_size.html" title="basic_raw_socket::send_buffer_size">
+<link rel="next" href="send_to.html" title="basic_raw_socket::send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_raw_socket::send_low_watermark">basic_raw_socket::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp104981248"></a>
+Socket option for the send low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_raw_socket.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_raw_socket.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send_to.html b/doc/html/boost_asio/reference/basic_raw_socket/send_to.html
new file mode 100644
index 0000000000..92ce592464
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send_to.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="send_low_watermark.html" title="basic_raw_socket::send_low_watermark">
+<link rel="next" href="send_to/overload1.html" title="basic_raw_socket::send_to (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send_to"></a><a class="link" href="send_to.html" title="basic_raw_socket::send_to">basic_raw_socket::send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp105037568"></a>
+Send raw data to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send_to/overload1.html" title="basic_raw_socket::send_to (1 of 3 overloads)">send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_to/overload1.html" title="basic_raw_socket::send_to (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send_to/overload2.html" title="basic_raw_socket::send_to (2 of 3 overloads)">send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_to/overload2.html" title="basic_raw_socket::send_to (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send_to/overload3.html" title="basic_raw_socket::send_to (3 of 3 overloads)">send_to</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_to/overload3.html" title="basic_raw_socket::send_to (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload1.html
new file mode 100644
index 0000000000..36bfa40744
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload1.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send_to (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_to.html" title="basic_raw_socket::send_to">
+<link rel="prev" href="../send_to.html" title="basic_raw_socket::send_to">
+<link rel="next" href="overload2.html" title="basic_raw_socket::send_to (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::send_to (1 of 3 overloads)">basic_raw_socket::send_to
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send raw data to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send raw data to the specified remote endpoint.
+ The function call will block until the data has been sent successfully
+ or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send_to.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send_to.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send_to.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.send_to.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">destination</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">destination</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../send_to.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload2.html
new file mode 100644
index 0000000000..85edd4cc0d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload2.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send_to (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_to.html" title="basic_raw_socket::send_to">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::send_to (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_raw_socket::send_to (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::send_to (2 of 3 overloads)">basic_raw_socket::send_to
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send raw data to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send raw data to the specified remote endpoint.
+ The function call will block until the data has been sent successfully
+ or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send_to.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send_to.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.send_to.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload3.html b/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload3.html
new file mode 100644
index 0000000000..25d6c2f2b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/send_to/overload3.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::send_to (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_to.html" title="basic_raw_socket::send_to">
+<link rel="prev" href="overload2.html" title="basic_raw_socket::send_to (2 of 3 overloads)">
+<link rel="next" href="../service.html" title="basic_raw_socket::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload3"></a><a class="link" href="overload3.html" title="basic_raw_socket::send_to (3 of 3 overloads)">basic_raw_socket::send_to
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send raw data to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send raw data to the specified remote endpoint.
+ The function call will block until the data has been sent successfully
+ or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.send_to.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent to the remote endpoint.
+ </p></dd>
+<dt><span class="term">destination</span></dt>
+<dd><p>
+ The remote endpoint to which the data will be sent.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.send_to.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.send_to.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_raw_socket.send_to.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_to.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/service.html b/doc/html/boost_asio/reference/basic_raw_socket/service.html
new file mode 100644
index 0000000000..7be60c1fbf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="send_to/overload3.html" title="basic_raw_socket::send_to (3 of 3 overloads)">
+<link rel="next" href="service_type.html" title="basic_raw_socket::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_to/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.service"></a><a class="link" href="service.html" title="basic_raw_socket::service">basic_raw_socket::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp105233616"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_raw_socket.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_to/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/service_type.html b/doc/html/boost_asio/reference/basic_raw_socket/service_type.html
new file mode 100644
index 0000000000..56a3eddfef
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="service.html" title="basic_raw_socket::service">
+<link rel="next" href="set_option.html" title="basic_raw_socket::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.service_type"></a><a class="link" href="service_type.html" title="basic_raw_socket::service_type">basic_raw_socket::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp105245968"></a>
+The type of the service that will be used to
+ provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RawSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_raw_socket.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_raw_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/set_option.html b/doc/html/boost_asio/reference/basic_raw_socket/set_option.html
new file mode 100644
index 0000000000..cc02aa6ede
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/set_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="service_type.html" title="basic_raw_socket::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_raw_socket::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.set_option"></a><a class="link" href="set_option.html" title="basic_raw_socket::set_option">basic_raw_socket::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp105258368"></a>
+Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_raw_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_raw_socket::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_raw_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_raw_socket::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/set_option/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/set_option/overload1.html
new file mode 100644
index 0000000000..235318d352
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/set_option/overload1.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_raw_socket::set_option">
+<link rel="prev" href="../set_option.html" title="basic_raw_socket::set_option">
+<link rel="next" href="overload2.html" title="basic_raw_socket::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::set_option (1 of 2 overloads)">basic_raw_socket::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/set_option/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/set_option/overload2.html
new file mode 100644
index 0000000000..99bf8dcbc6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/set_option/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_raw_socket::set_option">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::set_option (1 of 2 overloads)">
+<link rel="next" href="../shutdown.html" title="basic_raw_socket::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::set_option (2 of 2 overloads)">basic_raw_socket::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/shutdown.html b/doc/html/boost_asio/reference/basic_raw_socket/shutdown.html
new file mode 100644
index 0000000000..b36204162c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/shutdown.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="set_option/overload2.html" title="basic_raw_socket::set_option (2 of 2 overloads)">
+<link rel="next" href="shutdown/overload1.html" title="basic_raw_socket::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.shutdown"></a><a class="link" href="shutdown.html" title="basic_raw_socket::shutdown">basic_raw_socket::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp105387216"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="basic_raw_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="basic_raw_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="basic_raw_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="basic_raw_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload1.html b/doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload1.html
new file mode 100644
index 0000000000..da92c70209
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_raw_socket::shutdown">
+<link rel="prev" href="../shutdown.html" title="basic_raw_socket::shutdown">
+<link rel="next" href="overload2.html" title="basic_raw_socket::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::shutdown (1 of 2 overloads)">basic_raw_socket::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.shutdown.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.shutdown.overload1.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload2.html b/doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload2.html
new file mode 100644
index 0000000000..f4f76ad1a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/shutdown/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_raw_socket::shutdown">
+<link rel="prev" href="overload1.html" title="basic_raw_socket::shutdown (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_raw_socket::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload2"></a><a class="link" href="overload2.html" title="basic_raw_socket::shutdown (2 of 2 overloads)">basic_raw_socket::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_raw_socket.shutdown.overload2.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_raw_socket/shutdown_type.html b/doc/html/boost_asio/reference/basic_raw_socket/shutdown_type.html
new file mode 100644
index 0000000000..b5cc896532
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_raw_socket/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_raw_socket::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_raw_socket.html" title="basic_raw_socket">
+<link rel="prev" href="shutdown/overload2.html" title="basic_raw_socket::shutdown (2 of 2 overloads)">
+<link rel="next" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_raw_socket.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_raw_socket::shutdown_type">basic_raw_socket::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp105501296"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp105504832"></a>
+ <a class="indexterm" name="idp105505936"></a>
+ <a class="indexterm" name="idp105507040"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_raw_socket.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_raw_socket.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_raw_socket.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_raw_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket.html b/doc/html/boost_asio/reference/basic_seq_packet_socket.html
new file mode 100644
index 0000000000..36de9b6ad5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket.html
@@ -0,0 +1,949 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_raw_socket/shutdown_type.html" title="basic_raw_socket::shutdown_type">
+<link rel="next" href="basic_seq_packet_socket/assign.html" title="basic_seq_packet_socket::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_raw_socket/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_seq_packet_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket"></a><a class="link" href="basic_seq_packet_socket.html" title="basic_seq_packet_socket">basic_seq_packet_socket</a>
+</h3></div></div></div>
+<p>
+ Provides sequenced packet socket functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SeqPacketSocketService.html" title="Sequenced packet socket service requirements">SeqPacketSocketService</a> <span class="special">=</span> <span class="identifier">seq_packet_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_seq_packet_socket</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.types"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/broadcast.html" title="basic_seq_packet_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/bytes_readable.html" title="basic_seq_packet_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/debug.html" title="basic_seq_packet_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/do_not_route.html" title="basic_seq_packet_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/enable_connection_aborted.html" title="basic_seq_packet_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/endpoint_type.html" title="basic_seq_packet_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/implementation_type.html" title="basic_seq_packet_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/keep_alive.html" title="basic_seq_packet_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/linger.html" title="basic_seq_packet_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/lowest_layer_type.html" title="basic_seq_packet_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/message_flags.html" title="basic_seq_packet_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/native_handle_type.html" title="basic_seq_packet_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/native_type.html" title="basic_seq_packet_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/non_blocking_io.html" title="basic_seq_packet_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/protocol_type.html" title="basic_seq_packet_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/receive_buffer_size.html" title="basic_seq_packet_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/receive_low_watermark.html" title="basic_seq_packet_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/reuse_address.html" title="basic_seq_packet_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/send_buffer_size.html" title="basic_seq_packet_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/send_low_watermark.html" title="basic_seq_packet_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/service_type.html" title="basic_seq_packet_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/shutdown_type.html" title="basic_seq_packet_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.member_functions"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/assign.html" title="basic_seq_packet_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/async_connect.html" title="basic_seq_packet_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/async_receive.html" title="basic_seq_packet_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/async_send.html" title="basic_seq_packet_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/at_mark.html" title="basic_seq_packet_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/available.html" title="basic_seq_packet_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket"><span class="bold"><strong>basic_seq_packet_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_seq_packet_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_seq_packet_socket.
+ </p>
+ <p>
+ Construct a basic_seq_packet_socket, opening it and binding it
+ to the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_seq_packet_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_seq_packet_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_seq_packet_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/bind.html" title="basic_seq_packet_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/cancel.html" title="basic_seq_packet_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/close.html" title="basic_seq_packet_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/connect.html" title="basic_seq_packet_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/get_io_service.html" title="basic_seq_packet_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/get_option.html" title="basic_seq_packet_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/io_control.html" title="basic_seq_packet_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/is_open.html" title="basic_seq_packet_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/local_endpoint.html" title="basic_seq_packet_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/lowest_layer.html" title="basic_seq_packet_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/native.html" title="basic_seq_packet_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/native_handle.html" title="basic_seq_packet_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/non_blocking.html" title="basic_seq_packet_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/open.html" title="basic_seq_packet_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/operator_eq_.html" title="basic_seq_packet_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_seq_packet_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_seq_packet_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/receive.html" title="basic_seq_packet_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on the socket.
+ </p>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/send.html" title="basic_seq_packet_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/set_option.html" title="basic_seq_packet_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/shutdown.html" title="basic_seq_packet_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.protected_member_functions"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/get_implementation.html" title="basic_seq_packet_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/get_service.html" title="basic_seq_packet_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.data_members"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/max_connections.html" title="basic_seq_packet_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/message_do_not_route.html" title="basic_seq_packet_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/message_end_of_record.html" title="basic_seq_packet_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/message_out_of_band.html" title="basic_seq_packet_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/message_peek.html" title="basic_seq_packet_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.protected_data_members"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/implementation.html" title="basic_seq_packet_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_seq_packet_socket/service.html" title="basic_seq_packet_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> class template
+ provides asynchronous and blocking sequenced packet socket functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.thread_safety"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_seq_packet_socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.requirements"></a></span><a class="link" href="basic_seq_packet_socket.html#boost_asio.reference.basic_seq_packet_socket.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_raw_socket/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_seq_packet_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/assign.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/assign.html
new file mode 100644
index 0000000000..eaf5f1b5bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="next" href="assign/overload1.html" title="basic_seq_packet_socket::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.assign"></a><a class="link" href="assign.html" title="basic_seq_packet_socket::assign">basic_seq_packet_socket::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp105792000"></a>
+Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_seq_packet_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_seq_packet_socket::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_seq_packet_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_seq_packet_socket::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload1.html
new file mode 100644
index 0000000000..885e51e797
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_seq_packet_socket::assign">
+<link rel="prev" href="../assign.html" title="basic_seq_packet_socket::assign">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.assign.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::assign (1 of 2 overloads)">basic_seq_packet_socket::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload2.html
new file mode 100644
index 0000000000..8ec2c8fd6b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/assign/overload2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_seq_packet_socket::assign">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::assign (1 of 2 overloads)">
+<link rel="next" href="../async_connect.html" title="basic_seq_packet_socket::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.assign.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::assign (2 of 2 overloads)">basic_seq_packet_socket::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/async_connect.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_connect.html
new file mode 100644
index 0000000000..8cb5eeb9ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_connect.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="assign/overload2.html" title="basic_seq_packet_socket::assign (2 of 2 overloads)">
+<link rel="next" href="async_receive.html" title="basic_seq_packet_socket::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.async_connect"></a><a class="link" href="async_connect.html" title="basic_seq_packet_socket::async_connect">basic_seq_packet_socket::async_connect</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp105855504"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously connect a socket to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the connect
+ fails, and the socket was automatically opened, the socket is not returned
+ to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_connect.parameters"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_seq_packet_socket.async_connect.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected. Copies
+ will be made of the endpoint object as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connection operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_connect.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_connect.example"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_seq_packet_socket.async_connect.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Connect succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive.html
new file mode 100644
index 0000000000..07425d9e2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="async_connect.html" title="basic_seq_packet_socket::async_connect">
+<link rel="next" href="async_receive/overload1.html" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive"></a><a class="link" href="async_receive.html" title="basic_seq_packet_socket::async_receive">basic_seq_packet_socket::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp105935744"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload1.html" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload1.html" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload2.html" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload2.html" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload1.html
new file mode 100644
index 0000000000..7fa4c4db68
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::async_receive (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_seq_packet_socket::async_receive">
+<link rel="prev" href="../async_receive.html" title="basic_seq_packet_socket::async_receive">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">basic_seq_packet_socket::async_receive
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the sequenced
+ packet socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">out_flags</span></dt>
+<dd><p>
+ Once the asynchronous operation completes, contains flags associated
+ with the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
+ bit is set then the received data marks the end of a record. The
+ caller must guarantee that the referenced variable remains valid
+ until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">out_flags</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload2.html
new file mode 100644
index 0000000000..970c34b99a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_receive/overload2.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::async_receive (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_seq_packet_socket::async_receive">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::async_receive (1 of 2 overloads)">
+<link rel="next" href="../async_send.html" title="basic_seq_packet_socket::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">basic_seq_packet_socket::async_receive
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the sequenced
+ data socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">in_flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">out_flags</span></dt>
+<dd><p>
+ Once the asynchronous operation completes, contains flags associated
+ with the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
+ bit is set then the received data marks the end of a record. The
+ caller must guarantee that the referenced variable remains valid
+ until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.async_receive.overload2.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="number">0</span><span class="special">,</span> <span class="identifier">out_flags</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/async_send.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_send.html
new file mode 100644
index 0000000000..6781ccc998
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/async_send.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="async_receive/overload2.html" title="basic_seq_packet_socket::async_receive (2 of 2 overloads)">
+<link rel="next" href="at_mark.html" title="basic_seq_packet_socket::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.async_send"></a><a class="link" href="async_send.html" title="basic_seq_packet_socket::async_send">basic_seq_packet_socket::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106120848"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send data on the sequenced packet
+ socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_send.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_send.parameters"></a></span><a class="link" href="async_send.html#boost_asio.reference.basic_seq_packet_socket.async_send.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the buffers
+ object may be copied as necessary, ownership of the underlying memory
+ blocks is retained by the caller, which must guarantee that they
+ remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.async_send.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.async_send.example"></a></span><a class="link" href="async_send.html#boost_asio.reference.basic_seq_packet_socket.async_send.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark.html
new file mode 100644
index 0000000000..8d4ca0dcbe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="async_send.html" title="basic_seq_packet_socket::async_send">
+<link rel="next" href="at_mark/overload1.html" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark"></a><a class="link" href="at_mark.html" title="basic_seq_packet_socket::at_mark">basic_seq_packet_socket::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106186512"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="at_mark/overload1.html" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload1.html" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">bool</span> <a class="link" href="at_mark/overload2.html" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload2.html" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload1.html
new file mode 100644
index 0000000000..3c189ce0f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::at_mark (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_seq_packet_socket::at_mark">
+<link rel="prev" href="../at_mark.html" title="basic_seq_packet_socket::at_mark">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">basic_seq_packet_socket::at_mark
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload2.html
new file mode 100644
index 0000000000..a9ab636138
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/at_mark/overload2.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::at_mark (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_seq_packet_socket::at_mark">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::at_mark (1 of 2 overloads)">
+<link rel="next" href="../available.html" title="basic_seq_packet_socket::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">basic_seq_packet_socket::at_mark
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.at_mark.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/available.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/available.html
new file mode 100644
index 0000000000..8f0144b308
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/available.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="at_mark/overload2.html" title="basic_seq_packet_socket::at_mark (2 of 2 overloads)">
+<link rel="next" href="available/overload1.html" title="basic_seq_packet_socket::available (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.available"></a><a class="link" href="available.html" title="basic_seq_packet_socket::available">basic_seq_packet_socket::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106241744"></a>
+Determine the number of bytes available
+ for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload1.html" title="basic_seq_packet_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload1.html" title="basic_seq_packet_socket::available (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload2.html" title="basic_seq_packet_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload2.html" title="basic_seq_packet_socket::available (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload1.html
new file mode 100644
index 0000000000..2c8cc64d53
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload1.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::available (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_seq_packet_socket::available">
+<link rel="prev" href="../available.html" title="basic_seq_packet_socket::available">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::available (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.available.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::available (1 of 2 overloads)">basic_seq_packet_socket::available
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.available.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.available.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload2.html
new file mode 100644
index 0000000000..05ad67b33c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/available/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::available (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_seq_packet_socket::available">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::available (1 of 2 overloads)">
+<link rel="next" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.available.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::available (2 of 2 overloads)">basic_seq_packet_socket::available
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.available.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.available.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.available.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket.html
new file mode 100644
index 0000000000..b81b27ffb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="available/overload2.html" title="basic_seq_packet_socket::available (2 of 2 overloads)">
+<link rel="next" href="basic_seq_packet_socket/overload1.html" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_seq_packet_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket"></a><a class="link" href="basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">basic_seq_packet_socket::basic_seq_packet_socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106301376"></a>
+Construct a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_seq_packet_socket/overload1.html" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_seq_packet_socket/overload1.html" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct and open a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_seq_packet_socket/overload2.html" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_seq_packet_socket/overload2.html" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>, opening
+ it and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_seq_packet_socket/overload3.html" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_seq_packet_socket/overload3.html" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> on an
+ existing native socket.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_seq_packet_socket/overload4.html" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_seq_packet_socket/overload4.html" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_seq_packet_socket/overload5.html" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
+ <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_seq_packet_socket/overload5.html" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from a
+ socket of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SeqPacketSocketService.html" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_seq_packet_socket/overload6.html" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">basic_seq_packet_socket</a><span class="special">(</span>
+ <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_seq_packet_socket/overload6.html" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_seq_packet_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload1.html
new file mode 100644
index 0000000000..6e4b535997
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload1.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="prev" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
+ (1 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a sequenced packet socket without opening it.
+ The socket needs to be opened and then connected or accepted before data
+ can be sent or received on it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the sequenced packet socket will use to dispatch handlers for any
+ asynchronous operations performed on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload2.html
new file mode 100644
index 0000000000..a94f6ca22a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::basic_seq_packet_socket (1 of 6 overloads)">
+<link rel="next" href="overload3.html" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
+ (2 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a sequenced_packet socket. The socket
+ needs to be connected or accepted before data can be sent or received
+ on it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the sequenced packet socket will use to dispatch handlers for any
+ asynchronous operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload3.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload3.html
new file mode 100644
index 0000000000..430b8e9418
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload3.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="prev" href="overload2.html" title="basic_seq_packet_socket::basic_seq_packet_socket (2 of 6 overloads)">
+<link rel="next" href="overload4.html" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3"></a><a class="link" href="overload3.html" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
+ (3 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>, opening
+ it and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a sequenced packet socket and automatically
+ opens it bound to the specified endpoint on the local machine. The protocol
+ used is the protocol associated with the given endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the sequenced packet socket will use to dispatch handlers for any
+ asynchronous operations performed on the socket.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the sequenced packet
+ socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload4.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload4.html
new file mode 100644
index 0000000000..555f007a13
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload4.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="prev" href="overload3.html" title="basic_seq_packet_socket::basic_seq_packet_socket (3 of 6 overloads)">
+<link rel="next" href="overload5.html" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4"></a><a class="link" href="overload4.html" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
+ (4 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> on an
+ existing native socket.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a sequenced packet socket object to hold an
+ existing native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the sequenced packet socket will use to dispatch handlers for any
+ asynchronous operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+<dt><span class="term">native_socket</span></dt>
+<dd><p>
+ The new underlying socket implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload5.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload5.html
new file mode 100644
index 0000000000..9b7918e016
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload5.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="prev" href="overload4.html" title="basic_seq_packet_socket::basic_seq_packet_socket (4 of 6 overloads)">
+<link rel="next" href="overload6.html" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5"></a><a class="link" href="overload5.html" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
+ (5 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
+ another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
+ <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a sequenced packet socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload6.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload6.html
new file mode 100644
index 0000000000..ed423c3a81
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/basic_seq_packet_socket/overload6.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket">
+<link rel="prev" href="overload5.html" title="basic_seq_packet_socket::basic_seq_packet_socket (5 of 6 overloads)">
+<link rel="next" href="../bind.html" title="basic_seq_packet_socket::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6"></a><a class="link" href="overload6.html" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">basic_seq_packet_socket::basic_seq_packet_socket
+ (6 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
+ a socket of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SeqPacketSocketService.html" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_seq_packet_socket</span><span class="special">(</span>
+ <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a sequenced packet socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_seq_packet_socket.basic_seq_packet_socket.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/bind.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/bind.html
new file mode 100644
index 0000000000..5035eea323
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="basic_seq_packet_socket/overload6.html" title="basic_seq_packet_socket::basic_seq_packet_socket (6 of 6 overloads)">
+<link rel="next" href="bind/overload1.html" title="basic_seq_packet_socket::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_seq_packet_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.bind"></a><a class="link" href="bind.html" title="basic_seq_packet_socket::bind">basic_seq_packet_socket::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106572656"></a>
+Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_seq_packet_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_seq_packet_socket::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_seq_packet_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_seq_packet_socket::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_seq_packet_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload1.html
new file mode 100644
index 0000000000..6ed9a7a4dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_seq_packet_socket::bind">
+<link rel="prev" href="../bind.html" title="basic_seq_packet_socket::bind">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::bind (1 of 2 overloads)">basic_seq_packet_socket::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload2.html
new file mode 100644
index 0000000000..773302f0a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/bind/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_seq_packet_socket::bind">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_seq_packet_socket::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::bind (2 of 2 overloads)">basic_seq_packet_socket::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/broadcast.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/broadcast.html
new file mode 100644
index 0000000000..d3b09c1a7b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/broadcast.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="bind/overload2.html" title="basic_seq_packet_socket::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_seq_packet_socket::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.broadcast"></a><a class="link" href="broadcast.html" title="basic_seq_packet_socket::broadcast">basic_seq_packet_socket::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp106716448"></a>
+Socket option to permit sending of broadcast
+ messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_seq_packet_socket.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_seq_packet_socket.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/bytes_readable.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/bytes_readable.html
new file mode 100644
index 0000000000..dacb0c206a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="broadcast.html" title="basic_seq_packet_socket::broadcast">
+<link rel="next" href="cancel.html" title="basic_seq_packet_socket::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_seq_packet_socket::bytes_readable">basic_seq_packet_socket::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp106773952"></a>
+IO control command to get the amount
+ of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_seq_packet_socket.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel.html
new file mode 100644
index 0000000000..9b930d49ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="bytes_readable.html" title="basic_seq_packet_socket::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel"></a><a class="link" href="cancel.html" title="basic_seq_packet_socket::cancel">basic_seq_packet_socket::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106813120"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload1.html
new file mode 100644
index 0000000000..f04c017973
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_seq_packet_socket::cancel">
+<link rel="prev" href="../cancel.html" title="basic_seq_packet_socket::cancel">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">basic_seq_packet_socket::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload2.html
new file mode 100644
index 0000000000..fc28fd4fcf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/cancel/overload2.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_seq_packet_socket::cancel">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_seq_packet_socket::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">basic_seq_packet_socket::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/close.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/close.html
new file mode 100644
index 0000000000..420b3df176
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="cancel/overload2.html" title="basic_seq_packet_socket::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_seq_packet_socket::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.close"></a><a class="link" href="close.html" title="basic_seq_packet_socket::close">basic_seq_packet_socket::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106905152"></a>
+Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_seq_packet_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_seq_packet_socket::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_seq_packet_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_seq_packet_socket::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload1.html
new file mode 100644
index 0000000000..fd66a56204
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload1.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_seq_packet_socket::close">
+<link rel="prev" href="../close.html" title="basic_seq_packet_socket::close">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::close (1 of 2 overloads)">basic_seq_packet_socket::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.close.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload2.html
new file mode 100644
index 0000000000..98c789f481
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/close/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_seq_packet_socket::close">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::close (1 of 2 overloads)">
+<link rel="next" href="../connect.html" title="basic_seq_packet_socket::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::close (2 of 2 overloads)">basic_seq_packet_socket::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.close.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.close.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/connect.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/connect.html
new file mode 100644
index 0000000000..a75473c368
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/connect.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="close/overload2.html" title="basic_seq_packet_socket::close (2 of 2 overloads)">
+<link rel="next" href="connect/overload1.html" title="basic_seq_packet_socket::connect (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.connect"></a><a class="link" href="connect.html" title="basic_seq_packet_socket::connect">basic_seq_packet_socket::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp106996032"></a>
+Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="connect/overload1.html" title="basic_seq_packet_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="basic_seq_packet_socket::connect (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="connect/overload2.html" title="basic_seq_packet_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="basic_seq_packet_socket::connect (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload1.html
new file mode 100644
index 0000000000..93f09decd8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload1.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::connect (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_seq_packet_socket::connect">
+<link rel="prev" href="../connect.html" title="basic_seq_packet_socket::connect">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::connect (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::connect (1 of 2 overloads)">basic_seq_packet_socket::connect
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload2.html
new file mode 100644
index 0000000000..9294aca89b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/connect/overload2.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::connect (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_seq_packet_socket::connect">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::connect (1 of 2 overloads)">
+<link rel="next" href="../debug.html" title="basic_seq_packet_socket::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::connect (2 of 2 overloads)">basic_seq_packet_socket::connect
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/debug.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/debug.html
new file mode 100644
index 0000000000..d0f93701b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="connect/overload2.html" title="basic_seq_packet_socket::connect (2 of 2 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_seq_packet_socket::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.debug"></a><a class="link" href="debug.html" title="basic_seq_packet_socket::debug">basic_seq_packet_socket::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107132416"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_seq_packet_socket.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_seq_packet_socket.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/do_not_route.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/do_not_route.html
new file mode 100644
index 0000000000..a38a8af04c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="debug.html" title="basic_seq_packet_socket::debug">
+<link rel="next" href="enable_connection_aborted.html" title="basic_seq_packet_socket::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_seq_packet_socket::do_not_route">basic_seq_packet_socket::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107189520"></a>
+Socket option to prevent routing, use
+ local interfaces only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_seq_packet_socket.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_seq_packet_socket.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/enable_connection_aborted.html
new file mode 100644
index 0000000000..5113503ae8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="do_not_route.html" title="basic_seq_packet_socket::do_not_route">
+<link rel="next" href="endpoint_type.html" title="basic_seq_packet_socket::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_seq_packet_socket::enable_connection_aborted">basic_seq_packet_socket::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107246752"></a>
+Socket option to report
+ aborted connections on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_seq_packet_socket.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/endpoint_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/endpoint_type.html
new file mode 100644
index 0000000000..283b3dcaf5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_seq_packet_socket::enable_connection_aborted">
+<link rel="next" href="get_implementation.html" title="basic_seq_packet_socket::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_seq_packet_socket::endpoint_type">basic_seq_packet_socket::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107307936"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_seq_packet_socket.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation.html
new file mode 100644
index 0000000000..889b12f921
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="endpoint_type.html" title="basic_seq_packet_socket::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_seq_packet_socket::get_implementation">basic_seq_packet_socket::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107321312"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload1.html
new file mode 100644
index 0000000000..d6196d2d2a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_seq_packet_socket::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_seq_packet_socket::get_implementation">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">basic_seq_packet_socket::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload2.html
new file mode 100644
index 0000000000..5d6888f536
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_seq_packet_socket::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_seq_packet_socket::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">basic_seq_packet_socket::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_io_service.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_io_service.html
new file mode 100644
index 0000000000..6d8901d32a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_seq_packet_socket::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_seq_packet_socket::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_seq_packet_socket::get_io_service">basic_seq_packet_socket::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107351664"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_seq_packet_socket.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option.html
new file mode 100644
index 0000000000..0b36825bca
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="get_io_service.html" title="basic_seq_packet_socket::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option"></a><a class="link" href="get_option.html" title="basic_seq_packet_socket::get_option">basic_seq_packet_socket::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107370016"></a>
+Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload1.html
new file mode 100644
index 0000000000..8b7ffc8057
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_seq_packet_socket::get_option">
+<link rel="prev" href="../get_option.html" title="basic_seq_packet_socket::get_option">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">basic_seq_packet_socket::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload2.html
new file mode 100644
index 0000000000..a762e1c99e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_option/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_seq_packet_socket::get_option">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_seq_packet_socket::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">basic_seq_packet_socket::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service.html
new file mode 100644
index 0000000000..9a681236d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="get_option/overload2.html" title="basic_seq_packet_socket::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_service"></a><a class="link" href="get_service.html" title="basic_seq_packet_socket::get_service">basic_seq_packet_socket::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107510336"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload1.html
new file mode 100644
index 0000000000..d410dd6a17
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_seq_packet_socket::get_service">
+<link rel="prev" href="../get_service.html" title="basic_seq_packet_socket::get_service">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">basic_seq_packet_socket::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload2.html
new file mode 100644
index 0000000000..dedf2bdd45
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_seq_packet_socket::get_service">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_seq_packet_socket::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">basic_seq_packet_socket::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation.html
new file mode 100644
index 0000000000..ee051c9f21
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="get_service/overload2.html" title="basic_seq_packet_socket::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_seq_packet_socket::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.implementation"></a><a class="link" href="implementation.html" title="basic_seq_packet_socket::implementation">basic_seq_packet_socket::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107540448"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation_type.html
new file mode 100644
index 0000000000..e01e95a196
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="implementation.html" title="basic_seq_packet_socket::implementation">
+<link rel="next" href="io_control.html" title="basic_seq_packet_socket::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_seq_packet_socket::implementation_type">basic_seq_packet_socket::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107549168"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_seq_packet_socket.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control.html
new file mode 100644
index 0000000000..cd1f32cb12
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="implementation_type.html" title="basic_seq_packet_socket::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control"></a><a class="link" href="io_control.html" title="basic_seq_packet_socket::io_control">basic_seq_packet_socket::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107562544"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload1.html
new file mode 100644
index 0000000000..3b47ab4a94
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_seq_packet_socket::io_control">
+<link rel="prev" href="../io_control.html" title="basic_seq_packet_socket::io_control">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">basic_seq_packet_socket::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload2.html
new file mode 100644
index 0000000000..c8d4aa66fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/io_control/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_seq_packet_socket::io_control">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="basic_seq_packet_socket::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">basic_seq_packet_socket::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/is_open.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/is_open.html
new file mode 100644
index 0000000000..88029a4605
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="io_control/overload2.html" title="basic_seq_packet_socket::io_control (2 of 2 overloads)">
+<link rel="next" href="keep_alive.html" title="basic_seq_packet_socket::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.is_open"></a><a class="link" href="is_open.html" title="basic_seq_packet_socket::is_open">basic_seq_packet_socket::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107700784"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/keep_alive.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/keep_alive.html
new file mode 100644
index 0000000000..ba3329c01e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="is_open.html" title="basic_seq_packet_socket::is_open">
+<link rel="next" href="linger.html" title="basic_seq_packet_socket::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_seq_packet_socket::keep_alive">basic_seq_packet_socket::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107708768"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_seq_packet_socket.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_seq_packet_socket.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/linger.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/linger.html
new file mode 100644
index 0000000000..a768cfbf9c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="keep_alive.html" title="basic_seq_packet_socket::keep_alive">
+<link rel="next" href="local_endpoint.html" title="basic_seq_packet_socket::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.linger"></a><a class="link" href="linger.html" title="basic_seq_packet_socket::linger">basic_seq_packet_socket::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107765936"></a>
+Socket option to specify whether the socket
+ lingers on close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_seq_packet_socket.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_seq_packet_socket.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint.html
new file mode 100644
index 0000000000..50e35a1010
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="linger.html" title="basic_seq_packet_socket::linger">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_seq_packet_socket::local_endpoint">basic_seq_packet_socket::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107828416"></a>
+Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload1.html
new file mode 100644
index 0000000000..18cd2e1552
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_seq_packet_socket::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_seq_packet_socket::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">basic_seq_packet_socket::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload2.html
new file mode 100644
index 0000000000..7bfa33fa91
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/local_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_seq_packet_socket::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="basic_seq_packet_socket::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">basic_seq_packet_socket::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket. Returns a
+ default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer.html
new file mode 100644
index 0000000000..edcabe6636
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_seq_packet_socket::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_seq_packet_socket::lowest_layer">basic_seq_packet_socket::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp107933856"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload1.html
new file mode 100644
index 0000000000..aa0256d3b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_seq_packet_socket::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_seq_packet_socket::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">basic_seq_packet_socket::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload2.html
new file mode 100644
index 0000000000..3780d9eca4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_seq_packet_socket::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_seq_packet_socket::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">basic_seq_packet_socket::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer_type.html
new file mode 100644
index 0000000000..754e96e88e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/lowest_layer_type.html
@@ -0,0 +1,913 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_seq_packet_socket::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="max_connections.html" title="basic_seq_packet_socket::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_seq_packet_socket::lowest_layer_type">basic_seq_packet_socket::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp107976656"></a>
+A <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_seq_packet_socket.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/max_connections.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/max_connections.html
new file mode 100644
index 0000000000..f83b33139b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="lowest_layer_type.html" title="basic_seq_packet_socket::lowest_layer_type">
+<link rel="next" href="message_do_not_route.html" title="basic_seq_packet_socket::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.max_connections"></a><a class="link" href="max_connections.html" title="basic_seq_packet_socket::max_connections">basic_seq_packet_socket::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108226672"></a>
+The maximum length of the queue of
+ pending incoming connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/message_do_not_route.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_do_not_route.html
new file mode 100644
index 0000000000..737c0be9c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="max_connections.html" title="basic_seq_packet_socket::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_seq_packet_socket::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_seq_packet_socket::message_do_not_route">basic_seq_packet_socket::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108236304"></a>
+Specify that the data should
+ not be subject to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/message_end_of_record.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_end_of_record.html
new file mode 100644
index 0000000000..f83a25bb64
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="message_do_not_route.html" title="basic_seq_packet_socket::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_seq_packet_socket::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_seq_packet_socket::message_end_of_record">basic_seq_packet_socket::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108245872"></a>
+Specifies that the data marks
+ the end of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/message_flags.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_flags.html
new file mode 100644
index 0000000000..eaf271087e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="message_end_of_record.html" title="basic_seq_packet_socket::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_seq_packet_socket::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.message_flags"></a><a class="link" href="message_flags.html" title="basic_seq_packet_socket::message_flags">basic_seq_packet_socket::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108255472"></a>
+Bitmask type for flags that can be
+ passed to send and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_seq_packet_socket.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/message_out_of_band.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_out_of_band.html
new file mode 100644
index 0000000000..4d365f52d2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="message_flags.html" title="basic_seq_packet_socket::message_flags">
+<link rel="next" href="message_peek.html" title="basic_seq_packet_socket::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_seq_packet_socket::message_out_of_band">basic_seq_packet_socket::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108268784"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/message_peek.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_peek.html
new file mode 100644
index 0000000000..da2948e10f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="message_out_of_band.html" title="basic_seq_packet_socket::message_out_of_band">
+<link rel="next" href="native.html" title="basic_seq_packet_socket::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.message_peek"></a><a class="link" href="message_peek.html" title="basic_seq_packet_socket::message_peek">basic_seq_packet_socket::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108278352"></a>
+Peek at incoming data without removing
+ it from the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native.html
new file mode 100644
index 0000000000..302619960f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="message_peek.html" title="basic_seq_packet_socket::message_peek">
+<link rel="next" href="native_handle.html" title="basic_seq_packet_socket::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native"></a><a class="link" href="native.html" title="basic_seq_packet_socket::native">basic_seq_packet_socket::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108287968"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle.html
new file mode 100644
index 0000000000..515ea4a466
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="native.html" title="basic_seq_packet_socket::native">
+<link rel="next" href="native_handle_type.html" title="basic_seq_packet_socket::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_handle"></a><a class="link" href="native_handle.html" title="basic_seq_packet_socket::native_handle">basic_seq_packet_socket::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp108297152"></a>
+Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle_type.html
new file mode 100644
index 0000000000..e187a18406
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="native_handle.html" title="basic_seq_packet_socket::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_seq_packet_socket::native_handle_type">basic_seq_packet_socket::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp108303888"></a>
+The native representation of a
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SeqPacketSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_seq_packet_socket.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking.html
new file mode 100644
index 0000000000..cf2a76beba
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="native_handle_type.html" title="basic_seq_packet_socket::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking">basic_seq_packet_socket::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp108317424"></a>
+Gets the non-blocking mode of
+ the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..5c398192c6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload1.html
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">basic_seq_packet_socket::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native socket. This mode has no effect on the behaviour of the socket
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the socket object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload1.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..fd4cc060c3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload2.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">basic_seq_packet_socket::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload2.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..34b6fade26
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_non_blocking/overload3.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_seq_packet_socket::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_seq_packet_socket::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">basic_seq_packet_socket::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.native_non_blocking.overload3.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/native_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_type.html
new file mode 100644
index 0000000000..69769898be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_seq_packet_socket::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_seq_packet_socket::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.native_type"></a><a class="link" href="native_type.html" title="basic_seq_packet_socket::native_type">basic_seq_packet_socket::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp108926384"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SeqPacketSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_seq_packet_socket.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking.html
new file mode 100644
index 0000000000..b16164257d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="native_type.html" title="basic_seq_packet_socket::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_seq_packet_socket::non_blocking">basic_seq_packet_socket::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp108940080"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload1.html
new file mode 100644
index 0000000000..e4e84077ec
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_seq_packet_socket::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_seq_packet_socket::non_blocking">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">basic_seq_packet_socket::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload2.html
new file mode 100644
index 0000000000..4591fe178c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_seq_packet_socket::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">basic_seq_packet_socket::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload3.html
new file mode 100644
index 0000000000..e1b3d8bb81
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking/overload3.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_seq_packet_socket::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_seq_packet_socket::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_seq_packet_socket::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">basic_seq_packet_socket::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking_io.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking_io.html
new file mode 100644
index 0000000000..f99a7717be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_seq_packet_socket::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_seq_packet_socket::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_seq_packet_socket::non_blocking_io">basic_seq_packet_socket::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp109064208"></a>
+(Deprecated: Use non_blocking().)
+ IO control command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_seq_packet_socket.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/open.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/open.html
new file mode 100644
index 0000000000..c6067f46d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="non_blocking_io.html" title="basic_seq_packet_socket::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_seq_packet_socket::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.open"></a><a class="link" href="open.html" title="basic_seq_packet_socket::open">basic_seq_packet_socket::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp109098224"></a>
+Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_seq_packet_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_seq_packet_socket::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_seq_packet_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_seq_packet_socket::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload1.html
new file mode 100644
index 0000000000..24e76fddd8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_seq_packet_socket::open">
+<link rel="prev" href="../open.html" title="basic_seq_packet_socket::open">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::open (1 of 2 overloads)">basic_seq_packet_socket::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload2.html
new file mode 100644
index 0000000000..63acf2aa6e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/open/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_seq_packet_socket::open">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_seq_packet_socket::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::open (2 of 2 overloads)">basic_seq_packet_socket::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_.html
new file mode 100644
index 0000000000..a6bc00414d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="open/overload2.html" title="basic_seq_packet_socket::open (2 of 2 overloads)">
+<link rel="next" href="operator_eq_/overload1.html" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_seq_packet_socket::operator=">basic_seq_packet_socket::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp109215376"></a>
+Move-assign a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-assign a <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from a
+ socket of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SeqPacketSocketService.html" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_seq_packet_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload1.html
new file mode 100644
index 0000000000..ae356ecb73
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::operator= (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_seq_packet_socket::operator=">
+<link rel="prev" href="../operator_eq_.html" title="basic_seq_packet_socket::operator=">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">basic_seq_packet_socket::operator=
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
+ another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_seq_packet_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a sequenced packet socket from one object
+ to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload2.html
new file mode 100644
index 0000000000..991572a6e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/operator_eq_/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::operator= (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_seq_packet_socket::operator=">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::operator= (1 of 2 overloads)">
+<link rel="next" href="../protocol_type.html" title="basic_seq_packet_socket::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">basic_seq_packet_socket::operator=
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> from
+ a socket of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SeqPacketSocketService.html" title="Sequenced packet socket service requirements">SeqPacketSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_seq_packet_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SeqPacketSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a sequenced packet socket from one object
+ to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.operator_eq_.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/protocol_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/protocol_type.html
new file mode 100644
index 0000000000..1b6e81171d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="operator_eq_/overload2.html" title="basic_seq_packet_socket::operator= (2 of 2 overloads)">
+<link rel="next" href="receive.html" title="basic_seq_packet_socket::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_seq_packet_socket::protocol_type">basic_seq_packet_socket::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp109319168"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_seq_packet_socket.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/receive.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive.html
new file mode 100644
index 0000000000..d42a98aa20
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="protocol_type.html" title="basic_seq_packet_socket::protocol_type">
+<link rel="next" href="receive/overload1.html" title="basic_seq_packet_socket::receive (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.receive"></a><a class="link" href="receive.html" title="basic_seq_packet_socket::receive">basic_seq_packet_socket::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp109331440"></a>
+Receive some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload1.html" title="basic_seq_packet_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload1.html" title="basic_seq_packet_socket::receive (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload2.html" title="basic_seq_packet_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload2.html" title="basic_seq_packet_socket::receive (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload3.html" title="basic_seq_packet_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload3.html" title="basic_seq_packet_socket::receive (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload1.html
new file mode 100644
index 0000000000..3884a46005
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::receive (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_seq_packet_socket::receive">
+<link rel="prev" href="../receive.html" title="basic_seq_packet_socket::receive">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::receive (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::receive (1 of 3 overloads)">basic_seq_packet_socket::receive
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the sequenced packet socket.
+ The function call will block until data has been received successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">out_flags</span></dt>
+<dd><p>
+ After the receive call completes, contains flags associated with
+ the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
+ bit is set then the received data marks the end of a record.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">out_flags</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload2.html
new file mode 100644
index 0000000000..c852c30bb9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload2.html
@@ -0,0 +1,128 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::receive (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_seq_packet_socket::receive">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::receive (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_seq_packet_socket::receive (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::receive (2 of 3 overloads)">basic_seq_packet_socket::receive
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the sequenced packet socket.
+ The function call will block until data has been received successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">in_flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">out_flags</span></dt>
+<dd><p>
+ After the receive call completes, contains flags associated with
+ the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
+ bit is set then the received data marks the end of a record.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.receive.overload2.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">out_flags</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload3.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload3.html
new file mode 100644
index 0000000000..5ed25f5924
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive/overload3.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::receive (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_seq_packet_socket::receive">
+<link rel="prev" href="overload2.html" title="basic_seq_packet_socket::receive (2 of 3 overloads)">
+<link rel="next" href="../receive_buffer_size.html" title="basic_seq_packet_socket::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3"></a><a class="link" href="overload3.html" title="basic_seq_packet_socket::receive (3 of 3 overloads)">basic_seq_packet_socket::receive
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the sequenced packet socket.
+ The function call will block until data has been received successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">in_flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">out_flags</span></dt>
+<dd><p>
+ After the receive call completes, contains flags associated with
+ the received data. For example, if the <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_end_of_record</span></code>
+ bit is set then the received data marks the end of a record.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_seq_packet_socket.receive.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive_buffer_size.html
new file mode 100644
index 0000000000..0900a90b7d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="receive/overload3.html" title="basic_seq_packet_socket::receive (3 of 3 overloads)">
+<link rel="next" href="receive_low_watermark.html" title="basic_seq_packet_socket::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_seq_packet_socket::receive_buffer_size">basic_seq_packet_socket::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp109563504"></a>
+Socket option for the receive
+ buffer size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_seq_packet_socket.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive_low_watermark.html
new file mode 100644
index 0000000000..eb3876a5dc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/receive_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="receive_buffer_size.html" title="basic_seq_packet_socket::receive_buffer_size">
+<link rel="next" href="remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_seq_packet_socket::receive_low_watermark">basic_seq_packet_socket::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp109620752"></a>
+Socket option for the receive
+ low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_seq_packet_socket.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint.html
new file mode 100644
index 0000000000..f411d0eab3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="receive_low_watermark.html" title="basic_seq_packet_socket::receive_low_watermark">
+<link rel="next" href="remote_endpoint/overload1.html" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint">basic_seq_packet_socket::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp109677264"></a>
+Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload1.html" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload1.html" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload2.html" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload2.html" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload1.html
new file mode 100644
index 0000000000..9dc77bd831
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint">
+<link rel="prev" href="../remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">basic_seq_packet_socket::remote_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload2.html
new file mode 100644
index 0000000000..ac36c53844
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/remote_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::remote_endpoint (1 of 2 overloads)">
+<link rel="next" href="../reuse_address.html" title="basic_seq_packet_socket::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">basic_seq_packet_socket::remote_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket. Returns
+ a default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.remote_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/reuse_address.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/reuse_address.html
new file mode 100644
index 0000000000..df3f0b7083
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="remote_endpoint/overload2.html" title="basic_seq_packet_socket::remote_endpoint (2 of 2 overloads)">
+<link rel="next" href="send.html" title="basic_seq_packet_socket::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_seq_packet_socket::reuse_address">basic_seq_packet_socket::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp109783360"></a>
+Socket option to allow the socket to
+ be bound to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_seq_packet_socket.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_seq_packet_socket.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/send.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/send.html
new file mode 100644
index 0000000000..1c1b38d9a6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/send.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="reuse_address.html" title="basic_seq_packet_socket::reuse_address">
+<link rel="next" href="send/overload1.html" title="basic_seq_packet_socket::send (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.send"></a><a class="link" href="send.html" title="basic_seq_packet_socket::send">basic_seq_packet_socket::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp109839728"></a>
+Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload1.html" title="basic_seq_packet_socket::send (1 of 2 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload1.html" title="basic_seq_packet_socket::send (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload2.html" title="basic_seq_packet_socket::send (2 of 2 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload2.html" title="basic_seq_packet_socket::send (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload1.html
new file mode 100644
index 0000000000..98b097804a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload1.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::send (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_seq_packet_socket::send">
+<link rel="prev" href="../send.html" title="basic_seq_packet_socket::send">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::send (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::send (1 of 2 overloads)">basic_seq_packet_socket::send
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the sequenced packet socket. The
+ function call will block until the data has been sent successfully, or
+ an until error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload2.html
new file mode 100644
index 0000000000..1bc9700b8f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/send/overload2.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::send (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_seq_packet_socket::send">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::send (1 of 2 overloads)">
+<link rel="next" href="../send_buffer_size.html" title="basic_seq_packet_socket::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::send (2 of 2 overloads)">basic_seq_packet_socket::send
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the sequenced packet socket. The
+ function call will block the data has been sent successfully, or an until
+ error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.send.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
+ function if you need to ensure that all data is written before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/send_buffer_size.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/send_buffer_size.html
new file mode 100644
index 0000000000..ce0aa257e6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="send/overload2.html" title="basic_seq_packet_socket::send (2 of 2 overloads)">
+<link rel="next" href="send_low_watermark.html" title="basic_seq_packet_socket::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_seq_packet_socket::send_buffer_size">basic_seq_packet_socket::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp109964752"></a>
+Socket option for the send buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_seq_packet_socket.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/send_low_watermark.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/send_low_watermark.html
new file mode 100644
index 0000000000..1633b2c033
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/send_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="send_buffer_size.html" title="basic_seq_packet_socket::send_buffer_size">
+<link rel="next" href="service.html" title="basic_seq_packet_socket::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_seq_packet_socket::send_low_watermark">basic_seq_packet_socket::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp110022064"></a>
+Socket option for the send low
+ watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_seq_packet_socket.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/service.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/service.html
new file mode 100644
index 0000000000..658f3155b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="send_low_watermark.html" title="basic_seq_packet_socket::send_low_watermark">
+<link rel="next" href="service_type.html" title="basic_seq_packet_socket::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.service"></a><a class="link" href="service.html" title="basic_seq_packet_socket::service">basic_seq_packet_socket::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp110079296"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_seq_packet_socket.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/service_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/service_type.html
new file mode 100644
index 0000000000..462f9efe52
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="service.html" title="basic_seq_packet_socket::service">
+<link rel="next" href="set_option.html" title="basic_seq_packet_socket::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.service_type"></a><a class="link" href="service_type.html" title="basic_seq_packet_socket::service_type">basic_seq_packet_socket::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp110091808"></a>
+The type of the service that will be
+ used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SeqPacketSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_seq_packet_socket.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_seq_packet_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option.html
new file mode 100644
index 0000000000..4e6e6e627e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="service_type.html" title="basic_seq_packet_socket::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option"></a><a class="link" href="set_option.html" title="basic_seq_packet_socket::set_option">basic_seq_packet_socket::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110104352"></a>
+Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload1.html
new file mode 100644
index 0000000000..48f8fe12ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload1.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_seq_packet_socket::set_option">
+<link rel="prev" href="../set_option.html" title="basic_seq_packet_socket::set_option">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">basic_seq_packet_socket::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload2.html
new file mode 100644
index 0000000000..afc0195124
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/set_option/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_seq_packet_socket::set_option">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::set_option (1 of 2 overloads)">
+<link rel="next" href="../shutdown.html" title="basic_seq_packet_socket::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">basic_seq_packet_socket::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown.html
new file mode 100644
index 0000000000..ed145f7d11
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="set_option/overload2.html" title="basic_seq_packet_socket::set_option (2 of 2 overloads)">
+<link rel="next" href="shutdown/overload1.html" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown"></a><a class="link" href="shutdown.html" title="basic_seq_packet_socket::shutdown">basic_seq_packet_socket::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110233824"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload1.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload1.html
new file mode 100644
index 0000000000..ba2b395aa2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_seq_packet_socket::shutdown">
+<link rel="prev" href="../shutdown.html" title="basic_seq_packet_socket::shutdown">
+<link rel="next" href="overload2.html" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1"></a><a class="link" href="overload1.html" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">basic_seq_packet_socket::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload1.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload2.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload2.html
new file mode 100644
index 0000000000..3fabae9e8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_seq_packet_socket::shutdown">
+<link rel="prev" href="overload1.html" title="basic_seq_packet_socket::shutdown (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_seq_packet_socket::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2"></a><a class="link" href="overload2.html" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">basic_seq_packet_socket::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_seq_packet_socket.shutdown.overload2.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown_type.html b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown_type.html
new file mode 100644
index 0000000000..c15db1ffb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_seq_packet_socket/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_seq_packet_socket::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket">
+<link rel="prev" href="shutdown/overload2.html" title="basic_seq_packet_socket::shutdown (2 of 2 overloads)">
+<link rel="next" href="../basic_serial_port.html" title="basic_serial_port">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_seq_packet_socket::shutdown_type">basic_seq_packet_socket::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp110348032"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp110351728"></a>
+ <a class="indexterm" name="idp110352832"></a>
+ <a class="indexterm" name="idp110353936"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_seq_packet_socket.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_seq_packet_socket.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_seq_packet_socket.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_seq_packet_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port.html b/doc/html/boost_asio/reference/basic_serial_port.html
new file mode 100644
index 0000000000..edc5264ae0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port.html
@@ -0,0 +1,514 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_seq_packet_socket/shutdown_type.html" title="basic_seq_packet_socket::shutdown_type">
+<link rel="next" href="basic_serial_port/assign.html" title="basic_serial_port::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_seq_packet_socket/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_serial_port/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_serial_port"></a><a class="link" href="basic_serial_port.html" title="basic_serial_port">basic_serial_port</a>
+</h3></div></div></div>
+<p>
+ Provides serial port functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SerialPortService.html" title="Serial port service requirements">SerialPortService</a> <span class="special">=</span> <span class="identifier">serial_port_service</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_serial_port</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SerialPortService</span> <span class="special">&gt;,</span>
+ <span class="keyword">public</span> <span class="identifier">serial_port_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_serial_port.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.types"></a></span><a class="link" href="basic_serial_port.html#boost_asio.reference.basic_serial_port.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/implementation_type.html" title="basic_serial_port::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/lowest_layer_type.html" title="basic_serial_port::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_serial_port is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native_handle_type.html" title="basic_serial_port::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native_type.html" title="basic_serial_port::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/service_type.html" title="basic_serial_port::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_serial_port.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.member_functions"></a></span><a class="link" href="basic_serial_port.html#boost_asio.reference.basic_serial_port.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/assign.html" title="basic_serial_port::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native serial port to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/async_read_some.html" title="basic_serial_port::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/async_write_some.html" title="basic_serial_port::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/basic_serial_port.html" title="basic_serial_port::basic_serial_port"><span class="bold"><strong>basic_serial_port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_serial_port without opening it.
+ </p>
+ <p>
+ Construct and open a basic_serial_port.
+ </p>
+ <p>
+ Construct a basic_serial_port on an existing native serial port.
+ </p>
+ <p>
+ Move-construct a basic_serial_port from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/cancel.html" title="basic_serial_port::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/close.html" title="basic_serial_port::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_io_service.html" title="basic_serial_port::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_option.html" title="basic_serial_port::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/is_open.html" title="basic_serial_port::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the serial port is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/lowest_layer.html" title="basic_serial_port::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native.html" title="basic_serial_port::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native serial port representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native_handle.html" title="basic_serial_port::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native serial port representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/open.html" title="basic_serial_port::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the serial port using the specified device name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/operator_eq_.html" title="basic_serial_port::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_serial_port from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/read_some.html" title="basic_serial_port::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/send_break.html" title="basic_serial_port::send_break"><span class="bold"><strong>send_break</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a break sequence to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/set_option.html" title="basic_serial_port::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/write_some.html" title="basic_serial_port::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the serial port.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_serial_port.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.protected_member_functions"></a></span><a class="link" href="basic_serial_port.html#boost_asio.reference.basic_serial_port.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_implementation.html" title="basic_serial_port::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_service.html" title="basic_serial_port::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_serial_port.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.protected_data_members"></a></span><a class="link" href="basic_serial_port.html#boost_asio.reference.basic_serial_port.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/implementation.html" title="basic_serial_port::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/service.html" title="basic_serial_port::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
+ provides functionality that is common to all serial ports.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_serial_port.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.thread_safety"></a></span><a class="link" href="basic_serial_port.html#boost_asio.reference.basic_serial_port.thread_safety">Thread Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_serial_port.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.requirements"></a></span><a class="link" href="basic_serial_port.html#boost_asio.reference.basic_serial_port.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_seq_packet_socket/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_serial_port/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/assign.html b/doc/html/boost_asio/reference/basic_serial_port/assign.html
new file mode 100644
index 0000000000..bd39e1252e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/assign.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="next" href="assign/overload1.html" title="basic_serial_port::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.assign"></a><a class="link" href="assign.html" title="basic_serial_port::assign">basic_serial_port::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110515168"></a>
+Assign an existing native serial port to the serial
+ port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_serial_port::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_serial_port::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_serial_port::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_serial_port::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_serial_port.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/assign/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/assign/overload1.html
new file mode 100644
index 0000000000..621c50f49a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/assign/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_serial_port::assign">
+<link rel="prev" href="../assign.html" title="basic_serial_port::assign">
+<link rel="next" href="overload2.html" title="basic_serial_port::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.assign.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::assign (1 of 2 overloads)">basic_serial_port::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native serial port to the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/assign/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/assign/overload2.html
new file mode 100644
index 0000000000..d9357e8564
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/assign/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_serial_port::assign">
+<link rel="prev" href="overload1.html" title="basic_serial_port::assign (1 of 2 overloads)">
+<link rel="next" href="../async_read_some.html" title="basic_serial_port::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.assign.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::assign (2 of 2 overloads)">basic_serial_port::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native serial port to the serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/async_read_some.html b/doc/html/boost_asio/reference/basic_serial_port/async_read_some.html
new file mode 100644
index 0000000000..a887cba72e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/async_read_some.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="assign/overload2.html" title="basic_serial_port::assign (2 of 2 overloads)">
+<link rel="next" href="async_write_some.html" title="basic_serial_port::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.async_read_some"></a><a class="link" href="async_read_some.html" title="basic_serial_port::async_read_some">basic_serial_port::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110562752"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data from the serial port.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.async_read_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_read_some.parameters"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.basic_serial_port.async_read_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.async_read_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_read_some.remarks"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.basic_serial_port.async_read_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The read operation may not read all of the requested number of bytes. Consider
+ using the <a class="link" href="../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.async_read_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_read_some.example"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.basic_serial_port.async_read_some.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/async_write_some.html b/doc/html/boost_asio/reference/basic_serial_port/async_write_some.html
new file mode 100644
index 0000000000..8a2c2e8976
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/async_write_some.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="async_read_some.html" title="basic_serial_port::async_read_some">
+<link rel="next" href="basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_serial_port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.async_write_some"></a><a class="link" href="async_write_some.html" title="basic_serial_port::async_write_some">basic_serial_port::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110627952"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write data to the serial port.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.async_write_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_write_some.parameters"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.basic_serial_port.async_write_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the serial port. Although
+ the buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.async_write_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_write_some.remarks"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.basic_serial_port.async_write_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The write operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
+ to ensure that all data is written before the asynchronous operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.async_write_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.async_write_some.example"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.basic_serial_port.async_write_some.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_serial_port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port.html b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port.html
new file mode 100644
index 0000000000..7775f7d7b7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::basic_serial_port</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="async_write_some.html" title="basic_serial_port::async_write_some">
+<link rel="next" href="basic_serial_port/overload1.html" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_serial_port/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port"></a><a class="link" href="basic_serial_port.html" title="basic_serial_port::basic_serial_port">basic_serial_port::basic_serial_port</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110692768"></a>
+Construct a <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_serial_port/overload1.html" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_serial_port/overload1.html" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct and open a <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_serial_port/overload2.html" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">device</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_serial_port/overload2.html" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">more...</a></em></span>
+
+<span class="keyword">explicit</span> <a class="link" href="basic_serial_port/overload3.html" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_serial_port/overload3.html" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> on an existing
+ native serial port.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_serial_port/overload4.html" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_serial_port/overload4.html" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_serial_port/overload5.html" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">basic_serial_port</a><span class="special">(</span>
+ <span class="identifier">basic_serial_port</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_serial_port/overload5.html" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_serial_port/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload1.html
new file mode 100644
index 0000000000..c61dc41fd5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::basic_serial_port (1 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+<link rel="prev" href="../basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+<link rel="next" href="overload2.html" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">basic_serial_port::basic_serial_port
+ (1 of 5 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a serial port without opening it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the serial port will use to dispatch handlers for any asynchronous
+ operations performed on the port.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_serial_port.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload2.html
new file mode 100644
index 0000000000..e0f4cfd37f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload2.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::basic_serial_port (2 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+<link rel="prev" href="overload1.html" title="basic_serial_port::basic_serial_port (1 of 5 overloads)">
+<link rel="next" href="overload3.html" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">basic_serial_port::basic_serial_port
+ (2 of 5 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">device</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a serial port for the specified device
+ name.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the serial port will use to dispatch handlers for any asynchronous
+ operations performed on the port.
+ </p></dd>
+<dt><span class="term">device</span></dt>
+<dd><p>
+ The platform-specific device name for this serial port.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload3.html b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload3.html
new file mode 100644
index 0000000000..bb5193221b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload3.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::basic_serial_port (3 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+<link rel="prev" href="overload2.html" title="basic_serial_port::basic_serial_port (2 of 5 overloads)">
+<link rel="next" href="overload4.html" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload3"></a><a class="link" href="overload3.html" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">basic_serial_port::basic_serial_port
+ (3 of 5 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a serial port for the specified device
+ name.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the serial port will use to dispatch handlers for any asynchronous
+ operations performed on the port.
+ </p></dd>
+<dt><span class="term">device</span></dt>
+<dd><p>
+ The platform-specific device name for this serial port.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload4.html b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload4.html
new file mode 100644
index 0000000000..a07804f739
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload4.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::basic_serial_port (4 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+<link rel="prev" href="overload3.html" title="basic_serial_port::basic_serial_port (3 of 5 overloads)">
+<link rel="next" href="overload5.html" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4"></a><a class="link" href="overload4.html" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">basic_serial_port::basic_serial_port
+ (4 of 5 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> on an existing
+ native serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_serial_port</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a serial port object to hold an existing native
+ serial port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the serial port will use to dispatch handlers for any asynchronous
+ operations performed on the port.
+ </p></dd>
+<dt><span class="term">native_serial_port</span></dt>
+<dd><p>
+ A native serial port.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload5.html b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload5.html
new file mode 100644
index 0000000000..9e3d6284ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/basic_serial_port/overload5.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::basic_serial_port (5 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port::basic_serial_port">
+<link rel="prev" href="overload4.html" title="basic_serial_port::basic_serial_port (4 of 5 overloads)">
+<link rel="next" href="../cancel.html" title="basic_serial_port::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5"></a><a class="link" href="overload5.html" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">basic_serial_port::basic_serial_port
+ (5 of 5 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_serial_port</span><span class="special">(</span>
+ <span class="identifier">basic_serial_port</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a serial port from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.basic_serial_port.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_serial_port.basic_serial_port.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_serial_port</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/cancel.html b/doc/html/boost_asio/reference/basic_serial_port/cancel.html
new file mode 100644
index 0000000000..dc4f64c2e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="basic_serial_port/overload5.html" title="basic_serial_port::basic_serial_port (5 of 5 overloads)">
+<link rel="next" href="cancel/overload1.html" title="basic_serial_port::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_serial_port/overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.cancel"></a><a class="link" href="cancel.html" title="basic_serial_port::cancel">basic_serial_port::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110874432"></a>
+Cancel all asynchronous operations associated with
+ the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_serial_port::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_serial_port::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_serial_port::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_serial_port::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_serial_port/overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/cancel/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/cancel/overload1.html
new file mode 100644
index 0000000000..60f52b064f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/cancel/overload1.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_serial_port::cancel">
+<link rel="prev" href="../cancel.html" title="basic_serial_port::cancel">
+<link rel="next" href="overload2.html" title="basic_serial_port::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::cancel (1 of 2 overloads)">basic_serial_port::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/cancel/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/cancel/overload2.html
new file mode 100644
index 0000000000..e22f319e83
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/cancel/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_serial_port::cancel">
+<link rel="prev" href="overload1.html" title="basic_serial_port::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_serial_port::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::cancel (2 of 2 overloads)">basic_serial_port::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/close.html b/doc/html/boost_asio/reference/basic_serial_port/close.html
new file mode 100644
index 0000000000..eda3552552
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="cancel/overload2.html" title="basic_serial_port::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_serial_port::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.close"></a><a class="link" href="close.html" title="basic_serial_port::close">basic_serial_port::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110929504"></a>
+Close the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_serial_port::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_serial_port::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_serial_port::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_serial_port::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/close/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/close/overload1.html
new file mode 100644
index 0000000000..ceb87b2e7c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/close/overload1.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_serial_port::close">
+<link rel="prev" href="../close.html" title="basic_serial_port::close">
+<link rel="next" href="overload2.html" title="basic_serial_port::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.close.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::close (1 of 2 overloads)">basic_serial_port::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the serial port. Any asynchronous read
+ or write operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/close/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/close/overload2.html
new file mode 100644
index 0000000000..ac8c6c7f13
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/close/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_serial_port::close">
+<link rel="prev" href="overload1.html" title="basic_serial_port::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="basic_serial_port::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.close.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::close (2 of 2 overloads)">basic_serial_port::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the serial port. Any asynchronous read
+ or write operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_implementation.html b/doc/html/boost_asio/reference/basic_serial_port/get_implementation.html
new file mode 100644
index 0000000000..aa3d651ed6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="close/overload2.html" title="basic_serial_port::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="basic_serial_port::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_serial_port::get_implementation">basic_serial_port::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp110984448"></a>
+Get the underlying implementation of
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_serial_port::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_serial_port::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_serial_port::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_serial_port::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload1.html
new file mode 100644
index 0000000000..b30941570e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_serial_port::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_serial_port::get_implementation">
+<link rel="next" href="overload2.html" title="basic_serial_port::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::get_implementation (1 of 2 overloads)">basic_serial_port::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload2.html
new file mode 100644
index 0000000000..9873bddbf5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_serial_port::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_serial_port::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_serial_port::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::get_implementation (2 of 2 overloads)">basic_serial_port::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_io_service.html b/doc/html/boost_asio/reference/basic_serial_port/get_io_service.html
new file mode 100644
index 0000000000..f293dc58b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_serial_port::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_serial_port::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_serial_port::get_io_service">basic_serial_port::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp111014576"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_serial_port.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_option.html b/doc/html/boost_asio/reference/basic_serial_port/get_option.html
new file mode 100644
index 0000000000..c62f9eda66
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_option.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="get_io_service.html" title="basic_serial_port::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_serial_port::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_option"></a><a class="link" href="get_option.html" title="basic_serial_port::get_option">basic_serial_port::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111032864"></a>
+Get an option from the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_serial_port::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_serial_port::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_serial_port::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_serial_port::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_option/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/get_option/overload1.html
new file mode 100644
index 0000000000..b98d977103
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_option/overload1.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_serial_port::get_option">
+<link rel="prev" href="../get_option.html" title="basic_serial_port::get_option">
+<link rel="next" href="overload2.html" title="basic_serial_port::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::get_option (1 of 2 overloads)">basic_serial_port::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get an option from the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the serial
+ port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the serial port.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_option/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/get_option/overload2.html
new file mode 100644
index 0000000000..90eb21ca4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_option/overload2.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_serial_port::get_option">
+<link rel="prev" href="overload1.html" title="basic_serial_port::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_serial_port::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::get_option (2 of 2 overloads)">basic_serial_port::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get an option from the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the serial
+ port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the serial port.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_service.html b/doc/html/boost_asio/reference/basic_serial_port/get_service.html
new file mode 100644
index 0000000000..3cb5c6737f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="get_option/overload2.html" title="basic_serial_port::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_serial_port::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_service"></a><a class="link" href="get_service.html" title="basic_serial_port::get_service">basic_serial_port::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111109872"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_serial_port::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_serial_port::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_serial_port::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_serial_port::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_service/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/get_service/overload1.html
new file mode 100644
index 0000000000..2bd559d5a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_serial_port::get_service">
+<link rel="prev" href="../get_service.html" title="basic_serial_port::get_service">
+<link rel="next" href="overload2.html" title="basic_serial_port::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::get_service (1 of 2 overloads)">basic_serial_port::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/get_service/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/get_service/overload2.html
new file mode 100644
index 0000000000..6261f80c88
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_serial_port::get_service">
+<link rel="prev" href="overload1.html" title="basic_serial_port::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_serial_port::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::get_service (2 of 2 overloads)">basic_serial_port::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/implementation.html b/doc/html/boost_asio/reference/basic_serial_port/implementation.html
new file mode 100644
index 0000000000..213b0fdbe8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="get_service/overload2.html" title="basic_serial_port::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_serial_port::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.implementation"></a><a class="link" href="implementation.html" title="basic_serial_port::implementation">basic_serial_port::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp111139920"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/implementation_type.html b/doc/html/boost_asio/reference/basic_serial_port/implementation_type.html
new file mode 100644
index 0000000000..45845912c3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="implementation.html" title="basic_serial_port::implementation">
+<link rel="next" href="is_open.html" title="basic_serial_port::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_serial_port::implementation_type">basic_serial_port::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp111148736"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_serial_port.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/is_open.html b/doc/html/boost_asio/reference/basic_serial_port/is_open.html
new file mode 100644
index 0000000000..3203ef7212
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/is_open.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="implementation_type.html" title="basic_serial_port::implementation_type">
+<link rel="next" href="lowest_layer.html" title="basic_serial_port::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.is_open"></a><a class="link" href="is_open.html" title="basic_serial_port::is_open">basic_serial_port::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111162176"></a>
+Determine whether the serial port is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/lowest_layer.html b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer.html
new file mode 100644
index 0000000000..ae86a0f882
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="is_open.html" title="basic_serial_port::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_serial_port::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_serial_port::lowest_layer">basic_serial_port::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111169408"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_serial_port::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_serial_port::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_serial_port::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_serial_port::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload1.html
new file mode 100644
index 0000000000..69a29b8eb6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload1.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_serial_port::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_serial_port::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_serial_port::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::lowest_layer (1 of 2 overloads)">basic_serial_port::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload2.html
new file mode 100644
index 0000000000..cbdb526692
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer/overload2.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_serial_port::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_serial_port::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_serial_port::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::lowest_layer (2 of 2 overloads)">basic_serial_port::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer_type.html
new file mode 100644
index 0000000000..8516f5e613
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/lowest_layer_type.html
@@ -0,0 +1,515 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_serial_port::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="basic_serial_port::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_serial_port::lowest_layer_type">basic_serial_port::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111209856"></a>
+A <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> is always the
+ lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_serial_port</span><span class="special">&lt;</span> <span class="identifier">SerialPortService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_serial_port.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation_type.html" title="basic_serial_port::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer_type.html" title="basic_serial_port::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_serial_port is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle_type.html" title="basic_serial_port::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_type.html" title="basic_serial_port::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service_type.html" title="basic_serial_port::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_serial_port.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="assign.html" title="basic_serial_port::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native serial port to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="async_read_some.html" title="basic_serial_port::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="async_write_some.html" title="basic_serial_port::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port.html" title="basic_serial_port::basic_serial_port"><span class="bold"><strong>basic_serial_port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_serial_port without opening it.
+ </p>
+ <p>
+ Construct and open a basic_serial_port.
+ </p>
+ <p>
+ Construct a basic_serial_port on an existing native serial port.
+ </p>
+ <p>
+ Move-construct a basic_serial_port from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="cancel.html" title="basic_serial_port::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the serial
+ port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="close.html" title="basic_serial_port::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_io_service.html" title="basic_serial_port::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_option.html" title="basic_serial_port::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="is_open.html" title="basic_serial_port::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the serial port is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer.html" title="basic_serial_port::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native.html" title="basic_serial_port::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native serial port
+ representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle.html" title="basic_serial_port::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native serial port representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="open.html" title="basic_serial_port::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the serial port using the specified device name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="operator_eq_.html" title="basic_serial_port::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_serial_port from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="read_some.html" title="basic_serial_port::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="send_break.html" title="basic_serial_port::send_break"><span class="bold"><strong>send_break</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a break sequence to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="set_option.html" title="basic_serial_port::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="write_some.html" title="basic_serial_port::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the serial port.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_serial_port.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_implementation.html" title="basic_serial_port::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_service.html" title="basic_serial_port::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_serial_port.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation.html" title="basic_serial_port::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service.html" title="basic_serial_port::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
+ provides functionality that is common to all serial ports.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_serial_port.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_serial_port.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/native.html b/doc/html/boost_asio/reference/basic_serial_port/native.html
new file mode 100644
index 0000000000..aa2f923d57
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/native.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="lowest_layer_type.html" title="basic_serial_port::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="basic_serial_port::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.native"></a><a class="link" href="native.html" title="basic_serial_port::native">basic_serial_port::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111352688"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native serial port representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ serial port. This is intended to allow access to native serial port functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/native_handle.html b/doc/html/boost_asio/reference/basic_serial_port/native_handle.html
new file mode 100644
index 0000000000..ff64212d68
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/native_handle.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="native.html" title="basic_serial_port::native">
+<link rel="next" href="native_handle_type.html" title="basic_serial_port::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.native_handle"></a><a class="link" href="native_handle.html" title="basic_serial_port::native_handle">basic_serial_port::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111361056"></a>
+Get the native serial port representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ serial port. This is intended to allow access to native serial port functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/native_handle_type.html b/doc/html/boost_asio/reference/basic_serial_port/native_handle_type.html
new file mode 100644
index 0000000000..e7ae8bea6d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="native_handle.html" title="basic_serial_port::native_handle">
+<link rel="next" href="native_type.html" title="basic_serial_port::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_serial_port::native_handle_type">basic_serial_port::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111367696"></a>
+The native representation of a serial
+ port.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SerialPortService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_serial_port.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/native_type.html b/doc/html/boost_asio/reference/basic_serial_port/native_type.html
new file mode 100644
index 0000000000..0063c6b215
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="native_handle_type.html" title="basic_serial_port::native_handle_type">
+<link rel="next" href="open.html" title="basic_serial_port::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.native_type"></a><a class="link" href="native_type.html" title="basic_serial_port::native_type">basic_serial_port::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111381152"></a>
+(Deprecated: Use native_handle_type.) The native
+ representation of a serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SerialPortService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_serial_port.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/open.html b/doc/html/boost_asio/reference/basic_serial_port/open.html
new file mode 100644
index 0000000000..31125d50fe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="native_type.html" title="basic_serial_port::native_type">
+<link rel="next" href="open/overload1.html" title="basic_serial_port::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.open"></a><a class="link" href="open.html" title="basic_serial_port::open">basic_serial_port::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111394576"></a>
+Open the serial port using the specified device name.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_serial_port::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_serial_port::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_serial_port::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_serial_port::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/open/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/open/overload1.html
new file mode 100644
index 0000000000..ad2b0fbeae
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/open/overload1.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_serial_port::open">
+<link rel="prev" href="../open.html" title="basic_serial_port::open">
+<link rel="next" href="overload2.html" title="basic_serial_port::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.open.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::open (1 of 2 overloads)">basic_serial_port::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Open the serial port using the specified device name.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the serial port for the specified device name.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">device</span></dt>
+<dd><p>
+ The platform-specific device name.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/open/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/open/overload2.html
new file mode 100644
index 0000000000..07102ae247
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/open/overload2.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_serial_port::open">
+<link rel="prev" href="overload1.html" title="basic_serial_port::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_serial_port::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.open.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::open (2 of 2 overloads)">basic_serial_port::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Open the serial port using the specified device name.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the serial port using the given platform-specific
+ device name.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">device</span></dt>
+<dd><p>
+ The platform-specific device name.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set the indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/operator_eq_.html b/doc/html/boost_asio/reference/basic_serial_port/operator_eq_.html
new file mode 100644
index 0000000000..b2c41118a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/operator_eq_.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="open/overload2.html" title="basic_serial_port::open (2 of 2 overloads)">
+<link rel="next" href="read_some.html" title="basic_serial_port::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_serial_port::operator=">basic_serial_port::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111464576"></a>
+Move-assign a <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_serial_port</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_serial_port</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a serial port from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.basic_serial_port.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.basic_serial_port.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_serial_port</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/read_some.html b/doc/html/boost_asio/reference/basic_serial_port/read_some.html
new file mode 100644
index 0000000000..7d3e7e45fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/read_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="operator_eq_.html" title="basic_serial_port::operator=">
+<link rel="next" href="read_some/overload1.html" title="basic_serial_port::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.read_some"></a><a class="link" href="read_some.html" title="basic_serial_port::read_some">basic_serial_port::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111490176"></a>
+Read some data from the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="basic_serial_port::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="basic_serial_port::read_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="basic_serial_port::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="basic_serial_port::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/read_some/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/read_some/overload1.html
new file mode 100644
index 0000000000..4699249bc8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/read_some/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="basic_serial_port::read_some">
+<link rel="prev" href="../read_some.html" title="basic_serial_port::read_some">
+<link rel="next" href="overload2.html" title="basic_serial_port::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.read_some.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::read_some (1 of 2 overloads)">basic_serial_port::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the serial port. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.read_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.read_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.read_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.read_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.read_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/read_some/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/read_some/overload2.html
new file mode 100644
index 0000000000..877f211120
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/read_some/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="basic_serial_port::read_some">
+<link rel="prev" href="overload1.html" title="basic_serial_port::read_some (1 of 2 overloads)">
+<link rel="next" href="../send_break.html" title="basic_serial_port::send_break">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_break.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.read_some.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::read_some (2 of 2 overloads)">basic_serial_port::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the serial port. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.read_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.read_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.read_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.read_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.read_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_break.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/send_break.html b/doc/html/boost_asio/reference/basic_serial_port/send_break.html
new file mode 100644
index 0000000000..5228f872ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/send_break.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::send_break</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="read_some/overload2.html" title="basic_serial_port::read_some (2 of 2 overloads)">
+<link rel="next" href="send_break/overload1.html" title="basic_serial_port::send_break (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_break/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.send_break"></a><a class="link" href="send_break.html" title="basic_serial_port::send_break">basic_serial_port::send_break</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111608128"></a>
+Send a break sequence to the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="send_break/overload1.html" title="basic_serial_port::send_break (1 of 2 overloads)">send_break</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_break/overload1.html" title="basic_serial_port::send_break (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="send_break/overload2.html" title="basic_serial_port::send_break (2 of 2 overloads)">send_break</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send_break/overload2.html" title="basic_serial_port::send_break (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_break/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/send_break/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/send_break/overload1.html
new file mode 100644
index 0000000000..f55b4f5c60
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/send_break/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::send_break (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_break.html" title="basic_serial_port::send_break">
+<link rel="prev" href="../send_break.html" title="basic_serial_port::send_break">
+<link rel="next" href="overload2.html" title="basic_serial_port::send_break (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send_break.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_break.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.send_break.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::send_break (1 of 2 overloads)">basic_serial_port::send_break
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send a break sequence to the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">send_break</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes a break sequence of platform-specific duration to
+ be sent out the serial port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.send_break.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.send_break.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.send_break.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../send_break.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_break.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/send_break/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/send_break/overload2.html
new file mode 100644
index 0000000000..b909bf3917
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/send_break/overload2.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::send_break (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send_break.html" title="basic_serial_port::send_break">
+<link rel="prev" href="overload1.html" title="basic_serial_port::send_break (1 of 2 overloads)">
+<link rel="next" href="../service.html" title="basic_serial_port::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_break.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.send_break.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::send_break (2 of 2 overloads)">basic_serial_port::send_break
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send a break sequence to the serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">send_break</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes a break sequence of platform-specific duration to
+ be sent out the serial port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.send_break.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.send_break.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.send_break.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send_break.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/service.html b/doc/html/boost_asio/reference/basic_serial_port/service.html
new file mode 100644
index 0000000000..8ae826219b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="send_break/overload2.html" title="basic_serial_port::send_break (2 of 2 overloads)">
+<link rel="next" href="service_type.html" title="basic_serial_port::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_break/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.service"></a><a class="link" href="service.html" title="basic_serial_port::service">basic_serial_port::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp111654944"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_serial_port.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_break/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/service_type.html b/doc/html/boost_asio/reference/basic_serial_port/service_type.html
new file mode 100644
index 0000000000..757352c1a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="service.html" title="basic_serial_port::service">
+<link rel="next" href="set_option.html" title="basic_serial_port::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.service_type"></a><a class="link" href="service_type.html" title="basic_serial_port::service_type">basic_serial_port::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp111667360"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SerialPortService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_serial_port.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/set_option.html b/doc/html/boost_asio/reference/basic_serial_port/set_option.html
new file mode 100644
index 0000000000..96b70f1a03
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/set_option.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="service_type.html" title="basic_serial_port::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_serial_port::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.set_option"></a><a class="link" href="set_option.html" title="basic_serial_port::set_option">basic_serial_port::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111679664"></a>
+Set an option on the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_serial_port::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_serial_port::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_serial_port::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_serial_port::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/set_option/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/set_option/overload1.html
new file mode 100644
index 0000000000..a1d32ec468
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/set_option/overload1.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_serial_port::set_option">
+<link rel="prev" href="../set_option.html" title="basic_serial_port::set_option">
+<link rel="next" href="overload2.html" title="basic_serial_port::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::set_option (1 of 2 overloads)">basic_serial_port::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set an option on the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the serial port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be set on the serial port.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/set_option/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/set_option/overload2.html
new file mode 100644
index 0000000000..a69f9e85ce
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/set_option/overload2.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_serial_port::set_option">
+<link rel="prev" href="overload1.html" title="basic_serial_port::set_option (1 of 2 overloads)">
+<link rel="next" href="../write_some.html" title="basic_serial_port::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::set_option (2 of 2 overloads)">basic_serial_port::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set an option on the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the serial port.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be set on the serial port.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/write_some.html b/doc/html/boost_asio/reference/basic_serial_port/write_some.html
new file mode 100644
index 0000000000..3e8950bee0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/write_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_serial_port.html" title="basic_serial_port">
+<link rel="prev" href="set_option/overload2.html" title="basic_serial_port::set_option (2 of 2 overloads)">
+<link rel="next" href="write_some/overload1.html" title="basic_serial_port::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_serial_port.write_some"></a><a class="link" href="write_some.html" title="basic_serial_port::write_some">basic_serial_port::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp111759392"></a>
+Write some data to the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="basic_serial_port::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="basic_serial_port::write_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="basic_serial_port::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="basic_serial_port::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_serial_port.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/write_some/overload1.html b/doc/html/boost_asio/reference/basic_serial_port/write_some/overload1.html
new file mode 100644
index 0000000000..641f618db4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/write_some/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="basic_serial_port::write_some">
+<link rel="prev" href="../write_some.html" title="basic_serial_port::write_some">
+<link rel="next" href="overload2.html" title="basic_serial_port::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.write_some.overload1"></a><a class="link" href="overload1.html" title="basic_serial_port::write_some (1 of 2 overloads)">basic_serial_port::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the serial port. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.write_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the serial port.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.write_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.write_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.write_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_serial_port.write_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">serial_port</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_serial_port/write_some/overload2.html b/doc/html/boost_asio/reference/basic_serial_port/write_some/overload2.html
new file mode 100644
index 0000000000..167b07b9d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_serial_port/write_some/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_serial_port::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="basic_serial_port::write_some">
+<link rel="prev" href="overload1.html" title="basic_serial_port::write_some (1 of 2 overloads)">
+<link rel="next" href="../../basic_signal_set.html" title="basic_signal_set">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_signal_set.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_serial_port.write_some.overload2"></a><a class="link" href="overload2.html" title="basic_serial_port::write_some (2 of 2 overloads)">basic_serial_port::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the serial port. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.write_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the serial port.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.write_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_serial_port.write_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_serial_port.write_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_serial_port.write_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_signal_set.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set.html b/doc/html/boost_asio/reference/basic_signal_set.html
new file mode 100644
index 0000000000..b85f6ec6ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set.html
@@ -0,0 +1,412 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_serial_port/write_some/overload2.html" title="basic_serial_port::write_some (2 of 2 overloads)">
+<link rel="next" href="basic_signal_set/add.html" title="basic_signal_set::add">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_serial_port/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_signal_set/add.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_signal_set"></a><a class="link" href="basic_signal_set.html" title="basic_signal_set">basic_signal_set</a>
+</h3></div></div></div>
+<p>
+ Provides signal functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SignalSetService.html" title="Signal set service requirements">SignalSetService</a> <span class="special">=</span> <span class="identifier">signal_set_service</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_signal_set</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SignalSetService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.types"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/implementation_type.html" title="basic_signal_set::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/service_type.html" title="basic_signal_set::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.member_functions"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/add.html" title="basic_signal_set::add"><span class="bold"><strong>add</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add a signal to a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/async_wait.html" title="basic_signal_set::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous operation to wait for a signal to be delivered.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/basic_signal_set.html" title="basic_signal_set::basic_signal_set"><span class="bold"><strong>basic_signal_set</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a signal set without adding any signals.
+ </p>
+ <p>
+ Construct a signal set and add one signal.
+ </p>
+ <p>
+ Construct a signal set and add two signals.
+ </p>
+ <p>
+ Construct a signal set and add three signals.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/cancel.html" title="basic_signal_set::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all operations associated with the signal set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/clear.html" title="basic_signal_set::clear"><span class="bold"><strong>clear</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove all signals from a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/get_io_service.html" title="basic_signal_set::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/remove.html" title="basic_signal_set::remove"><span class="bold"><strong>remove</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove a signal from a signal_set.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.protected_member_functions"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/get_implementation.html" title="basic_signal_set::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/get_service.html" title="basic_signal_set::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.protected_data_members"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/implementation.html" title="basic_signal_set::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/service.html" title="basic_signal_set::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_signal_set.html" title="basic_signal_set"><code class="computeroutput"><span class="identifier">basic_signal_set</span></code></a>
+ class template provides the ability to perform an asynchronous wait for one
+ or more signals to occur.
+ </p>
+<p>
+ Most applications will use the <a class="link" href="signal_set.html" title="signal_set"><code class="computeroutput"><span class="identifier">signal_set</span></code></a> typedef.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.thread_safety"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.example"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.example">Example</a>
+ </h5>
+<p>
+ Performing an asynchronous wait:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// A signal occurred.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a signal set registered for process termination.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">SIGINT</span><span class="special">,</span> <span class="identifier">SIGTERM</span><span class="special">);</span>
+
+<span class="comment">// Start an asynchronous wait for one of the signals to occur.</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.queueing_of_signal_notifications"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.queueing_of_signal_notifications">Queueing
+ of signal notifications</a>
+ </h5>
+<p>
+ If a signal is registered with a signal_set, and the signal occurs when there
+ are no waiting handlers, then the signal notification is queued. The next
+ async_wait operation on that signal_set will dequeue the notification. If
+ multiple notifications are queued, subsequent async_wait operations dequeue
+ them one at a time. Signal notifications are dequeued in order of ascending
+ signal number.
+ </p>
+<p>
+ If a signal number is removed from a signal_set (using the <code class="computeroutput"><span class="identifier">remove</span></code> or <code class="computeroutput"><span class="identifier">erase</span></code>
+ member functions) then any queued notifications for that signal are discarded.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.multiple_registration_of_signals"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.multiple_registration_of_signals">Multiple
+ registration of signals</a>
+ </h5>
+<p>
+ The same signal number may be registered with different signal_set objects.
+ When the signal occurs, one handler is called for each signal_set object.
+ </p>
+<p>
+ Note that multiple registration only works for signals that are registered
+ using Asio. The application must not also register a signal handler using
+ functions such as <code class="computeroutput"><span class="identifier">signal</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">sigaction</span><span class="special">()</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.signal_masking_on_posix_platforms"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.signal_masking_on_posix_platforms">Signal
+ masking on POSIX platforms</a>
+ </h5>
+<p>
+ POSIX allows signals to be blocked using functions such as <code class="computeroutput"><span class="identifier">sigprocmask</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">pthread_sigmask</span><span class="special">()</span></code>.
+ For signals to be delivered, programs must ensure that any signals registered
+ using signal_set objects are unblocked in at least one thread.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_signal_set.h9"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.requirements"></a></span><a class="link" href="basic_signal_set.html#boost_asio.reference.basic_signal_set.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_signal_set.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_serial_port/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_signal_set/add.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/add.html b/doc/html/boost_asio/reference/basic_signal_set/add.html
new file mode 100644
index 0000000000..1bf001d119
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/add.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::add</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="next" href="add/overload1.html" title="basic_signal_set::add (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.add"></a><a class="link" href="add.html" title="basic_signal_set::add">basic_signal_set::add</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112032288"></a>
+Add a signal to a signal_set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="add/overload1.html" title="basic_signal_set::add (1 of 2 overloads)">add</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="add/overload1.html" title="basic_signal_set::add (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="add/overload2.html" title="basic_signal_set::add (2 of 2 overloads)">add</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="add/overload2.html" title="basic_signal_set::add (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_signal_set.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/add/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/add/overload1.html
new file mode 100644
index 0000000000..0802b648b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/add/overload1.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::add (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../add.html" title="basic_signal_set::add">
+<link rel="prev" href="../add.html" title="basic_signal_set::add">
+<link rel="next" href="overload2.html" title="basic_signal_set::add (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../add.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.add.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::add (1 of 2 overloads)">basic_signal_set::add
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Add a signal to a signal_set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
+</pre>
+<p>
+ This function adds the specified signal to the set. It has no effect
+ if the signal is already in the set.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.add.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.add.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.add.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">signal_number</span></dt>
+<dd><p>
+ The signal to be added to the set.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.add.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.add.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.add.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../add.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/add/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/add/overload2.html
new file mode 100644
index 0000000000..f88224d18e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/add/overload2.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::add (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../add.html" title="basic_signal_set::add">
+<link rel="prev" href="overload1.html" title="basic_signal_set::add (1 of 2 overloads)">
+<link rel="next" href="../async_wait.html" title="basic_signal_set::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_wait.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.add.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::add (2 of 2 overloads)">basic_signal_set::add
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Add a signal to a signal_set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function adds the specified signal to the set. It has no effect
+ if the signal is already in the set.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.add.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.add.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.add.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">signal_number</span></dt>
+<dd><p>
+ The signal to be added to the set.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_wait.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/async_wait.html b/doc/html/boost_asio/reference/basic_signal_set/async_wait.html
new file mode 100644
index 0000000000..22a006693d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/async_wait.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="add/overload2.html" title="basic_signal_set::add (2 of 2 overloads)">
+<link rel="next" href="basic_signal_set.html" title="basic_signal_set::basic_signal_set">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_signal_set.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.async_wait"></a><a class="link" href="async_wait.html" title="basic_signal_set::async_wait">basic_signal_set::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112092208"></a>
+Start an asynchronous operation to wait for a
+ signal to be delivered.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SignalHandler.html" title="Signal handler requirements">SignalHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">SignalHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to initiate an asynchronous wait against the
+ signal set. It always returns immediately.
+ </p>
+<p>
+ For each call to <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>, the supplied handler will be called
+ exactly once. The handler will be called when:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ One of the registered signals in the signal set occurs; or
+ </li>
+<li class="listitem">
+ The signal set was cancelled, in which case the handler is passed the
+ error code <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.async_wait.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.async_wait.parameters"></a></span><a class="link" href="async_wait.html#boost_asio.reference.basic_signal_set.async_wait.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the signal occurs. Copies will be made
+ of the handler as required. The function signature of the handler
+ must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span> <span class="comment">// Indicates which signal occurred.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="add/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_signal_set.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set.html b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set.html
new file mode 100644
index 0000000000..4e07a8875d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::basic_signal_set</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="async_wait.html" title="basic_signal_set::async_wait">
+<link rel="next" href="basic_signal_set/overload1.html" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_signal_set/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set"></a><a class="link" href="basic_signal_set.html" title="basic_signal_set::basic_signal_set">basic_signal_set::basic_signal_set</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112135552"></a>
+Construct a signal set without adding any
+ signals.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_signal_set/overload1.html" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_signal_set/overload1.html" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a signal set and add one signal.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_signal_set/overload2.html" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_signal_set/overload2.html" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a signal set and add two signals.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_signal_set/overload3.html" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_signal_set/overload3.html" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a signal set and add three signals.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_signal_set/overload4.html" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">basic_signal_set</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_3</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_signal_set/overload4.html" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_signal_set/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload1.html
new file mode 100644
index 0000000000..8acf861572
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload1.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::basic_signal_set (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set::basic_signal_set">
+<link rel="prev" href="../basic_signal_set.html" title="basic_signal_set::basic_signal_set">
+<link rel="next" href="overload2.html" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">basic_signal_set::basic_signal_set
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a signal set without adding any signals.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a signal set without registering for any signals.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the signal set will use to dispatch handlers for any asynchronous
+ operations performed on the set.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_signal_set.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload2.html
new file mode 100644
index 0000000000..59982cba66
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload2.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::basic_signal_set (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set::basic_signal_set">
+<link rel="prev" href="overload1.html" title="basic_signal_set::basic_signal_set (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">basic_signal_set::basic_signal_set
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a signal set and add one signal.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a signal set and registers for one signal.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the signal set will use to dispatch handlers for any asynchronous
+ operations performed on the set.
+ </p></dd>
+<dt><span class="term">signal_number_1</span></dt>
+<dd><p>
+ The signal number to be added.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ This constructor is equivalent to performing:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_1</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload3.html b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload3.html
new file mode 100644
index 0000000000..c15ba4e0c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload3.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::basic_signal_set (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set::basic_signal_set">
+<link rel="prev" href="overload2.html" title="basic_signal_set::basic_signal_set (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3"></a><a class="link" href="overload3.html" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">basic_signal_set::basic_signal_set
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a signal set and add two signals.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a signal set and registers for two signals.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the signal set will use to dispatch handlers for any asynchronous
+ operations performed on the set.
+ </p></dd>
+<dt><span class="term">signal_number_1</span></dt>
+<dd><p>
+ The first signal number to be added.
+ </p></dd>
+<dt><span class="term">signal_number_2</span></dt>
+<dd><p>
+ The second signal number to be added.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ This constructor is equivalent to performing:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_1</span><span class="special">);</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_2</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload4.html b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload4.html
new file mode 100644
index 0000000000..f9c8f2a264
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/basic_signal_set/overload4.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::basic_signal_set (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set::basic_signal_set">
+<link rel="prev" href="overload3.html" title="basic_signal_set::basic_signal_set (3 of 4 overloads)">
+<link rel="next" href="../cancel.html" title="basic_signal_set::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4"></a><a class="link" href="overload4.html" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">basic_signal_set::basic_signal_set
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a signal set and add three signals.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_signal_set</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_1</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_2</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number_3</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a signal set and registers for three signals.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the signal set will use to dispatch handlers for any asynchronous
+ operations performed on the set.
+ </p></dd>
+<dt><span class="term">signal_number_1</span></dt>
+<dd><p>
+ The first signal number to be added.
+ </p></dd>
+<dt><span class="term">signal_number_2</span></dt>
+<dd><p>
+ The second signal number to be added.
+ </p></dd>
+<dt><span class="term">signal_number_3</span></dt>
+<dd><p>
+ The third signal number to be added.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.basic_signal_set.overload4.remarks"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_signal_set.basic_signal_set.overload4.remarks">Remarks</a>
+ </h6>
+<p>
+ This constructor is equivalent to performing:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_1</span><span class="special">);</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_2</span><span class="special">);</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">signal_number_3</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/cancel.html b/doc/html/boost_asio/reference/basic_signal_set/cancel.html
new file mode 100644
index 0000000000..39e7381f00
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="basic_signal_set/overload4.html" title="basic_signal_set::basic_signal_set (4 of 4 overloads)">
+<link rel="next" href="cancel/overload1.html" title="basic_signal_set::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_signal_set/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.cancel"></a><a class="link" href="cancel.html" title="basic_signal_set::cancel">basic_signal_set::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112320704"></a>
+Cancel all operations associated with the signal
+ set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_signal_set::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_signal_set::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_signal_set::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_signal_set::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_signal_set/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/cancel/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/cancel/overload1.html
new file mode 100644
index 0000000000..48eff052d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/cancel/overload1.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_signal_set::cancel">
+<link rel="prev" href="../cancel.html" title="basic_signal_set::cancel">
+<link rel="next" href="overload2.html" title="basic_signal_set::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::cancel (1 of 2 overloads)">basic_signal_set::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all operations associated with the signal set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous wait
+ operations against the signal set. The handler for each cancelled operation
+ will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+<p>
+ Cancellation does not alter the set of registered signals.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ If a registered signal occurred before <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/cancel/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/cancel/overload2.html
new file mode 100644
index 0000000000..54421055d1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/cancel/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_signal_set::cancel">
+<link rel="prev" href="overload1.html" title="basic_signal_set::cancel (1 of 2 overloads)">
+<link rel="next" href="../clear.html" title="basic_signal_set::clear">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../clear.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::cancel (2 of 2 overloads)">basic_signal_set::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all operations associated with the signal set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous wait
+ operations against the signal set. The handler for each cancelled operation
+ will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+<p>
+ Cancellation does not alter the set of registered signals.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If a registered signal occurred before <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../clear.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/clear.html b/doc/html/boost_asio/reference/basic_signal_set/clear.html
new file mode 100644
index 0000000000..db32daa9b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/clear.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::clear</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="cancel/overload2.html" title="basic_signal_set::cancel (2 of 2 overloads)">
+<link rel="next" href="clear/overload1.html" title="basic_signal_set::clear (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.clear"></a><a class="link" href="clear.html" title="basic_signal_set::clear">basic_signal_set::clear</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112392640"></a>
+Remove all signals from a signal_set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="clear/overload1.html" title="basic_signal_set::clear (1 of 2 overloads)">clear</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="clear/overload1.html" title="basic_signal_set::clear (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="clear/overload2.html" title="basic_signal_set::clear (2 of 2 overloads)">clear</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="clear/overload2.html" title="basic_signal_set::clear (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/clear/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/clear/overload1.html
new file mode 100644
index 0000000000..f02e921fc6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/clear/overload1.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::clear (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../clear.html" title="basic_signal_set::clear">
+<link rel="prev" href="../clear.html" title="basic_signal_set::clear">
+<link rel="next" href="overload2.html" title="basic_signal_set::clear (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../clear.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.clear.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::clear (1 of 2 overloads)">basic_signal_set::clear
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Remove all signals from a signal_set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+</pre>
+<p>
+ This function removes all signals from the set. It has no effect if the
+ set is already empty.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.clear.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.clear.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.clear.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.clear.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Removes all queued notifications.
+ </p>
+</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 &#169; 2003-2017 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="../clear.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/clear/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/clear/overload2.html
new file mode 100644
index 0000000000..c430c8e262
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/clear/overload2.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::clear (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../clear.html" title="basic_signal_set::clear">
+<link rel="prev" href="overload1.html" title="basic_signal_set::clear (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="basic_signal_set::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.clear.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::clear (2 of 2 overloads)">basic_signal_set::clear
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Remove all signals from a signal_set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">clear</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function removes all signals from the set. It has no effect if the
+ set is already empty.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.clear.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.clear.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.clear.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.clear.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.clear.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Removes all queued notifications.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_implementation.html b/doc/html/boost_asio/reference/basic_signal_set/get_implementation.html
new file mode 100644
index 0000000000..7e6d7d73fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="clear/overload2.html" title="basic_signal_set::clear (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="basic_signal_set::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="clear/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_signal_set::get_implementation">basic_signal_set::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112445200"></a>
+Get the underlying implementation of
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_signal_set::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_signal_set::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_signal_set::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_signal_set::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="clear/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload1.html
new file mode 100644
index 0000000000..b1b28f2238
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_signal_set::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_signal_set::get_implementation">
+<link rel="next" href="overload2.html" title="basic_signal_set::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::get_implementation (1 of 2 overloads)">basic_signal_set::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload2.html
new file mode 100644
index 0000000000..6f1b2a8bb6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_signal_set::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_signal_set::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_signal_set::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::get_implementation (2 of 2 overloads)">basic_signal_set::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_io_service.html b/doc/html/boost_asio/reference/basic_signal_set/get_io_service.html
new file mode 100644
index 0000000000..0d7bf162d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_signal_set::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="basic_signal_set::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_signal_set::get_io_service">basic_signal_set::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp112475136"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_signal_set.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_service.html b/doc/html/boost_asio/reference/basic_signal_set/get_service.html
new file mode 100644
index 0000000000..cf61929aa8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="get_io_service.html" title="basic_signal_set::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="basic_signal_set::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_service"></a><a class="link" href="get_service.html" title="basic_signal_set::get_service">basic_signal_set::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112493472"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_signal_set::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_signal_set::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_signal_set::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_signal_set::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_service/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/get_service/overload1.html
new file mode 100644
index 0000000000..a8e0ba4b01
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_signal_set::get_service">
+<link rel="prev" href="../get_service.html" title="basic_signal_set::get_service">
+<link rel="next" href="overload2.html" title="basic_signal_set::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::get_service (1 of 2 overloads)">basic_signal_set::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/get_service/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/get_service/overload2.html
new file mode 100644
index 0000000000..9fb7fd2f98
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_signal_set::get_service">
+<link rel="prev" href="overload1.html" title="basic_signal_set::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_signal_set::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::get_service (2 of 2 overloads)">basic_signal_set::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/implementation.html b/doc/html/boost_asio/reference/basic_signal_set/implementation.html
new file mode 100644
index 0000000000..bb3232488d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="get_service/overload2.html" title="basic_signal_set::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_signal_set::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.implementation"></a><a class="link" href="implementation.html" title="basic_signal_set::implementation">basic_signal_set::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp112523520"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/implementation_type.html b/doc/html/boost_asio/reference/basic_signal_set/implementation_type.html
new file mode 100644
index 0000000000..10d99cdf28
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="implementation.html" title="basic_signal_set::implementation">
+<link rel="next" href="remove.html" title="basic_signal_set::remove">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_signal_set::implementation_type">basic_signal_set::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp112532240"></a>
+The underlying implementation type of
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_signal_set.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_signal_set.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/remove.html b/doc/html/boost_asio/reference/basic_signal_set/remove.html
new file mode 100644
index 0000000000..16adfc1b7b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/remove.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::remove</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="implementation_type.html" title="basic_signal_set::implementation_type">
+<link rel="next" href="remove/overload1.html" title="basic_signal_set::remove (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.remove"></a><a class="link" href="remove.html" title="basic_signal_set::remove">basic_signal_set::remove</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112545632"></a>
+Remove a signal from a signal_set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="remove/overload1.html" title="basic_signal_set::remove (1 of 2 overloads)">remove</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remove/overload1.html" title="basic_signal_set::remove (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="remove/overload2.html" title="basic_signal_set::remove (2 of 2 overloads)">remove</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remove/overload2.html" title="basic_signal_set::remove (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/remove/overload1.html b/doc/html/boost_asio/reference/basic_signal_set/remove/overload1.html
new file mode 100644
index 0000000000..04dca8bee4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/remove/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::remove (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remove.html" title="basic_signal_set::remove">
+<link rel="prev" href="../remove.html" title="basic_signal_set::remove">
+<link rel="next" href="overload2.html" title="basic_signal_set::remove (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remove.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remove.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.remove.overload1"></a><a class="link" href="overload1.html" title="basic_signal_set::remove (1 of 2 overloads)">basic_signal_set::remove
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Remove a signal from a signal_set.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">remove</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">);</span>
+</pre>
+<p>
+ This function removes the specified signal from the set. It has no effect
+ if the signal is not in the set.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.remove.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.remove.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">signal_number</span></dt>
+<dd><p>
+ The signal to be removed from the set.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.remove.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.remove.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.remove.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_signal_set.remove.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Removes any notifications that have been queued for the specified signal
+ number.
+ </p>
+</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 &#169; 2003-2017 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="../remove.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remove.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/remove/overload2.html b/doc/html/boost_asio/reference/basic_signal_set/remove/overload2.html
new file mode 100644
index 0000000000..3112972ab1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/remove/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::remove (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remove.html" title="basic_signal_set::remove">
+<link rel="prev" href="overload1.html" title="basic_signal_set::remove (1 of 2 overloads)">
+<link rel="next" href="../service.html" title="basic_signal_set::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remove.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_signal_set.remove.overload2"></a><a class="link" href="overload2.html" title="basic_signal_set::remove (2 of 2 overloads)">basic_signal_set::remove
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Remove a signal from a signal_set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">remove</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function removes the specified signal from the set. It has no effect
+ if the signal is not in the set.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.remove.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.remove.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">signal_number</span></dt>
+<dd><p>
+ The signal to be removed from the set.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.remove.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.remove.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_signal_set.remove.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Removes any notifications that have been queued for the specified signal
+ number.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remove.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/service.html b/doc/html/boost_asio/reference/basic_signal_set/service.html
new file mode 100644
index 0000000000..cb6027d4a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="remove/overload2.html" title="basic_signal_set::remove (2 of 2 overloads)">
+<link rel="next" href="service_type.html" title="basic_signal_set::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.service"></a><a class="link" href="service.html" title="basic_signal_set::service">basic_signal_set::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp112613472"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_signal_set.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="remove/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_signal_set/service_type.html b/doc/html/boost_asio/reference/basic_signal_set/service_type.html
new file mode 100644
index 0000000000..939f821d40
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_signal_set/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_signal_set::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_signal_set.html" title="basic_signal_set">
+<link rel="prev" href="service.html" title="basic_signal_set::service">
+<link rel="next" href="../basic_socket.html" title="basic_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_signal_set.service_type"></a><a class="link" href="service_type.html" title="basic_signal_set::service_type">basic_signal_set::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp112626064"></a>
+The type of the service that will be used to
+ provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SignalSetService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_signal_set.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_signal_set.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_signal_set.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_signal_set.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_signal_set.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket.html b/doc/html/boost_asio/reference/basic_socket.html
new file mode 100644
index 0000000000..2787be734f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket.html
@@ -0,0 +1,911 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_signal_set/service_type.html" title="basic_signal_set::service_type">
+<link rel="next" href="basic_socket/assign.html" title="basic_socket::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_signal_set/service_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_socket"></a><a class="link" href="basic_socket.html" title="basic_socket">basic_socket</a>
+</h3></div></div></div>
+<p>
+ Provides socket functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_socket</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SocketService</span> <span class="special">&gt;,</span>
+ <span class="keyword">public</span> <span class="identifier">socket_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.types"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.member_functions"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.protected_member_functions"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.data_members"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.protected_data_members"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.thread_safety"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.requirements"></a></span><a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_signal_set/service_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/_basic_socket.html b/doc/html/boost_asio/reference/basic_socket/_basic_socket.html
new file mode 100644
index 0000000000..1168798ec6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/_basic_socket.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::~basic_socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="shutdown_type.html" title="basic_socket::shutdown_type">
+<link rel="next" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket._basic_socket"></a><a class="link" href="_basic_socket.html" title="basic_socket::~basic_socket">basic_socket::~basic_socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp116827040"></a>
+Protected destructor to prevent deletion through
+ this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_socket</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/assign.html b/doc/html/boost_asio/reference/basic_socket/assign.html
new file mode 100644
index 0000000000..8ca438dc0d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="../basic_socket.html" title="basic_socket">
+<link rel="next" href="assign/overload1.html" title="basic_socket::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.assign"></a><a class="link" href="assign.html" title="basic_socket::assign">basic_socket::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112889520"></a>
+Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_socket::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_socket::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/assign/overload1.html b/doc/html/boost_asio/reference/basic_socket/assign/overload1.html
new file mode 100644
index 0000000000..f4a81705fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/assign/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_socket::assign">
+<link rel="prev" href="../assign.html" title="basic_socket::assign">
+<link rel="next" href="overload2.html" title="basic_socket::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.assign.overload1"></a><a class="link" href="overload1.html" title="basic_socket::assign (1 of 2 overloads)">basic_socket::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/assign/overload2.html b/doc/html/boost_asio/reference/basic_socket/assign/overload2.html
new file mode 100644
index 0000000000..a1f822ac10
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/assign/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_socket::assign">
+<link rel="prev" href="overload1.html" title="basic_socket::assign (1 of 2 overloads)">
+<link rel="next" href="../async_connect.html" title="basic_socket::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.assign.overload2"></a><a class="link" href="overload2.html" title="basic_socket::assign (2 of 2 overloads)">basic_socket::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/async_connect.html b/doc/html/boost_asio/reference/basic_socket/async_connect.html
new file mode 100644
index 0000000000..4d200d0a90
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/async_connect.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="assign/overload2.html" title="basic_socket::assign (2 of 2 overloads)">
+<link rel="next" href="at_mark.html" title="basic_socket::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.async_connect"></a><a class="link" href="async_connect.html" title="basic_socket::async_connect">basic_socket::async_connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp112950160"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously connect a socket to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the connect
+ fails, and the socket was automatically opened, the socket is not returned
+ to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.async_connect.parameters"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_socket.async_connect.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected. Copies
+ will be made of the endpoint object as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connection operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.async_connect.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.async_connect.example"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_socket.async_connect.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Connect succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/at_mark.html b/doc/html/boost_asio/reference/basic_socket/at_mark.html
new file mode 100644
index 0000000000..cd641627a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/at_mark.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="async_connect.html" title="basic_socket::async_connect">
+<link rel="next" href="at_mark/overload1.html" title="basic_socket::at_mark (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.at_mark"></a><a class="link" href="at_mark.html" title="basic_socket::at_mark">basic_socket::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113030032"></a>
+Determine whether the socket is at the out-of-band data
+ mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="at_mark/overload1.html" title="basic_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload1.html" title="basic_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">bool</span> <a class="link" href="at_mark/overload2.html" title="basic_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload2.html" title="basic_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/at_mark/overload1.html b/doc/html/boost_asio/reference/basic_socket/at_mark/overload1.html
new file mode 100644
index 0000000000..c4bd8416d8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/at_mark/overload1.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::at_mark (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_socket::at_mark">
+<link rel="prev" href="../at_mark.html" title="basic_socket::at_mark">
+<link rel="next" href="overload2.html" title="basic_socket::at_mark (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.at_mark.overload1"></a><a class="link" href="overload1.html" title="basic_socket::at_mark (1 of 2 overloads)">basic_socket::at_mark
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.at_mark.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.at_mark.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.at_mark.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.at_mark.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/at_mark/overload2.html b/doc/html/boost_asio/reference/basic_socket/at_mark/overload2.html
new file mode 100644
index 0000000000..b045268879
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/at_mark/overload2.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::at_mark (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_socket::at_mark">
+<link rel="prev" href="overload1.html" title="basic_socket::at_mark (1 of 2 overloads)">
+<link rel="next" href="../available.html" title="basic_socket::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.at_mark.overload2"></a><a class="link" href="overload2.html" title="basic_socket::at_mark (2 of 2 overloads)">basic_socket::at_mark
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.at_mark.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.at_mark.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.at_mark.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.at_mark.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.at_mark.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/available.html b/doc/html/boost_asio/reference/basic_socket/available.html
new file mode 100644
index 0000000000..d5e3e16028
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/available.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="at_mark/overload2.html" title="basic_socket::at_mark (2 of 2 overloads)">
+<link rel="next" href="available/overload1.html" title="basic_socket::available (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.available"></a><a class="link" href="available.html" title="basic_socket::available">basic_socket::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113083184"></a>
+Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload1.html" title="basic_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload1.html" title="basic_socket::available (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload2.html" title="basic_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload2.html" title="basic_socket::available (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/available/overload1.html b/doc/html/boost_asio/reference/basic_socket/available/overload1.html
new file mode 100644
index 0000000000..b931d1cca9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/available/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::available (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_socket::available">
+<link rel="prev" href="../available.html" title="basic_socket::available">
+<link rel="next" href="overload2.html" title="basic_socket::available (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.available.overload1"></a><a class="link" href="overload1.html" title="basic_socket::available (1 of 2 overloads)">basic_socket::available
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.available.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.available.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.available.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.available.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/available/overload2.html b/doc/html/boost_asio/reference/basic_socket/available/overload2.html
new file mode 100644
index 0000000000..6558dda33c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/available/overload2.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::available (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_socket::available">
+<link rel="prev" href="overload1.html" title="basic_socket::available (1 of 2 overloads)">
+<link rel="next" href="../basic_socket.html" title="basic_socket::basic_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.available.overload2"></a><a class="link" href="overload2.html" title="basic_socket::available (2 of 2 overloads)">basic_socket::available
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.available.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.available.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.available.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.available.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.available.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket.html b/doc/html/boost_asio/reference/basic_socket/basic_socket.html
new file mode 100644
index 0000000000..b916b95f84
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="available/overload2.html" title="basic_socket::available (2 of 2 overloads)">
+<link rel="next" href="basic_socket/overload1.html" title="basic_socket::basic_socket (1 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket"></a><a class="link" href="basic_socket.html" title="basic_socket::basic_socket">basic_socket::basic_socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113140592"></a>
+Construct a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> without opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_socket/overload1.html" title="basic_socket::basic_socket (1 of 6 overloads)">basic_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket/overload1.html" title="basic_socket::basic_socket (1 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct and open a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket/overload2.html" title="basic_socket::basic_socket (2 of 6 overloads)">basic_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket/overload2.html" title="basic_socket::basic_socket (2 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>, opening it and binding
+ it to the given local endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket/overload3.html" title="basic_socket::basic_socket (3 of 6 overloads)">basic_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket/overload3.html" title="basic_socket::basic_socket (3 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> on an existing native
+ socket.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket/overload4.html" title="basic_socket::basic_socket (4 of 6 overloads)">basic_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket/overload4.html" title="basic_socket::basic_socket (4 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket/overload5.html" title="basic_socket::basic_socket (5 of 6 overloads)">basic_socket</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket/overload5.html" title="basic_socket::basic_socket (5 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
+ another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_socket/overload6.html" title="basic_socket::basic_socket (6 of 6 overloads)">basic_socket</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket/overload6.html" title="basic_socket::basic_socket (6 of 6 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket/overload1.html b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload1.html
new file mode 100644
index 0000000000..5d227aa30d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket (1 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="prev" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="next" href="overload2.html" title="basic_socket::basic_socket (2 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket.overload1"></a><a class="link" href="overload1.html" title="basic_socket::basic_socket (1 of 6 overloads)">basic_socket::basic_socket
+ (1 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a socket without opening it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.basic_socket.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the socket will use to dispatch handlers for any asynchronous operations
+ performed on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket/overload2.html b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload2.html
new file mode 100644
index 0000000000..5cad993c99
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket (2 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="prev" href="overload1.html" title="basic_socket::basic_socket (1 of 6 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket::basic_socket (3 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket.overload2"></a><a class="link" href="overload2.html" title="basic_socket::basic_socket (2 of 6 overloads)">basic_socket::basic_socket
+ (2 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.basic_socket.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the socket will use to dispatch handlers for any asynchronous operations
+ performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.basic_socket.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket/overload3.html b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload3.html
new file mode 100644
index 0000000000..264e17f1df
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload3.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket (3 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="prev" href="overload2.html" title="basic_socket::basic_socket (2 of 6 overloads)">
+<link rel="next" href="overload4.html" title="basic_socket::basic_socket (4 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket.overload3"></a><a class="link" href="overload3.html" title="basic_socket::basic_socket (3 of 6 overloads)">basic_socket::basic_socket
+ (3 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>, opening it and
+ binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a socket and automatically opens it bound to
+ the specified endpoint on the local machine. The protocol used is the
+ protocol associated with the given endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket.basic_socket.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the socket will use to dispatch handlers for any asynchronous operations
+ performed on the socket.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket.basic_socket.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket/overload4.html b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload4.html
new file mode 100644
index 0000000000..e11c308ece
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload4.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket (4 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="prev" href="overload3.html" title="basic_socket::basic_socket (3 of 6 overloads)">
+<link rel="next" href="overload5.html" title="basic_socket::basic_socket (5 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket.overload4"></a><a class="link" href="overload4.html" title="basic_socket::basic_socket (4 of 6 overloads)">basic_socket::basic_socket
+ (4 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> on an existing
+ native socket.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a socket object to hold an existing native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_socket.basic_socket.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the socket will use to dispatch handlers for any asynchronous operations
+ performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+<dt><span class="term">native_socket</span></dt>
+<dd><p>
+ A native socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_socket.basic_socket.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket/overload5.html b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload5.html
new file mode 100644
index 0000000000..e4c9b933e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload5.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket (5 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="prev" href="overload4.html" title="basic_socket::basic_socket (4 of 6 overloads)">
+<link rel="next" href="overload6.html" title="basic_socket::basic_socket (6 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket.overload5"></a><a class="link" href="overload5.html" title="basic_socket::basic_socket (5 of 6 overloads)">basic_socket::basic_socket
+ (5 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_socket.basic_socket.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
+ which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_socket.basic_socket.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/basic_socket/overload6.html b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload6.html
new file mode 100644
index 0000000000..1f6c4a66ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/basic_socket/overload6.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::basic_socket (6 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket::basic_socket">
+<link rel="prev" href="overload5.html" title="basic_socket::basic_socket (5 of 6 overloads)">
+<link rel="next" href="../bind.html" title="basic_socket::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.basic_socket.overload6"></a><a class="link" href="overload6.html" title="basic_socket::basic_socket (6 of 6 overloads)">basic_socket::basic_socket
+ (6 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
+ another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_socket</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_socket.basic_socket.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
+ which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.basic_socket.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.basic_socket.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_socket.basic_socket.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/bind.html b/doc/html/boost_asio/reference/basic_socket/bind.html
new file mode 100644
index 0000000000..83a1d78899
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="basic_socket/overload6.html" title="basic_socket::basic_socket (6 of 6 overloads)">
+<link rel="next" href="bind/overload1.html" title="basic_socket::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.bind"></a><a class="link" href="bind.html" title="basic_socket::bind">basic_socket::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113408480"></a>
+Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_socket::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_socket::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/bind/overload1.html b/doc/html/boost_asio/reference/basic_socket/bind/overload1.html
new file mode 100644
index 0000000000..6e9911664b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/bind/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_socket::bind">
+<link rel="prev" href="../bind.html" title="basic_socket::bind">
+<link rel="next" href="overload2.html" title="basic_socket::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.bind.overload1"></a><a class="link" href="overload1.html" title="basic_socket::bind (1 of 2 overloads)">basic_socket::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/bind/overload2.html b/doc/html/boost_asio/reference/basic_socket/bind/overload2.html
new file mode 100644
index 0000000000..4e40b649c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/bind/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_socket::bind">
+<link rel="prev" href="overload1.html" title="basic_socket::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_socket::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.bind.overload2"></a><a class="link" href="overload2.html" title="basic_socket::bind (2 of 2 overloads)">basic_socket::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/broadcast.html b/doc/html/boost_asio/reference/basic_socket/broadcast.html
new file mode 100644
index 0000000000..3a33d4ca21
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/broadcast.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="bind/overload2.html" title="basic_socket::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_socket::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.broadcast"></a><a class="link" href="broadcast.html" title="basic_socket::broadcast">basic_socket::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp113550064"></a>
+Socket option to permit sending of broadcast messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_socket.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_socket.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/bytes_readable.html b/doc/html/boost_asio/reference/basic_socket/bytes_readable.html
new file mode 100644
index 0000000000..7e7699ba26
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="broadcast.html" title="basic_socket::broadcast">
+<link rel="next" href="cancel.html" title="basic_socket::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_socket::bytes_readable">basic_socket::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp113607120"></a>
+IO control command to get the amount of data
+ that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_socket.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_socket.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/cancel.html b/doc/html/boost_asio/reference/basic_socket/cancel.html
new file mode 100644
index 0000000000..5946cf9c94
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="bytes_readable.html" title="basic_socket::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_socket::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.cancel"></a><a class="link" href="cancel.html" title="basic_socket::cancel">basic_socket::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113646240"></a>
+Cancel all asynchronous operations associated with the
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_socket::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_socket::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/cancel/overload1.html b/doc/html/boost_asio/reference/basic_socket/cancel/overload1.html
new file mode 100644
index 0000000000..b329f8312b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/cancel/overload1.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_socket::cancel">
+<link rel="prev" href="../cancel.html" title="basic_socket::cancel">
+<link rel="next" href="overload2.html" title="basic_socket::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_socket::cancel (1 of 2 overloads)">basic_socket::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/cancel/overload2.html b/doc/html/boost_asio/reference/basic_socket/cancel/overload2.html
new file mode 100644
index 0000000000..b26fa921c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/cancel/overload2.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_socket::cancel">
+<link rel="prev" href="overload1.html" title="basic_socket::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_socket::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_socket::cancel (2 of 2 overloads)">basic_socket::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/close.html b/doc/html/boost_asio/reference/basic_socket/close.html
new file mode 100644
index 0000000000..446e0cab9d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="cancel/overload2.html" title="basic_socket::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_socket::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.close"></a><a class="link" href="close.html" title="basic_socket::close">basic_socket::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113736304"></a>
+Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_socket::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_socket::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/close/overload1.html b/doc/html/boost_asio/reference/basic_socket/close/overload1.html
new file mode 100644
index 0000000000..251c88aedf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/close/overload1.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_socket::close">
+<link rel="prev" href="../close.html" title="basic_socket::close">
+<link rel="next" href="overload2.html" title="basic_socket::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.close.overload1"></a><a class="link" href="overload1.html" title="basic_socket::close (1 of 2 overloads)">basic_socket::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.close.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.close.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/close/overload2.html b/doc/html/boost_asio/reference/basic_socket/close/overload2.html
new file mode 100644
index 0000000000..806dfcaa3c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/close/overload2.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_socket::close">
+<link rel="prev" href="overload1.html" title="basic_socket::close (1 of 2 overloads)">
+<link rel="next" href="../connect.html" title="basic_socket::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.close.overload2"></a><a class="link" href="overload2.html" title="basic_socket::close (2 of 2 overloads)">basic_socket::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.close.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.close.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.close.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/connect.html b/doc/html/boost_asio/reference/basic_socket/connect.html
new file mode 100644
index 0000000000..95197a35ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/connect.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="close/overload2.html" title="basic_socket::close (2 of 2 overloads)">
+<link rel="next" href="connect/overload1.html" title="basic_socket::connect (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.connect"></a><a class="link" href="connect.html" title="basic_socket::connect">basic_socket::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp113825376"></a>
+Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="connect/overload1.html" title="basic_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="basic_socket::connect (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="connect/overload2.html" title="basic_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="basic_socket::connect (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/connect/overload1.html b/doc/html/boost_asio/reference/basic_socket/connect/overload1.html
new file mode 100644
index 0000000000..40dcb8ce02
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/connect/overload1.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::connect (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_socket::connect">
+<link rel="prev" href="../connect.html" title="basic_socket::connect">
+<link rel="next" href="overload2.html" title="basic_socket::connect (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.connect.overload1"></a><a class="link" href="overload1.html" title="basic_socket::connect (1 of 2 overloads)">basic_socket::connect
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.connect.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/connect/overload2.html b/doc/html/boost_asio/reference/basic_socket/connect/overload2.html
new file mode 100644
index 0000000000..750b82f838
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/connect/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::connect (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_socket::connect">
+<link rel="prev" href="overload1.html" title="basic_socket::connect (1 of 2 overloads)">
+<link rel="next" href="../debug.html" title="basic_socket::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.connect.overload2"></a><a class="link" href="overload2.html" title="basic_socket::connect (2 of 2 overloads)">basic_socket::connect
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/debug.html b/doc/html/boost_asio/reference/basic_socket/debug.html
new file mode 100644
index 0000000000..d22c541726
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="connect/overload2.html" title="basic_socket::connect (2 of 2 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_socket::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.debug"></a><a class="link" href="debug.html" title="basic_socket::debug">basic_socket::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp113959328"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_socket.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_socket.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/do_not_route.html b/doc/html/boost_asio/reference/basic_socket/do_not_route.html
new file mode 100644
index 0000000000..6a47f8bd56
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="debug.html" title="basic_socket::debug">
+<link rel="next" href="enable_connection_aborted.html" title="basic_socket::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_socket::do_not_route">basic_socket::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114016224"></a>
+Socket option to prevent routing, use local interfaces
+ only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_socket.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_socket.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_socket/enable_connection_aborted.html
new file mode 100644
index 0000000000..a4174b398b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="do_not_route.html" title="basic_socket::do_not_route">
+<link rel="next" href="endpoint_type.html" title="basic_socket::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_socket::enable_connection_aborted">basic_socket::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114073376"></a>
+Socket option to report aborted connections
+ on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_socket.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_socket.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/endpoint_type.html b/doc/html/boost_asio/reference/basic_socket/endpoint_type.html
new file mode 100644
index 0000000000..c2bf488806
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_socket::enable_connection_aborted">
+<link rel="next" href="get_implementation.html" title="basic_socket::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_socket::endpoint_type">basic_socket::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114134512"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_socket.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_implementation.html b/doc/html/boost_asio/reference/basic_socket/get_implementation.html
new file mode 100644
index 0000000000..b3743a0bd7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="endpoint_type.html" title="basic_socket::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="basic_socket::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_socket::get_implementation">basic_socket::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114147776"></a>
+Get the underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_socket/get_implementation/overload1.html
new file mode 100644
index 0000000000..0713de60ce
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_socket::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_socket::get_implementation">
+<link rel="next" href="overload2.html" title="basic_socket::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_socket::get_implementation (1 of 2 overloads)">basic_socket::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_socket/get_implementation/overload2.html
new file mode 100644
index 0000000000..e4bc9dccc3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_socket::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_socket::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_socket::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_socket::get_implementation (2 of 2 overloads)">basic_socket::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_io_service.html b/doc/html/boost_asio/reference/basic_socket/get_io_service.html
new file mode 100644
index 0000000000..b1867133d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_socket::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_socket::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_socket::get_io_service">basic_socket::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114177808"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_socket.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_option.html b/doc/html/boost_asio/reference/basic_socket/get_option.html
new file mode 100644
index 0000000000..23ebbee678
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_option.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="get_io_service.html" title="basic_socket::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_socket::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.get_option"></a><a class="link" href="get_option.html" title="basic_socket::get_option">basic_socket::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114196128"></a>
+Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_socket::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_socket::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_option/overload1.html b/doc/html/boost_asio/reference/basic_socket/get_option/overload1.html
new file mode 100644
index 0000000000..808df4f5db
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_option/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_socket::get_option">
+<link rel="prev" href="../get_option.html" title="basic_socket::get_option">
+<link rel="next" href="overload2.html" title="basic_socket::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_socket::get_option (1 of 2 overloads)">basic_socket::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_option/overload2.html b/doc/html/boost_asio/reference/basic_socket/get_option/overload2.html
new file mode 100644
index 0000000000..b4113e6b1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_option/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_socket::get_option">
+<link rel="prev" href="overload1.html" title="basic_socket::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_socket::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_socket::get_option (2 of 2 overloads)">basic_socket::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_service.html b/doc/html/boost_asio/reference/basic_socket/get_service.html
new file mode 100644
index 0000000000..6bab3590ca
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="get_option/overload2.html" title="basic_socket::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_socket::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.get_service"></a><a class="link" href="get_service.html" title="basic_socket::get_service">basic_socket::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114341264"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_socket::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_socket::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_service/overload1.html b/doc/html/boost_asio/reference/basic_socket/get_service/overload1.html
new file mode 100644
index 0000000000..382c3ec59b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_socket::get_service">
+<link rel="prev" href="../get_service.html" title="basic_socket::get_service">
+<link rel="next" href="overload2.html" title="basic_socket::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_socket::get_service (1 of 2 overloads)">basic_socket::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/get_service/overload2.html b/doc/html/boost_asio/reference/basic_socket/get_service/overload2.html
new file mode 100644
index 0000000000..3168b82e30
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_socket::get_service">
+<link rel="prev" href="overload1.html" title="basic_socket::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_socket::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_socket::get_service (2 of 2 overloads)">basic_socket::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/implementation.html b/doc/html/boost_asio/reference/basic_socket/implementation.html
new file mode 100644
index 0000000000..a10f0e5737
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="get_service/overload2.html" title="basic_socket::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_socket::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.implementation"></a><a class="link" href="implementation.html" title="basic_socket::implementation">basic_socket::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114370960"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/implementation_type.html b/doc/html/boost_asio/reference/basic_socket/implementation_type.html
new file mode 100644
index 0000000000..d8988fd01a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="implementation.html" title="basic_socket::implementation">
+<link rel="next" href="io_control.html" title="basic_socket::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_socket::implementation_type">basic_socket::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114379536"></a>
+The underlying implementation type of I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_socket.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/io_control.html b/doc/html/boost_asio/reference/basic_socket/io_control.html
new file mode 100644
index 0000000000..f1b179c64f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/io_control.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="implementation_type.html" title="basic_socket::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_socket::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.io_control"></a><a class="link" href="io_control.html" title="basic_socket::io_control">basic_socket::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114393120"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_socket::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_socket::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/io_control/overload1.html b/doc/html/boost_asio/reference/basic_socket/io_control/overload1.html
new file mode 100644
index 0000000000..64d67b9954
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/io_control/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_socket::io_control">
+<link rel="prev" href="../io_control.html" title="basic_socket::io_control">
+<link rel="next" href="overload2.html" title="basic_socket::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_socket::io_control (1 of 2 overloads)">basic_socket::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/io_control/overload2.html b/doc/html/boost_asio/reference/basic_socket/io_control/overload2.html
new file mode 100644
index 0000000000..b8404137fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/io_control/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_socket::io_control">
+<link rel="prev" href="overload1.html" title="basic_socket::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="basic_socket::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_socket::io_control (2 of 2 overloads)">basic_socket::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/is_open.html b/doc/html/boost_asio/reference/basic_socket/is_open.html
new file mode 100644
index 0000000000..ee3333ad6f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/is_open.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="io_control/overload2.html" title="basic_socket::io_control (2 of 2 overloads)">
+<link rel="next" href="keep_alive.html" title="basic_socket::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.is_open"></a><a class="link" href="is_open.html" title="basic_socket::is_open">basic_socket::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114534800"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/keep_alive.html b/doc/html/boost_asio/reference/basic_socket/keep_alive.html
new file mode 100644
index 0000000000..00e99994f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="is_open.html" title="basic_socket::is_open">
+<link rel="next" href="linger.html" title="basic_socket::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_socket::keep_alive">basic_socket::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114542944"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_socket.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_socket.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/linger.html b/doc/html/boost_asio/reference/basic_socket/linger.html
new file mode 100644
index 0000000000..6e4fba8151
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="keep_alive.html" title="basic_socket::keep_alive">
+<link rel="next" href="local_endpoint.html" title="basic_socket::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.linger"></a><a class="link" href="linger.html" title="basic_socket::linger">basic_socket::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp114600176"></a>
+Socket option to specify whether the socket lingers on
+ close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_socket.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_socket.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/local_endpoint.html b/doc/html/boost_asio/reference/basic_socket/local_endpoint.html
new file mode 100644
index 0000000000..ac42805de5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="linger.html" title="basic_socket::linger">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_socket::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_socket::local_endpoint">basic_socket::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114662384"></a>
+Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_socket/local_endpoint/overload1.html
new file mode 100644
index 0000000000..8dd98622d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/local_endpoint/overload1.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_socket::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_socket::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_socket::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_socket::local_endpoint (1 of 2 overloads)">basic_socket::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_socket/local_endpoint/overload2.html
new file mode 100644
index 0000000000..97de4237b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/local_endpoint/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_socket::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_socket::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="basic_socket::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_socket::local_endpoint (2 of 2 overloads)">basic_socket::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket. Returns a
+ default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/lowest_layer.html b/doc/html/boost_asio/reference/basic_socket/lowest_layer.html
new file mode 100644
index 0000000000..8fb39c94dc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_socket::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_socket::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_socket::lowest_layer">basic_socket::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114765760"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_socket/lowest_layer/overload1.html
new file mode 100644
index 0000000000..2354dc6d42
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/lowest_layer/overload1.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_socket::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_socket::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_socket::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_socket::lowest_layer (1 of 2 overloads)">basic_socket::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_socket/lowest_layer/overload2.html
new file mode 100644
index 0000000000..57f0314408
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/lowest_layer/overload2.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_socket::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_socket::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_socket::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_socket::lowest_layer (2 of 2 overloads)">basic_socket::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_socket/lowest_layer_type.html
new file mode 100644
index 0000000000..3e471719db
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/lowest_layer_type.html
@@ -0,0 +1,910 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_socket::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="max_connections.html" title="basic_socket::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_socket::lowest_layer_type">basic_socket::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp114806000"></a>
+A <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.lowest_layer_type.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/max_connections.html b/doc/html/boost_asio/reference/basic_socket/max_connections.html
new file mode 100644
index 0000000000..74a4d0672d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="lowest_layer_type.html" title="basic_socket::lowest_layer_type">
+<link rel="next" href="message_do_not_route.html" title="basic_socket::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.max_connections"></a><a class="link" href="max_connections.html" title="basic_socket::max_connections">basic_socket::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115055152"></a>
+The maximum length of the queue of pending incoming
+ connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/message_do_not_route.html b/doc/html/boost_asio/reference/basic_socket/message_do_not_route.html
new file mode 100644
index 0000000000..62a30041f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="max_connections.html" title="basic_socket::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_socket::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_socket::message_do_not_route">basic_socket::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115064624"></a>
+Specify that the data should not be subject
+ to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/message_end_of_record.html b/doc/html/boost_asio/reference/basic_socket/message_end_of_record.html
new file mode 100644
index 0000000000..2d30fbc1f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="message_do_not_route.html" title="basic_socket::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_socket::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_socket::message_end_of_record">basic_socket::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115074176"></a>
+Specifies that the data marks the end
+ of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/message_flags.html b/doc/html/boost_asio/reference/basic_socket/message_flags.html
new file mode 100644
index 0000000000..33ab56164e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="message_end_of_record.html" title="basic_socket::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_socket::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.message_flags"></a><a class="link" href="message_flags.html" title="basic_socket::message_flags">basic_socket::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115083712"></a>
+Bitmask type for flags that can be passed to send
+ and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_socket.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/message_out_of_band.html b/doc/html/boost_asio/reference/basic_socket/message_out_of_band.html
new file mode 100644
index 0000000000..cf6f4fe16c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="message_flags.html" title="basic_socket::message_flags">
+<link rel="next" href="message_peek.html" title="basic_socket::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_socket::message_out_of_band">basic_socket::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115096880"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/message_peek.html b/doc/html/boost_asio/reference/basic_socket/message_peek.html
new file mode 100644
index 0000000000..d1b1ad7e24
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="message_out_of_band.html" title="basic_socket::message_out_of_band">
+<link rel="next" href="native.html" title="basic_socket::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.message_peek"></a><a class="link" href="message_peek.html" title="basic_socket::message_peek">basic_socket::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115106384"></a>
+Peek at incoming data without removing it from
+ the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native.html b/doc/html/boost_asio/reference/basic_socket/native.html
new file mode 100644
index 0000000000..5a6abad085
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="message_peek.html" title="basic_socket::message_peek">
+<link rel="next" href="native_handle.html" title="basic_socket::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.native"></a><a class="link" href="native.html" title="basic_socket::native">basic_socket::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115115040"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_handle.html b/doc/html/boost_asio/reference/basic_socket/native_handle.html
new file mode 100644
index 0000000000..bdd8bb5d83
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_handle.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="native.html" title="basic_socket::native">
+<link rel="next" href="native_handle_type.html" title="basic_socket::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.native_handle"></a><a class="link" href="native_handle.html" title="basic_socket::native_handle">basic_socket::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115123408"></a>
+Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_handle_type.html b/doc/html/boost_asio/reference/basic_socket/native_handle_type.html
new file mode 100644
index 0000000000..348bc25d53
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="native_handle.html" title="basic_socket::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_socket::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_socket::native_handle_type">basic_socket::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115130048"></a>
+The native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_socket.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_non_blocking.html b/doc/html/boost_asio/reference/basic_socket/native_non_blocking.html
new file mode 100644
index 0000000000..fb9b13afe9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="native_handle_type.html" title="basic_socket::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_socket::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_socket::native_non_blocking">basic_socket::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115143376"></a>
+Gets the non-blocking mode of the native
+ socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..ea71c094ab
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload1.html
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_socket::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_socket::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_socket::native_non_blocking (1 of 3 overloads)">basic_socket::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native socket. This mode has no effect on the behaviour of the socket
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the socket object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.native_non_blocking.overload1.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..b674a32683
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload2.html
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_socket::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_socket::native_non_blocking (2 of 3 overloads)">basic_socket::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.native_non_blocking.overload2.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..3d263326a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_non_blocking/overload3.html
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_socket::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_socket::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_socket::native_non_blocking (3 of 3 overloads)">basic_socket::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket.native_non_blocking.overload3.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/native_type.html b/doc/html/boost_asio/reference/basic_socket/native_type.html
new file mode 100644
index 0000000000..6fc64624bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_socket::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_socket::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.native_type"></a><a class="link" href="native_type.html" title="basic_socket::native_type">basic_socket::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115749216"></a>
+(Deprecated: Use native_handle_type.) The native
+ representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_socket.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/non_blocking.html b/doc/html/boost_asio/reference/basic_socket/non_blocking.html
new file mode 100644
index 0000000000..83736ddff3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="native_type.html" title="basic_socket::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_socket::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_socket::non_blocking">basic_socket::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115762896"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_socket/non_blocking/overload1.html
new file mode 100644
index 0000000000..ef9506d0be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/non_blocking/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_socket::non_blocking">
+<link rel="next" href="overload2.html" title="basic_socket::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_socket::non_blocking (1 of 3 overloads)">basic_socket::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_socket/non_blocking/overload2.html
new file mode 100644
index 0000000000..917622f97d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/non_blocking/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_socket::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_socket::non_blocking (2 of 3 overloads)">basic_socket::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_socket/non_blocking/overload3.html
new file mode 100644
index 0000000000..b0d4b6d571
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/non_blocking/overload3.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_socket::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_socket::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_socket::non_blocking (3 of 3 overloads)">basic_socket::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/non_blocking_io.html b/doc/html/boost_asio/reference/basic_socket/non_blocking_io.html
new file mode 100644
index 0000000000..a668546e02
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_socket::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_socket::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_socket::non_blocking_io">basic_socket::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp115884352"></a>
+(Deprecated: Use non_blocking().) IO control
+ command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_socket.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_socket.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/open.html b/doc/html/boost_asio/reference/basic_socket/open.html
new file mode 100644
index 0000000000..17a1d0eaf4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="non_blocking_io.html" title="basic_socket::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_socket::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.open"></a><a class="link" href="open.html" title="basic_socket::open">basic_socket::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp115918288"></a>
+Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_socket::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_socket::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/open/overload1.html b/doc/html/boost_asio/reference/basic_socket/open/overload1.html
new file mode 100644
index 0000000000..14714b3084
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/open/overload1.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_socket::open">
+<link rel="prev" href="../open.html" title="basic_socket::open">
+<link rel="next" href="overload2.html" title="basic_socket::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.open.overload1"></a><a class="link" href="overload1.html" title="basic_socket::open (1 of 2 overloads)">basic_socket::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/open/overload2.html b/doc/html/boost_asio/reference/basic_socket/open/overload2.html
new file mode 100644
index 0000000000..9d36d0a80e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/open/overload2.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_socket::open">
+<link rel="prev" href="overload1.html" title="basic_socket::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_socket::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.open.overload2"></a><a class="link" href="overload2.html" title="basic_socket::open (2 of 2 overloads)">basic_socket::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/operator_eq_.html b/doc/html/boost_asio/reference/basic_socket/operator_eq_.html
new file mode 100644
index 0000000000..dc3b025933
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/operator_eq_.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="open/overload2.html" title="basic_socket::open (2 of 2 overloads)">
+<link rel="next" href="operator_eq_/overload1.html" title="basic_socket::operator= (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_socket::operator=">basic_socket::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp116033376"></a>
+Move-assign a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="basic_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="basic_socket::operator= (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-assign a <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
+ another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="basic_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="basic_socket::operator= (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/operator_eq_/overload1.html b/doc/html/boost_asio/reference/basic_socket/operator_eq_/overload1.html
new file mode 100644
index 0000000000..95f79238b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/operator_eq_/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::operator= (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_socket::operator=">
+<link rel="prev" href="../operator_eq_.html" title="basic_socket::operator=">
+<link rel="next" href="overload2.html" title="basic_socket::operator= (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="basic_socket::operator= (1 of 2 overloads)">basic_socket::operator=
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.operator_eq_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.operator_eq_.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
+ which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.operator_eq_.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.operator_eq_.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/operator_eq_/overload2.html b/doc/html/boost_asio/reference/basic_socket/operator_eq_/overload2.html
new file mode 100644
index 0000000000..d6bf237c78
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/operator_eq_/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::operator= (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_socket::operator=">
+<link rel="prev" href="overload1.html" title="basic_socket::operator= (1 of 2 overloads)">
+<link rel="next" href="../protocol_type.html" title="basic_socket::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="basic_socket::operator= (2 of 2 overloads)">basic_socket::operator=
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> from a socket of
+ another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.operator_eq_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.operator_eq_.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> object from
+ which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.operator_eq_.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.operator_eq_.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/protocol_type.html b/doc/html/boost_asio/reference/basic_socket/protocol_type.html
new file mode 100644
index 0000000000..b5afa878f2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="operator_eq_/overload2.html" title="basic_socket::operator= (2 of 2 overloads)">
+<link rel="next" href="receive_buffer_size.html" title="basic_socket::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_socket::protocol_type">basic_socket::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp116136960"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_socket.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_socket/receive_buffer_size.html
new file mode 100644
index 0000000000..9d6729e656
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="protocol_type.html" title="basic_socket::protocol_type">
+<link rel="next" href="receive_low_watermark.html" title="basic_socket::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_socket::receive_buffer_size">basic_socket::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116150000"></a>
+Socket option for the receive buffer size
+ of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_socket.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_socket.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_socket/receive_low_watermark.html
new file mode 100644
index 0000000000..b91f7c2fb9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/receive_low_watermark.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="receive_buffer_size.html" title="basic_socket::receive_buffer_size">
+<link rel="next" href="remote_endpoint.html" title="basic_socket::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_socket::receive_low_watermark">basic_socket::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116207232"></a>
+Socket option for the receive low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_socket.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_socket.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/remote_endpoint.html b/doc/html/boost_asio/reference/basic_socket/remote_endpoint.html
new file mode 100644
index 0000000000..7f7bc19f63
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/remote_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="receive_low_watermark.html" title="basic_socket::receive_low_watermark">
+<link rel="next" href="remote_endpoint/overload1.html" title="basic_socket::remote_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="basic_socket::remote_endpoint">basic_socket::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp116263424"></a>
+Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload1.html" title="basic_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload1.html" title="basic_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload2.html" title="basic_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload2.html" title="basic_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload1.html
new file mode 100644
index 0000000000..ff17e0df1f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload1.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::remote_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_socket::remote_endpoint">
+<link rel="prev" href="../remote_endpoint.html" title="basic_socket::remote_endpoint">
+<link rel="next" href="overload2.html" title="basic_socket::remote_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_socket::remote_endpoint (1 of 2 overloads)">basic_socket::remote_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.remote_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.remote_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload2.html
new file mode 100644
index 0000000000..18dea91afd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/remote_endpoint/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::remote_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_socket::remote_endpoint">
+<link rel="prev" href="overload1.html" title="basic_socket::remote_endpoint (1 of 2 overloads)">
+<link rel="next" href="../reuse_address.html" title="basic_socket::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_socket::remote_endpoint (2 of 2 overloads)">basic_socket::remote_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.remote_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.remote_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket. Returns
+ a default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.remote_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/reuse_address.html b/doc/html/boost_asio/reference/basic_socket/reuse_address.html
new file mode 100644
index 0000000000..339677df81
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="remote_endpoint/overload2.html" title="basic_socket::remote_endpoint (2 of 2 overloads)">
+<link rel="next" href="send_buffer_size.html" title="basic_socket::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_socket::reuse_address">basic_socket::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116367280"></a>
+Socket option to allow the socket to be bound
+ to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_socket.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_socket.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/send_buffer_size.html b/doc/html/boost_asio/reference/basic_socket/send_buffer_size.html
new file mode 100644
index 0000000000..edd3a521f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="reuse_address.html" title="basic_socket::reuse_address">
+<link rel="next" href="send_low_watermark.html" title="basic_socket::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_socket::send_buffer_size">basic_socket::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116424240"></a>
+Socket option for the send buffer size of a
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_socket.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_socket.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/send_low_watermark.html b/doc/html/boost_asio/reference/basic_socket/send_low_watermark.html
new file mode 100644
index 0000000000..ecf4b6f102
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/send_low_watermark.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="send_buffer_size.html" title="basic_socket::send_buffer_size">
+<link rel="next" href="service.html" title="basic_socket::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_socket::send_low_watermark">basic_socket::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116481488"></a>
+Socket option for the send low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_socket.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_socket.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/service.html b/doc/html/boost_asio/reference/basic_socket/service.html
new file mode 100644
index 0000000000..5d722a7a8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="send_low_watermark.html" title="basic_socket::send_low_watermark">
+<link rel="next" href="service_type.html" title="basic_socket::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.service"></a><a class="link" href="service.html" title="basic_socket::service">basic_socket::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116538448"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_socket.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/service_type.html b/doc/html/boost_asio/reference/basic_socket/service_type.html
new file mode 100644
index 0000000000..e757d2fb5f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="service.html" title="basic_socket::service">
+<link rel="next" href="set_option.html" title="basic_socket::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.service_type"></a><a class="link" href="service_type.html" title="basic_socket::service_type">basic_socket::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116550816"></a>
+The type of the service that will be used to provide
+ I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_socket.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/set_option.html b/doc/html/boost_asio/reference/basic_socket/set_option.html
new file mode 100644
index 0000000000..815b6457c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/set_option.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="service_type.html" title="basic_socket::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_socket::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.set_option"></a><a class="link" href="set_option.html" title="basic_socket::set_option">basic_socket::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp116563344"></a>
+Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_socket::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_socket::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/set_option/overload1.html b/doc/html/boost_asio/reference/basic_socket/set_option/overload1.html
new file mode 100644
index 0000000000..5aca17d328
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/set_option/overload1.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_socket::set_option">
+<link rel="prev" href="../set_option.html" title="basic_socket::set_option">
+<link rel="next" href="overload2.html" title="basic_socket::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_socket::set_option (1 of 2 overloads)">basic_socket::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/set_option/overload2.html b/doc/html/boost_asio/reference/basic_socket/set_option/overload2.html
new file mode 100644
index 0000000000..683e6446e7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/set_option/overload2.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_socket::set_option">
+<link rel="prev" href="overload1.html" title="basic_socket::set_option (1 of 2 overloads)">
+<link rel="next" href="../shutdown.html" title="basic_socket::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_socket::set_option (2 of 2 overloads)">basic_socket::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/shutdown.html b/doc/html/boost_asio/reference/basic_socket/shutdown.html
new file mode 100644
index 0000000000..1ea29e6145
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/shutdown.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="set_option/overload2.html" title="basic_socket::set_option (2 of 2 overloads)">
+<link rel="next" href="shutdown/overload1.html" title="basic_socket::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.shutdown"></a><a class="link" href="shutdown.html" title="basic_socket::shutdown">basic_socket::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp116697312"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="basic_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="basic_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="basic_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="basic_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/shutdown/overload1.html b/doc/html/boost_asio/reference/basic_socket/shutdown/overload1.html
new file mode 100644
index 0000000000..0853198a46
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/shutdown/overload1.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_socket::shutdown">
+<link rel="prev" href="../shutdown.html" title="basic_socket::shutdown">
+<link rel="next" href="overload2.html" title="basic_socket::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.shutdown.overload1"></a><a class="link" href="overload1.html" title="basic_socket::shutdown (1 of 2 overloads)">basic_socket::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.shutdown.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.shutdown.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.shutdown.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket.shutdown.overload1.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/shutdown/overload2.html b/doc/html/boost_asio/reference/basic_socket/shutdown/overload2.html
new file mode 100644
index 0000000000..8325ce76da
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/shutdown/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_socket::shutdown">
+<link rel="prev" href="overload1.html" title="basic_socket::shutdown (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_socket::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket.shutdown.overload2"></a><a class="link" href="overload2.html" title="basic_socket::shutdown (2 of 2 overloads)">basic_socket::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket.shutdown.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket.shutdown.overload2.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket/shutdown_type.html b/doc/html/boost_asio/reference/basic_socket/shutdown_type.html
new file mode 100644
index 0000000000..a42dbd27fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket.html" title="basic_socket">
+<link rel="prev" href="shutdown/overload2.html" title="basic_socket::shutdown (2 of 2 overloads)">
+<link rel="next" href="_basic_socket.html" title="basic_socket::~basic_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_socket::shutdown_type">basic_socket::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp116809536"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp116813040"></a>
+ <a class="indexterm" name="idp116814080"></a>
+ <a class="indexterm" name="idp116815184"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_socket.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor.html b/doc/html/boost_asio/reference/basic_socket_acceptor.html
new file mode 100644
index 0000000000..4e5b8eda8b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor.html
@@ -0,0 +1,852 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_socket/_basic_socket.html" title="basic_socket::~basic_socket">
+<link rel="next" href="basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket/_basic_socket.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_acceptor/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor"></a><a class="link" href="basic_socket_acceptor.html" title="basic_socket_acceptor">basic_socket_acceptor</a>
+</h3></div></div></div>
+<p>
+ Provides the ability to accept new connections.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketAcceptorService.html" title="Socket acceptor service requirements">SocketAcceptorService</a> <span class="special">=</span> <span class="identifier">socket_acceptor_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_socket_acceptor</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SocketAcceptorService</span> <span class="special">&gt;,</span>
+ <span class="keyword">public</span> <span class="identifier">socket_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.types"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/broadcast.html" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/bytes_readable.html" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/debug.html" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/do_not_route.html" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/endpoint_type.html" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/implementation_type.html" title="basic_socket_acceptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/keep_alive.html" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/linger.html" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/message_flags.html" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/native_handle_type.html" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of an acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/native_type.html" title="basic_socket_acceptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of an acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/non_blocking_io.html" title="basic_socket_acceptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/protocol_type.html" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/reuse_address.html" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/service_type.html" title="basic_socket_acceptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/shutdown_type.html" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.member_functions"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Accept a new connection.
+ </p>
+ <p>
+ Accept a new connection and obtain the endpoint of the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/assign.html" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assigns an existing native acceptor to the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/async_accept.html" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an acceptor without opening it.
+ </p>
+ <p>
+ Construct an open acceptor.
+ </p>
+ <p>
+ Construct an acceptor opened on the given endpoint.
+ </p>
+ <p>
+ Construct a basic_socket_acceptor on an existing native acceptor.
+ </p>
+ <p>
+ Move-construct a basic_socket_acceptor from another.
+ </p>
+ <p>
+ Move-construct a basic_socket_acceptor from an acceptor of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/bind.html" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the acceptor to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/cancel.html" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/close.html" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/get_io_service.html" title="basic_socket_acceptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/get_option.html" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/io_control.html" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/is_open.html" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the acceptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/listen.html" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Place the acceptor into the state where it will listen for new
+ connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/local_endpoint.html" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/native.html" title="basic_socket_acceptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native acceptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/native_handle.html" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native acceptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native acceptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/non_blocking.html" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the acceptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/open.html" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the acceptor using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/operator_eq_.html" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket_acceptor from another.
+ </p>
+ <p>
+ Move-assign a basic_socket_acceptor from an acceptor of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/set_option.html" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the acceptor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.protected_member_functions"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/get_implementation.html" title="basic_socket_acceptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/get_service.html" title="basic_socket_acceptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.data_members"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/max_connections.html" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/message_peek.html" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.protected_data_members"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/implementation.html" title="basic_socket_acceptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_acceptor/service.html" title="basic_socket_acceptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> class template
+ is used for accepting new socket connections.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.thread_safety"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.example"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.example">Example</a>
+ </h5>
+<p>
+ Opening a socket acceptor with the SO_REUSEADDR option enabled:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">port</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_socket_acceptor.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.requirements"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_socket/_basic_socket.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_acceptor/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/accept.html b/doc/html/boost_asio/reference/basic_socket_acceptor/accept.html
new file mode 100644
index 0000000000..4c32401c86
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/accept.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::accept</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="next" href="accept/overload1.html" title="basic_socket_acceptor::accept (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accept/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.accept"></a><a class="link" href="accept.html" title="basic_socket_acceptor::accept">basic_socket_acceptor::accept</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp117118960"></a>
+Accept a new connection.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="accept/overload1.html" title="basic_socket_acceptor::accept (1 of 4 overloads)">accept</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="accept/overload1.html" title="basic_socket_acceptor::accept (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="accept/overload2.html" title="basic_socket_acceptor::accept (2 of 4 overloads)">accept</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="accept/overload2.html" title="basic_socket_acceptor::accept (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Accept a new connection and obtain the endpoint of the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="accept/overload3.html" title="basic_socket_acceptor::accept (3 of 4 overloads)">accept</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="accept/overload3.html" title="basic_socket_acceptor::accept (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="accept/overload4.html" title="basic_socket_acceptor::accept (4 of 4 overloads)">accept</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="accept/overload4.html" title="basic_socket_acceptor::accept (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accept/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload1.html
new file mode 100644
index 0000000000..922d5cd4e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::accept (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../accept.html" title="basic_socket_acceptor::accept">
+<link rel="prev" href="../accept.html" title="basic_socket_acceptor::accept">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::accept (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../accept.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::accept (1 of 4 overloads)">basic_socket_acceptor::accept
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Accept a new connection.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">accept</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to accept a new connection from a peer into the
+ given socket. The function call will block until a new connection has
+ been accepted successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.accept.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer</span></dt>
+<dd><p>
+ The socket into which the new connection will be accepted.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.accept.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.accept.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../accept.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload2.html
new file mode 100644
index 0000000000..3e52e42ea7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::accept (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../accept.html" title="basic_socket_acceptor::accept">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::accept (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_acceptor::accept (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::accept (2 of 4 overloads)">basic_socket_acceptor::accept
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Accept a new connection.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">accept</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to accept a new connection from a peer into the
+ given socket. The function call will block until a new connection has
+ been accepted successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.accept.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer</span></dt>
+<dd><p>
+ The socket into which the new connection will be accepted.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.accept.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">soocket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload3.html b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload3.html
new file mode 100644
index 0000000000..c67eabe89a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload3.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::accept (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../accept.html" title="basic_socket_acceptor::accept">
+<link rel="prev" href="overload2.html" title="basic_socket_acceptor::accept (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="basic_socket_acceptor::accept (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3"></a><a class="link" href="overload3.html" title="basic_socket_acceptor::accept (3 of 4 overloads)">basic_socket_acceptor::accept
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Accept a new connection and obtain the endpoint of the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">accept</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to accept a new connection from a peer into the
+ given socket, and additionally provide the endpoint of the remote peer.
+ The function call will block until a new connection has been accepted
+ successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.accept.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer</span></dt>
+<dd><p>
+ The socket into which the new connection will be accepted.
+ </p></dd>
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ An endpoint object which will receive the endpoint of the remote
+ peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.accept.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.accept.overload3.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload4.html b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload4.html
new file mode 100644
index 0000000000..f477c38339
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/accept/overload4.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::accept (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../accept.html" title="basic_socket_acceptor::accept">
+<link rel="prev" href="overload3.html" title="basic_socket_acceptor::accept (3 of 4 overloads)">
+<link rel="next" href="../assign.html" title="basic_socket_acceptor::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload4"></a><a class="link" href="overload4.html" title="basic_socket_acceptor::accept (4 of 4 overloads)">basic_socket_acceptor::accept
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Accept a new connection and obtain the endpoint of the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">accept</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to accept a new connection from a peer into the
+ given socket, and additionally provide the endpoint of the remote peer.
+ The function call will block until a new connection has been accepted
+ successfully or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_socket_acceptor.accept.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer</span></dt>
+<dd><p>
+ The socket into which the new connection will be accepted.
+ </p></dd>
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ An endpoint object which will receive the endpoint of the remote
+ peer.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.accept.overload4.example"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_socket_acceptor.accept.overload4.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../assign.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/assign.html b/doc/html/boost_asio/reference/basic_socket_acceptor/assign.html
new file mode 100644
index 0000000000..64d32a55f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="accept/overload4.html" title="basic_socket_acceptor::accept (4 of 4 overloads)">
+<link rel="next" href="assign/overload1.html" title="basic_socket_acceptor::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="accept/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.assign"></a><a class="link" href="assign.html" title="basic_socket_acceptor::assign">basic_socket_acceptor::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp117480496"></a>
+Assigns an existing native acceptor to the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_socket_acceptor::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_socket_acceptor::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_socket_acceptor::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_socket_acceptor::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="accept/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload1.html
new file mode 100644
index 0000000000..aaedd1b3a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_socket_acceptor::assign">
+<link rel="prev" href="../assign.html" title="basic_socket_acceptor::assign">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.assign.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::assign (1 of 2 overloads)">basic_socket_acceptor::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assigns an existing native acceptor to the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload2.html
new file mode 100644
index 0000000000..c0876a13be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/assign/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_socket_acceptor::assign">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::assign (1 of 2 overloads)">
+<link rel="next" href="../async_accept.html" title="basic_socket_acceptor::async_accept">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_accept.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.assign.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::assign (2 of 2 overloads)">basic_socket_acceptor::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assigns an existing native acceptor to the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_accept.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept.html b/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept.html
new file mode 100644
index 0000000000..6f910fbcee
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::async_accept</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="assign/overload2.html" title="basic_socket_acceptor::assign (2 of 2 overloads)">
+<link rel="next" href="async_accept/overload1.html" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_accept/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.async_accept"></a><a class="link" href="async_accept.html" title="basic_socket_acceptor::async_accept">basic_socket_acceptor::async_accept</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp117541520"></a>
+Start an asynchronous accept.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_accept/overload1.html" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">async_accept</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_accept/overload1.html" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_accept/overload2.html" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">async_accept</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_accept/overload2.html" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_accept/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload1.html
new file mode 100644
index 0000000000..5ffbee5663
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload1.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::async_accept (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_accept.html" title="basic_socket_acceptor::async_accept">
+<link rel="prev" href="../async_accept.html" title="basic_socket_acceptor::async_accept">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_accept.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">basic_socket_acceptor::async_accept
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous accept.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_accept</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously accept a new connection into
+ a socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer</span></dt>
+<dd><p>
+ The socket into which the new connection will be accepted. Ownership
+ of the peer object is retained by the caller, which must guarantee
+ that it is valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the accept operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">accept_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Accept succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">accept_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../async_accept.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html
new file mode 100644
index 0000000000..e1838612bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::async_accept (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_accept.html" title="basic_socket_acceptor::async_accept">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::async_accept (1 of 2 overloads)">
+<link rel="next" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">basic_socket_acceptor::async_accept
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous accept.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_accept</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">protocol_type</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously accept a new connection into
+ a socket, and additionally obtain the endpoint of the remote peer. The
+ function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.async_accept.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.async_accept.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer</span></dt>
+<dd><p>
+ The socket into which the new connection will be accepted. Ownership
+ of the peer object is retained by the caller, which must guarantee
+ that it is valid until the handler is called.
+ </p></dd>
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ An endpoint object into which the endpoint of the remote peer will
+ be written. Ownership of the peer_endpoint object is retained by
+ the caller, which must guarantee that it is valid until the handler
+ is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the accept operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_accept.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor.html
new file mode 100644
index 0000000000..77a2e4d115
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="async_accept/overload2.html" title="basic_socket_acceptor::async_accept (2 of 2 overloads)">
+<link rel="next" href="basic_socket_acceptor/overload1.html" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_accept/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_acceptor/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor"></a><a class="link" href="basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">basic_socket_acceptor::basic_socket_acceptor</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp117728208"></a>
+Construct an acceptor without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_socket_acceptor/overload1.html" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_acceptor/overload1.html" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an open acceptor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket_acceptor/overload2.html" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_acceptor/overload2.html" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an acceptor opened on the given endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket_acceptor/overload3.html" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">reuse_addr</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_acceptor/overload3.html" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> on an existing
+ native acceptor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket_acceptor/overload4.html" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_acceptor/overload4.html" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket_acceptor/overload5.html" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
+ <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_acceptor/overload5.html" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
+ acceptor of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketAcceptorService.html" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_socket_acceptor/overload6.html" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">basic_socket_acceptor</a><span class="special">(</span>
+ <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_acceptor/overload6.html" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_accept/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_acceptor/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload1.html
new file mode 100644
index 0000000000..11fece1443
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="prev" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
+ (1 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an acceptor without opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates an acceptor without opening it to listen for
+ new connections. The <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code> function must be called before the
+ acceptor can accept new socket connections.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the acceptor will use to dispatch handlers for any asynchronous
+ operations performed on the acceptor.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload2.html
new file mode 100644
index 0000000000..9aee661f31
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::basic_socket_acceptor (1 of 6 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
+ (2 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an open acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates an acceptor and automatically opens it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the acceptor will use to dispatch handlers for any asynchronous
+ operations performed on the acceptor.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload3.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload3.html
new file mode 100644
index 0000000000..08220cadc0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload3.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="prev" href="overload2.html" title="basic_socket_acceptor::basic_socket_acceptor (2 of 6 overloads)">
+<link rel="next" href="overload4.html" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3"></a><a class="link" href="overload3.html" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
+ (3 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an acceptor opened on the given endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">reuse_addr</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates an acceptor and automatically opens it to listen
+ for new connections on the specified endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the acceptor will use to dispatch handlers for any asynchronous
+ operations performed on the acceptor.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine on which the acceptor will listen
+ for new connections.
+ </p></dd>
+<dt><span class="term">reuse_addr</span></dt>
+<dd><p>
+ Whether the constructor should set the socket option <code class="computeroutput"><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span></code>.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ This constructor is equivalent to the following code:
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">reuse_addr</span><span class="special">)</span>
+ <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">(</span><span class="identifier">listen_backlog</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload4.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload4.html
new file mode 100644
index 0000000000..88bed1aad8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload4.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="prev" href="overload3.html" title="basic_socket_acceptor::basic_socket_acceptor (3 of 6 overloads)">
+<link rel="next" href="overload5.html" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4"></a><a class="link" href="overload4.html" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
+ (4 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> on an
+ existing native acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates an acceptor object to hold an existing native
+ acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the acceptor will use to dispatch handlers for any asynchronous
+ operations performed on the acceptor.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+<dt><span class="term">native_acceptor</span></dt>
+<dd><p>
+ A native acceptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload5.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload5.html
new file mode 100644
index 0000000000..dd352d5821
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload5.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="prev" href="overload4.html" title="basic_socket_acceptor::basic_socket_acceptor (4 of 6 overloads)">
+<link rel="next" href="overload6.html" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5"></a><a class="link" href="overload5.html" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
+ (5 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
+ <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves an acceptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload6.html b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload6.html
new file mode 100644
index 0000000000..4888f360bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/basic_socket_acceptor/overload6.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor">
+<link rel="prev" href="overload5.html" title="basic_socket_acceptor::basic_socket_acceptor (5 of 6 overloads)">
+<link rel="next" href="../bind.html" title="basic_socket_acceptor::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6"></a><a class="link" href="overload6.html" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">basic_socket_acceptor::basic_socket_acceptor
+ (6 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
+ acceptor of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketAcceptorService.html" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_socket_acceptor</span><span class="special">(</span>
+ <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves an acceptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_socket_acceptor.basic_socket_acceptor.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/bind.html b/doc/html/boost_asio/reference/basic_socket_acceptor/bind.html
new file mode 100644
index 0000000000..e8581654df
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="basic_socket_acceptor/overload6.html" title="basic_socket_acceptor::basic_socket_acceptor (6 of 6 overloads)">
+<link rel="next" href="bind/overload1.html" title="basic_socket_acceptor::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket_acceptor/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.bind"></a><a class="link" href="bind.html" title="basic_socket_acceptor::bind">basic_socket_acceptor::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118028560"></a>
+Bind the acceptor to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_socket_acceptor::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_socket_acceptor::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_socket_acceptor::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_socket_acceptor::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_socket_acceptor/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload1.html
new file mode 100644
index 0000000000..863a73843f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload1.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_socket_acceptor::bind">
+<link rel="prev" href="../bind.html" title="basic_socket_acceptor::bind">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::bind (1 of 2 overloads)">basic_socket_acceptor::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Bind the acceptor to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket acceptor to the specified endpoint on
+ the local machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket acceptor will
+ be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload2.html
new file mode 100644
index 0000000000..66c99ce3a6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/bind/overload2.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_socket_acceptor::bind">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_socket_acceptor::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::bind (2 of 2 overloads)">basic_socket_acceptor::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Bind the acceptor to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket acceptor to the specified endpoint on
+ the local machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket acceptor will
+ be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/broadcast.html b/doc/html/boost_asio/reference/basic_socket_acceptor/broadcast.html
new file mode 100644
index 0000000000..44b47d196b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/broadcast.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="bind/overload2.html" title="basic_socket_acceptor::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_socket_acceptor::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.broadcast"></a><a class="link" href="broadcast.html" title="basic_socket_acceptor::broadcast">basic_socket_acceptor::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118168352"></a>
+Socket option to permit sending of broadcast
+ messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_socket_acceptor.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_socket_acceptor.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/bytes_readable.html b/doc/html/boost_asio/reference/basic_socket_acceptor/bytes_readable.html
new file mode 100644
index 0000000000..7353c77a80
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="broadcast.html" title="basic_socket_acceptor::broadcast">
+<link rel="next" href="cancel.html" title="basic_socket_acceptor::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_socket_acceptor::bytes_readable">basic_socket_acceptor::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118225744"></a>
+IO control command to get the amount
+ of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_socket_acceptor.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_socket_acceptor.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/cancel.html b/doc/html/boost_asio/reference/basic_socket_acceptor/cancel.html
new file mode 100644
index 0000000000..082e8bf6ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="bytes_readable.html" title="basic_socket_acceptor::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_socket_acceptor::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.cancel"></a><a class="link" href="cancel.html" title="basic_socket_acceptor::cancel">basic_socket_acceptor::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118265104"></a>
+Cancel all asynchronous operations associated
+ with the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_socket_acceptor::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_socket_acceptor::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_socket_acceptor::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_socket_acceptor::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload1.html
new file mode 100644
index 0000000000..eb590f94ce
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload1.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_socket_acceptor::cancel">
+<link rel="prev" href="../cancel.html" title="basic_socket_acceptor::cancel">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::cancel (1 of 2 overloads)">basic_socket_acceptor::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload2.html
new file mode 100644
index 0000000000..5f062c8b43
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/cancel/overload2.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_socket_acceptor::cancel">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_socket_acceptor::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::cancel (2 of 2 overloads)">basic_socket_acceptor::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/close.html b/doc/html/boost_asio/reference/basic_socket_acceptor/close.html
new file mode 100644
index 0000000000..892094c7dc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="cancel/overload2.html" title="basic_socket_acceptor::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_socket_acceptor::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.close"></a><a class="link" href="close.html" title="basic_socket_acceptor::close">basic_socket_acceptor::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118320768"></a>
+Close the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_socket_acceptor::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_socket_acceptor::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_socket_acceptor::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_socket_acceptor::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload1.html
new file mode 100644
index 0000000000..d20d75e610
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_socket_acceptor::close">
+<link rel="prev" href="../close.html" title="basic_socket_acceptor::close">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.close.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::close (1 of 2 overloads)">basic_socket_acceptor::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the acceptor. Any asynchronous accept
+ operations will be cancelled immediately.
+ </p>
+<p>
+ A subsequent call to <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code> is required before the acceptor can
+ again be used to again perform socket accept operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload2.html
new file mode 100644
index 0000000000..9173b05cdf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/close/overload2.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_socket_acceptor::close">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::close (1 of 2 overloads)">
+<link rel="next" href="../debug.html" title="basic_socket_acceptor::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.close.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::close (2 of 2 overloads)">basic_socket_acceptor::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the acceptor. Any asynchronous accept
+ operations will be cancelled immediately.
+ </p>
+<p>
+ A subsequent call to <code class="computeroutput"><span class="identifier">open</span><span class="special">()</span></code> is required before the acceptor can
+ again be used to again perform socket accept operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/debug.html b/doc/html/boost_asio/reference/basic_socket_acceptor/debug.html
new file mode 100644
index 0000000000..36c256c495
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="close/overload2.html" title="basic_socket_acceptor::close (2 of 2 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_socket_acceptor::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.debug"></a><a class="link" href="debug.html" title="basic_socket_acceptor::debug">basic_socket_acceptor::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118395808"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_socket_acceptor.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_socket_acceptor.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/do_not_route.html b/doc/html/boost_asio/reference/basic_socket_acceptor/do_not_route.html
new file mode 100644
index 0000000000..f22cd71454
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="debug.html" title="basic_socket_acceptor::debug">
+<link rel="next" href="enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_socket_acceptor::do_not_route">basic_socket_acceptor::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118452960"></a>
+Socket option to prevent routing, use
+ local interfaces only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_socket_acceptor.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_socket_acceptor.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_socket_acceptor/enable_connection_aborted.html
new file mode 100644
index 0000000000..52a3f937da
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="do_not_route.html" title="basic_socket_acceptor::do_not_route">
+<link rel="next" href="endpoint_type.html" title="basic_socket_acceptor::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted">basic_socket_acceptor::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118510240"></a>
+Socket option to report aborted
+ connections on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_socket_acceptor.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/endpoint_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/endpoint_type.html
new file mode 100644
index 0000000000..3caa95ab94
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted">
+<link rel="next" href="get_implementation.html" title="basic_socket_acceptor::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_socket_acceptor::endpoint_type">basic_socket_acceptor::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118571488"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_socket_acceptor.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation.html
new file mode 100644
index 0000000000..130a87ad0b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="endpoint_type.html" title="basic_socket_acceptor::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_socket_acceptor::get_implementation">basic_socket_acceptor::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118584864"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload1.html
new file mode 100644
index 0000000000..2e74cd3d47
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_socket_acceptor::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_socket_acceptor::get_implementation">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">basic_socket_acceptor::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload2.html
new file mode 100644
index 0000000000..ee6380df70
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_socket_acceptor::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_socket_acceptor::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">basic_socket_acceptor::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_io_service.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_io_service.html
new file mode 100644
index 0000000000..883786155f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_socket_acceptor::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_socket_acceptor::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_socket_acceptor::get_io_service">basic_socket_acceptor::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118614912"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_socket_acceptor.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_option.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_option.html
new file mode 100644
index 0000000000..b1f33004c6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_option.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="get_io_service.html" title="basic_socket_acceptor::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_socket_acceptor::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_option"></a><a class="link" href="get_option.html" title="basic_socket_acceptor::get_option">basic_socket_acceptor::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118633248"></a>
+Get an option from the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_socket_acceptor::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_socket_acceptor::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_socket_acceptor::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_socket_acceptor::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload1.html
new file mode 100644
index 0000000000..55ce5c1603
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_socket_acceptor::get_option">
+<link rel="prev" href="../get_option.html" title="basic_socket_acceptor::get_option">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::get_option (1 of 2 overloads)">basic_socket_acceptor::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get an option from the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the acceptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload2.html
new file mode 100644
index 0000000000..27d244bee5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_option/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_socket_acceptor::get_option">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_socket_acceptor::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::get_option (2 of 2 overloads)">basic_socket_acceptor::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get an option from the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the acceptor.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_service.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_service.html
new file mode 100644
index 0000000000..1f562dc615
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="get_option/overload2.html" title="basic_socket_acceptor::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_socket_acceptor::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_service"></a><a class="link" href="get_service.html" title="basic_socket_acceptor::get_service">basic_socket_acceptor::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118773872"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_socket_acceptor::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_socket_acceptor::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_socket_acceptor::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_socket_acceptor::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload1.html
new file mode 100644
index 0000000000..c101d264b3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_socket_acceptor::get_service">
+<link rel="prev" href="../get_service.html" title="basic_socket_acceptor::get_service">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::get_service (1 of 2 overloads)">basic_socket_acceptor::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload2.html
new file mode 100644
index 0000000000..8bf7a28c52
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_socket_acceptor::get_service">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_socket_acceptor::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::get_service (2 of 2 overloads)">basic_socket_acceptor::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/implementation.html b/doc/html/boost_asio/reference/basic_socket_acceptor/implementation.html
new file mode 100644
index 0000000000..40bffe3d74
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="get_service/overload2.html" title="basic_socket_acceptor::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_socket_acceptor::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.implementation"></a><a class="link" href="implementation.html" title="basic_socket_acceptor::implementation">basic_socket_acceptor::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118803808"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/implementation_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/implementation_type.html
new file mode 100644
index 0000000000..e7296787a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="implementation.html" title="basic_socket_acceptor::implementation">
+<link rel="next" href="io_control.html" title="basic_socket_acceptor::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_socket_acceptor::implementation_type">basic_socket_acceptor::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118812464"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_socket_acceptor.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/io_control.html b/doc/html/boost_asio/reference/basic_socket_acceptor/io_control.html
new file mode 100644
index 0000000000..80e17da7d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/io_control.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="implementation_type.html" title="basic_socket_acceptor::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_socket_acceptor::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.io_control"></a><a class="link" href="io_control.html" title="basic_socket_acceptor::io_control">basic_socket_acceptor::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118826048"></a>
+Perform an IO control command on the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_socket_acceptor::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_socket_acceptor::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_socket_acceptor::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_socket_acceptor::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload1.html
new file mode 100644
index 0000000000..c78bf8dc37
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload1.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_socket_acceptor::io_control">
+<link rel="prev" href="../io_control.html" title="basic_socket_acceptor::io_control">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::io_control (1 of 2 overloads)">basic_socket_acceptor::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform an IO control command on the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the acceptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload2.html
new file mode 100644
index 0000000000..b57c12524b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/io_control/overload2.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_socket_acceptor::io_control">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="basic_socket_acceptor::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::io_control (2 of 2 overloads)">basic_socket_acceptor::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform an IO control command on the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the acceptor.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/is_open.html b/doc/html/boost_asio/reference/basic_socket_acceptor/is_open.html
new file mode 100644
index 0000000000..e56915e2e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/is_open.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="io_control/overload2.html" title="basic_socket_acceptor::io_control (2 of 2 overloads)">
+<link rel="next" href="keep_alive.html" title="basic_socket_acceptor::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.is_open"></a><a class="link" href="is_open.html" title="basic_socket_acceptor::is_open">basic_socket_acceptor::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp118959840"></a>
+Determine whether the acceptor is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/keep_alive.html b/doc/html/boost_asio/reference/basic_socket_acceptor/keep_alive.html
new file mode 100644
index 0000000000..f1ee53d787
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="is_open.html" title="basic_socket_acceptor::is_open">
+<link rel="next" href="linger.html" title="basic_socket_acceptor::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_socket_acceptor::keep_alive">basic_socket_acceptor::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp118967824"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_socket_acceptor.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_socket_acceptor.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/linger.html b/doc/html/boost_asio/reference/basic_socket_acceptor/linger.html
new file mode 100644
index 0000000000..76dd1e7c84
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="keep_alive.html" title="basic_socket_acceptor::keep_alive">
+<link rel="next" href="listen.html" title="basic_socket_acceptor::listen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listen.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.linger"></a><a class="link" href="linger.html" title="basic_socket_acceptor::linger">basic_socket_acceptor::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119024944"></a>
+Socket option to specify whether the socket
+ lingers on close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_socket_acceptor.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_socket_acceptor.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listen.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/listen.html b/doc/html/boost_asio/reference/basic_socket_acceptor/listen.html
new file mode 100644
index 0000000000..55aa676195
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/listen.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::listen</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="linger.html" title="basic_socket_acceptor::linger">
+<link rel="next" href="listen/overload1.html" title="basic_socket_acceptor::listen (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listen/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.listen"></a><a class="link" href="listen.html" title="basic_socket_acceptor::listen">basic_socket_acceptor::listen</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119087424"></a>
+Place the acceptor into the state where it will
+ listen for new connections.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="listen/overload1.html" title="basic_socket_acceptor::listen (1 of 2 overloads)">listen</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">backlog</span> <span class="special">=</span> <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="listen/overload1.html" title="basic_socket_acceptor::listen (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="listen/overload2.html" title="basic_socket_acceptor::listen (2 of 2 overloads)">listen</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">backlog</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="listen/overload2.html" title="basic_socket_acceptor::listen (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listen/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload1.html
new file mode 100644
index 0000000000..e684ff6d86
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload1.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::listen (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../listen.html" title="basic_socket_acceptor::listen">
+<link rel="prev" href="../listen.html" title="basic_socket_acceptor::listen">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::listen (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../listen.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../listen.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.listen.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::listen (1 of 2 overloads)">basic_socket_acceptor::listen
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Place the acceptor into the state where it will listen for new connections.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">listen</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">backlog</span> <span class="special">=</span> <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span><span class="special">);</span>
+</pre>
+<p>
+ This function puts the socket acceptor into the state where it may accept
+ new connections.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.listen.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">backlog</span></dt>
+<dd><p>
+ The maximum length of the queue of pending connections.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.listen.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../listen.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../listen.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload2.html
new file mode 100644
index 0000000000..3a6342ca3d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/listen/overload2.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::listen (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../listen.html" title="basic_socket_acceptor::listen">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::listen (1 of 2 overloads)">
+<link rel="next" href="../local_endpoint.html" title="basic_socket_acceptor::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../listen.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.listen.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::listen (2 of 2 overloads)">basic_socket_acceptor::listen
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Place the acceptor into the state where it will listen for new connections.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">listen</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">backlog</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function puts the socket acceptor into the state where it may accept
+ new connections.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.listen.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">backlog</span></dt>
+<dd><p>
+ The maximum length of the queue of pending connections.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.listen.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.listen.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">max_connections</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../listen.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint.html b/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint.html
new file mode 100644
index 0000000000..fe52e9dd52
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="listen/overload2.html" title="basic_socket_acceptor::listen (2 of 2 overloads)">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="listen/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_socket_acceptor::local_endpoint">basic_socket_acceptor::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119180768"></a>
+Get the local endpoint of the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="listen/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload1.html
new file mode 100644
index 0000000000..19e92cf02b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload1.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_socket_acceptor::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_socket_acceptor::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">basic_socket_acceptor::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the local endpoint of the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload2.html
new file mode 100644
index 0000000000..d9bf860653
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/local_endpoint/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_socket_acceptor::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../max_connections.html" title="basic_socket_acceptor::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../max_connections.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">basic_socket_acceptor::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the local endpoint of the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the acceptor. Returns
+ a default-constructed endpoint object if an error occurred and the error
+ handler did not throw an exception.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../max_connections.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/max_connections.html b/doc/html/boost_asio/reference/basic_socket_acceptor/max_connections.html
new file mode 100644
index 0000000000..1910f97ee4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_socket_acceptor::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.max_connections"></a><a class="link" href="max_connections.html" title="basic_socket_acceptor::max_connections">basic_socket_acceptor::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119285648"></a>
+The maximum length of the queue of
+ pending incoming connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/message_do_not_route.html b/doc/html/boost_asio/reference/basic_socket_acceptor/message_do_not_route.html
new file mode 100644
index 0000000000..b06a54255a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="max_connections.html" title="basic_socket_acceptor::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route">basic_socket_acceptor::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119295280"></a>
+Specify that the data should not
+ be subject to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/message_end_of_record.html b/doc/html/boost_asio/reference/basic_socket_acceptor/message_end_of_record.html
new file mode 100644
index 0000000000..6a1887c474
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_socket_acceptor::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record">basic_socket_acceptor::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119304912"></a>
+Specifies that the data marks
+ the end of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/message_flags.html b/doc/html/boost_asio/reference/basic_socket_acceptor/message_flags.html
new file mode 100644
index 0000000000..d277fcb701
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.message_flags"></a><a class="link" href="message_flags.html" title="basic_socket_acceptor::message_flags">basic_socket_acceptor::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119314512"></a>
+Bitmask type for flags that can be passed
+ to send and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_socket_acceptor.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/message_out_of_band.html b/doc/html/boost_asio/reference/basic_socket_acceptor/message_out_of_band.html
new file mode 100644
index 0000000000..03fba818d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="message_flags.html" title="basic_socket_acceptor::message_flags">
+<link rel="next" href="message_peek.html" title="basic_socket_acceptor::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band">basic_socket_acceptor::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119327712"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/message_peek.html b/doc/html/boost_asio/reference/basic_socket_acceptor/message_peek.html
new file mode 100644
index 0000000000..95c8473eb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band">
+<link rel="next" href="native.html" title="basic_socket_acceptor::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.message_peek"></a><a class="link" href="message_peek.html" title="basic_socket_acceptor::message_peek">basic_socket_acceptor::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119337280"></a>
+Peek at incoming data without removing
+ it from the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native.html
new file mode 100644
index 0000000000..d4c2d96183
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="message_peek.html" title="basic_socket_acceptor::message_peek">
+<link rel="next" href="native_handle.html" title="basic_socket_acceptor::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native"></a><a class="link" href="native.html" title="basic_socket_acceptor::native">basic_socket_acceptor::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119346016"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native acceptor representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ acceptor. This is intended to allow access to native acceptor functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_handle.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_handle.html
new file mode 100644
index 0000000000..437c3c2d61
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_handle.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="native.html" title="basic_socket_acceptor::native">
+<link rel="next" href="native_handle_type.html" title="basic_socket_acceptor::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_handle"></a><a class="link" href="native_handle.html" title="basic_socket_acceptor::native_handle">basic_socket_acceptor::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119354448"></a>
+Get the native acceptor representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ acceptor. This is intended to allow access to native acceptor functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_handle_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_handle_type.html
new file mode 100644
index 0000000000..e4d2a5acb2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="native_handle.html" title="basic_socket_acceptor::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_socket_acceptor::native_handle_type">basic_socket_acceptor::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119361168"></a>
+The native representation of an
+ acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketAcceptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_socket_acceptor.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking.html
new file mode 100644
index 0000000000..2a32769181
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="native_handle_type.html" title="basic_socket_acceptor::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking">basic_socket_acceptor::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119374752"></a>
+Gets the non-blocking mode of the
+ native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..74c7575531
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload1.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">basic_socket_acceptor::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native acceptor. This mode has no effect on the behaviour of the acceptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying acceptor
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the acceptor object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native acceptor.
+ </p>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..2906412655
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">basic_socket_acceptor::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native acceptor. It has no effect on the behaviour of the acceptor object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ acceptor is put into non-blocking mode and direct system calls
+ may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..5e9335df67
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_non_blocking/overload3.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_socket_acceptor::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_socket_acceptor::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">basic_socket_acceptor::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native acceptor. It has no effect on the behaviour of the acceptor object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ acceptor is put into non-blocking mode and direct system calls
+ may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/native_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/native_type.html
new file mode 100644
index 0000000000..fabcdb456a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_socket_acceptor::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_socket_acceptor::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.native_type"></a><a class="link" href="native_type.html" title="basic_socket_acceptor::native_type">basic_socket_acceptor::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119494352"></a>
+(Deprecated: Use native_handle_type.) The
+ native representation of an acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketAcceptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_socket_acceptor.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking.html b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking.html
new file mode 100644
index 0000000000..e38142a497
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="native_type.html" title="basic_socket_acceptor::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_socket_acceptor::non_blocking">basic_socket_acceptor::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119508016"></a>
+Gets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload1.html
new file mode 100644
index 0000000000..ddf3cc8d11
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket_acceptor::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_socket_acceptor::non_blocking">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">basic_socket_acceptor::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the acceptor's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload2.html
new file mode 100644
index 0000000000..78a01c8da9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket_acceptor::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">basic_socket_acceptor::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the acceptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload3.html
new file mode 100644
index 0000000000..34e2ff13de
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking/overload3.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket_acceptor::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_socket_acceptor::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_socket_acceptor::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">basic_socket_acceptor::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the acceptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_acceptor.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking_io.html b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking_io.html
new file mode 100644
index 0000000000..a603fa3b9e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_socket_acceptor::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_socket_acceptor::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_socket_acceptor::non_blocking_io">basic_socket_acceptor::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119629552"></a>
+(Deprecated: Use non_blocking().) IO
+ control command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_socket_acceptor.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/open.html b/doc/html/boost_asio/reference/basic_socket_acceptor/open.html
new file mode 100644
index 0000000000..dc45062277
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="non_blocking_io.html" title="basic_socket_acceptor::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_socket_acceptor::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.open"></a><a class="link" href="open.html" title="basic_socket_acceptor::open">basic_socket_acceptor::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119663680"></a>
+Open the acceptor using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_socket_acceptor::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_socket_acceptor::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_socket_acceptor::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_socket_acceptor::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/open/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/open/overload1.html
new file mode 100644
index 0000000000..b86b3257f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/open/overload1.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_socket_acceptor::open">
+<link rel="prev" href="../open.html" title="basic_socket_acceptor::open">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::open (1 of 2 overloads)">basic_socket_acceptor::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Open the acceptor using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket acceptor so that it will use the specified
+ protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/open/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/open/overload2.html
new file mode 100644
index 0000000000..d7e2b89510
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/open/overload2.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_socket_acceptor::open">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_socket_acceptor::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::open (2 of 2 overloads)">basic_socket_acceptor::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Open the acceptor using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket acceptor so that it will use the specified
+ protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_.html b/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_.html
new file mode 100644
index 0000000000..5065daa5d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="open/overload2.html" title="basic_socket_acceptor::open (2 of 2 overloads)">
+<link rel="next" href="operator_eq_/overload1.html" title="basic_socket_acceptor::operator= (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_socket_acceptor::operator=">basic_socket_acceptor::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119779392"></a>
+Move-assign a <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="basic_socket_acceptor::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="basic_socket_acceptor::operator= (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-assign a <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
+ acceptor of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketAcceptorService.html" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket_acceptor</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="basic_socket_acceptor::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="basic_socket_acceptor::operator= (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload1.html
new file mode 100644
index 0000000000..581284a3b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::operator= (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_socket_acceptor::operator=">
+<link rel="prev" href="../operator_eq_.html" title="basic_socket_acceptor::operator=">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::operator= (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::operator= (1 of 2 overloads)">basic_socket_acceptor::operator=
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_socket_acceptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves an acceptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket_acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload2.html
new file mode 100644
index 0000000000..1861daa199
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/operator_eq_/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::operator= (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_socket_acceptor::operator=">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::operator= (1 of 2 overloads)">
+<link rel="next" href="../protocol_type.html" title="basic_socket_acceptor::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::operator= (2 of 2 overloads)">basic_socket_acceptor::operator=
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> from an
+ acceptor of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SocketAcceptorService.html" title="Socket acceptor service requirements">SocketAcceptorService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_socket_acceptor</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketAcceptorService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves an acceptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.operator_eq_.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/protocol_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/protocol_type.html
new file mode 100644
index 0000000000..1f6bd58e19
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="operator_eq_/overload2.html" title="basic_socket_acceptor::operator= (2 of 2 overloads)">
+<link rel="next" href="receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_socket_acceptor::protocol_type">basic_socket_acceptor::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp119883200"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_socket_acceptor.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_socket_acceptor/receive_buffer_size.html
new file mode 100644
index 0000000000..0536f81b39
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="protocol_type.html" title="basic_socket_acceptor::protocol_type">
+<link rel="next" href="receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size">basic_socket_acceptor::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119896416"></a>
+Socket option for the receive buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_socket_acceptor.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_socket_acceptor/receive_low_watermark.html
new file mode 100644
index 0000000000..c88078af9f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/receive_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size">
+<link rel="next" href="reuse_address.html" title="basic_socket_acceptor::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reuse_address.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark">basic_socket_acceptor::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp119953792"></a>
+Socket option for the receive
+ low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_socket_acceptor.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reuse_address.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/reuse_address.html b/doc/html/boost_asio/reference/basic_socket_acceptor/reuse_address.html
new file mode 100644
index 0000000000..81874c465e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark">
+<link rel="next" href="send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_socket_acceptor::reuse_address">basic_socket_acceptor::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp120011200"></a>
+Socket option to allow the socket to
+ be bound to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_socket_acceptor.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_socket_acceptor.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/send_buffer_size.html b/doc/html/boost_asio/reference/basic_socket_acceptor/send_buffer_size.html
new file mode 100644
index 0000000000..18d94f9a7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="reuse_address.html" title="basic_socket_acceptor::reuse_address">
+<link rel="next" href="send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size">basic_socket_acceptor::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp120068336"></a>
+Socket option for the send buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_socket_acceptor.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/send_low_watermark.html b/doc/html/boost_asio/reference/basic_socket_acceptor/send_low_watermark.html
new file mode 100644
index 0000000000..1cf3018582
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/send_low_watermark.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size">
+<link rel="next" href="service.html" title="basic_socket_acceptor::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark">basic_socket_acceptor::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp120125744"></a>
+Socket option for the send low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_socket_acceptor.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/service.html b/doc/html/boost_asio/reference/basic_socket_acceptor/service.html
new file mode 100644
index 0000000000..27baa9cf66
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark">
+<link rel="next" href="service_type.html" title="basic_socket_acceptor::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.service"></a><a class="link" href="service.html" title="basic_socket_acceptor::service">basic_socket_acceptor::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp120182896"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_socket_acceptor.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/service_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/service_type.html
new file mode 100644
index 0000000000..468884dacb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="service.html" title="basic_socket_acceptor::service">
+<link rel="next" href="set_option.html" title="basic_socket_acceptor::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.service_type"></a><a class="link" href="service_type.html" title="basic_socket_acceptor::service_type">basic_socket_acceptor::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp120195456"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SocketAcceptorService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_socket_acceptor.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/set_option.html b/doc/html/boost_asio/reference/basic_socket_acceptor/set_option.html
new file mode 100644
index 0000000000..cc1075be37
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/set_option.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="service_type.html" title="basic_socket_acceptor::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_socket_acceptor::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.set_option"></a><a class="link" href="set_option.html" title="basic_socket_acceptor::set_option">basic_socket_acceptor::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120207952"></a>
+Set an option on the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_socket_acceptor::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_socket_acceptor::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_socket_acceptor::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_socket_acceptor::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload1.html b/doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload1.html
new file mode 100644
index 0000000000..31c2d4286d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload1.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_socket_acceptor::set_option">
+<link rel="prev" href="../set_option.html" title="basic_socket_acceptor::set_option">
+<link rel="next" href="overload2.html" title="basic_socket_acceptor::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_socket_acceptor::set_option (1 of 2 overloads)">basic_socket_acceptor::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set an option on the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the acceptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_acceptor.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the SOL_SOCKET/SO_REUSEADDR option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload2.html b/doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload2.html
new file mode 100644
index 0000000000..fb0dcf291b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/set_option/overload2.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_socket_acceptor::set_option">
+<link rel="prev" href="overload1.html" title="basic_socket_acceptor::set_option (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_socket_acceptor::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_socket_acceptor::set_option (2 of 2 overloads)">basic_socket_acceptor::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set an option on the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the acceptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the acceptor.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_acceptor.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the SOL_SOCKET/SO_REUSEADDR option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_acceptor/shutdown_type.html b/doc/html/boost_asio/reference/basic_socket_acceptor/shutdown_type.html
new file mode 100644
index 0000000000..cbf25b0d49
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_acceptor/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_acceptor::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_acceptor.html" title="basic_socket_acceptor">
+<link rel="prev" href="set_option/overload2.html" title="basic_socket_acceptor::set_option (2 of 2 overloads)">
+<link rel="next" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_acceptor.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_socket_acceptor::shutdown_type">basic_socket_acceptor::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp120345520"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp120349216"></a>
+ <a class="indexterm" name="idp120350320"></a>
+ <a class="indexterm" name="idp120351424"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_acceptor.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_socket_acceptor.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_acceptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream.html b/doc/html/boost_asio/reference/basic_socket_iostream.html
new file mode 100644
index 0000000000..51e865fc09
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream.html
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_socket_acceptor/shutdown_type.html" title="basic_socket_acceptor::shutdown_type">
+<link rel="next" href="basic_socket_iostream/basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket_acceptor/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_iostream/basic_socket_iostream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_socket_iostream"></a><a class="link" href="basic_socket_iostream.html" title="basic_socket_iostream">basic_socket_iostream</a>
+</h3></div></div></div>
+<p>
+ Iostream interface for a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="StreamSocketService.html" title="Stream socket service requirements">StreamSocketService</a> <span class="special">=</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <span class="identifier">Time</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimeTraits.html" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimerService.html" title="Timer service requirements">TimerService</a> <span class="special">=</span> <span class="identifier">deadline_timer_service</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_socket_iostream</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_socket_iostream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.types"></a></span><a class="link" href="basic_socket_iostream.html#boost_asio.reference.basic_socket_iostream.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/duration_type.html" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/endpoint_type.html" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/time_type.html" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_iostream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.member_functions"></a></span><a class="link" href="basic_socket_iostream.html#boost_asio.reference.basic_socket_iostream.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket_iostream without establishing a connection.
+ </p>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/close.html" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the connection.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/connect.html" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/error.html" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the last error associated with the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/expires_at.html" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the stream's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the stream's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/expires_from_now.html" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the stream's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_iostream/rdbuf.html" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Return a pointer to the underlying streambuf.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_iostream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.requirements"></a></span><a class="link" href="basic_socket_iostream.html#boost_asio.reference.basic_socket_iostream.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_socket_acceptor/shutdown_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_iostream/basic_socket_iostream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream.html b/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream.html
new file mode 100644
index 0000000000..1aa4b2274e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::basic_socket_iostream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="next" href="basic_socket_iostream/overload1.html" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_iostream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.basic_socket_iostream"></a><a class="link" href="basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream">basic_socket_iostream::basic_socket_iostream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120448720"></a>
+Construct a <a class="link" href="../basic_socket_iostream.html" title="basic_socket_iostream"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span></code></a> without
+ establishing a connection.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_socket_iostream/overload1.html" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">basic_socket_iostream</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_iostream/overload1.html" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Establish a connection to an endpoint corresponding to a resolver query.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <a class="link" href="basic_socket_iostream/overload2.html" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">basic_socket_iostream</a><span class="special">(</span>
+ <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_socket_iostream/overload2.html" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_iostream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload1.html b/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload1.html
new file mode 100644
index 0000000000..2ca78a88d2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream">
+<link rel="prev" href="../basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream">
+<link rel="next" href="overload2.html" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket_iostream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload1"></a><a class="link" href="overload1.html" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">basic_socket_iostream::basic_socket_iostream
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_socket_iostream.html" title="basic_socket_iostream"><code class="computeroutput"><span class="identifier">basic_socket_iostream</span></code></a> without
+ establishing a connection.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_iostream</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_socket_iostream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload2.html b/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload2.html
new file mode 100644
index 0000000000..2f87e646ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/basic_socket_iostream/overload2.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream">
+<link rel="prev" href="overload1.html" title="basic_socket_iostream::basic_socket_iostream (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_socket_iostream::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.basic_socket_iostream.overload2"></a><a class="link" href="overload2.html" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">basic_socket_iostream::basic_socket_iostream
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Establish a connection to an endpoint corresponding to a resolver query.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
+<span class="identifier">basic_socket_iostream</span><span class="special">(</span>
+ <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor automatically establishes a connection based on the
+ supplied resolver query parameters. The arguments are used to construct
+ a resolver query object.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/close.html b/doc/html/boost_asio/reference/basic_socket_iostream/close.html
new file mode 100644
index 0000000000..b77b5eb7f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/close.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="basic_socket_iostream/overload2.html" title="basic_socket_iostream::basic_socket_iostream (2 of 2 overloads)">
+<link rel="next" href="connect.html" title="basic_socket_iostream::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket_iostream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.close"></a><a class="link" href="close.html" title="basic_socket_iostream::close">basic_socket_iostream::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120496368"></a>
+Close the connection.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="basic_socket_iostream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/connect.html b/doc/html/boost_asio/reference/basic_socket_iostream/connect.html
new file mode 100644
index 0000000000..51113b5041
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/connect.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="close.html" title="basic_socket_iostream::close">
+<link rel="next" href="duration_type.html" title="basic_socket_iostream::duration_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.connect"></a><a class="link" href="connect.html" title="basic_socket_iostream::connect">basic_socket_iostream::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120502368"></a>
+Establish a connection to an endpoint corresponding
+ to a resolver query.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
+</pre>
+<p>
+ This function automatically establishes a connection based on the supplied
+ resolver query parameters. The arguments are used to construct a resolver
+ query object.
+ </p>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/duration_type.html b/doc/html/boost_asio/reference/basic_socket_iostream/duration_type.html
new file mode 100644
index 0000000000..393baaa053
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/duration_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::duration_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="connect.html" title="basic_socket_iostream::connect">
+<link rel="next" href="endpoint_type.html" title="basic_socket_iostream::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.duration_type"></a><a class="link" href="duration_type.html" title="basic_socket_iostream::duration_type">basic_socket_iostream::duration_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120520448"></a>
+The duration type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.duration_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.duration_type.requirements"></a></span><a class="link" href="duration_type.html#boost_asio.reference.basic_socket_iostream.duration_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/endpoint_type.html b/doc/html/boost_asio/reference/basic_socket_iostream/endpoint_type.html
new file mode 100644
index 0000000000..f6bb5fd259
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="duration_type.html" title="basic_socket_iostream::duration_type">
+<link rel="next" href="error.html" title="basic_socket_iostream::error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_socket_iostream::endpoint_type">basic_socket_iostream::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120533936"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_socket_iostream.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/error.html b/doc/html/boost_asio/reference/basic_socket_iostream/error.html
new file mode 100644
index 0000000000..9ba0a3b1fe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/error.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::error</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="endpoint_type.html" title="basic_socket_iostream::endpoint_type">
+<link rel="next" href="expires_at.html" title="basic_socket_iostream::expires_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.error"></a><a class="link" href="error.html" title="basic_socket_iostream::error">basic_socket_iostream::error</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120547408"></a>
+Get the last error associated with the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">error</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.error.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.error.return_value"></a></span><a class="link" href="error.html#boost_asio.reference.basic_socket_iostream.error.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An <code class="computeroutput"><span class="identifier">error_code</span></code> corresponding
+ to the last error from the stream.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.error.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.error.example"></a></span><a class="link" href="error.html#boost_asio.reference.basic_socket_iostream.error.example">Example</a>
+ </h6>
+<p>
+ To print the error associated with a failure to establish a connection:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span> <span class="identifier">s</span><span class="special">(</span><span class="string">"www.boost.org"</span><span class="special">,</span> <span class="string">"http"</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(!</span><span class="identifier">s</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">error</span><span class="special">().</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/expires_at.html b/doc/html/boost_asio/reference/basic_socket_iostream/expires_at.html
new file mode 100644
index 0000000000..d7c55ccbde
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/expires_at.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::expires_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="error.html" title="basic_socket_iostream::error">
+<link rel="next" href="expires_at/overload1.html" title="basic_socket_iostream::expires_at (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.expires_at"></a><a class="link" href="expires_at.html" title="basic_socket_iostream::expires_at">basic_socket_iostream::expires_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120585824"></a>
+Get the stream's expiry time as an absolute
+ time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="expires_at/overload1.html" title="basic_socket_iostream::expires_at (1 of 2 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload1.html" title="basic_socket_iostream::expires_at (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the stream's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="expires_at/overload2.html" title="basic_socket_iostream::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload2.html" title="basic_socket_iostream::expires_at (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="error.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload1.html b/doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload1.html
new file mode 100644
index 0000000000..1e73288551
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload1.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::expires_at (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_socket_iostream::expires_at">
+<link rel="prev" href="../expires_at.html" title="basic_socket_iostream::expires_at">
+<link rel="next" href="overload2.html" title="basic_socket_iostream::expires_at (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload1"></a><a class="link" href="overload1.html" title="basic_socket_iostream::expires_at (1 of 2 overloads)">basic_socket_iostream::expires_at
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the stream's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_at.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_iostream.expires_at.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An absolute time value representing the stream's expiry time.
+ </p>
+</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 &#169; 2003-2017 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="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload2.html b/doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload2.html
new file mode 100644
index 0000000000..bff5f55660
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/expires_at/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::expires_at (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_socket_iostream::expires_at">
+<link rel="prev" href="overload1.html" title="basic_socket_iostream::expires_at (1 of 2 overloads)">
+<link rel="next" href="../expires_from_now.html" title="basic_socket_iostream::expires_from_now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload2"></a><a class="link" href="overload2.html" title="basic_socket_iostream::expires_at (2 of 2 overloads)">basic_socket_iostream::expires_at
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the stream's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time associated with the stream. Stream
+ operations performed after this time (where the operations cannot be
+ completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.expires_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_iostream.expires_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the stream.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now.html b/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now.html
new file mode 100644
index 0000000000..0e7c6f6fd0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::expires_from_now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="expires_at/overload2.html" title="basic_socket_iostream::expires_at (2 of 2 overloads)">
+<link rel="next" href="expires_from_now/overload1.html" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.expires_from_now"></a><a class="link" href="expires_from_now.html" title="basic_socket_iostream::expires_from_now">basic_socket_iostream::expires_from_now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120630720"></a>
+Get the timer's expiry time relative
+ to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="expires_from_now/overload1.html" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload1.html" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the stream's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="expires_from_now/overload2.html" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload2.html" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload1.html b/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload1.html
new file mode 100644
index 0000000000..2308b7d4a0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload1.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::expires_from_now (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_socket_iostream::expires_from_now">
+<link rel="prev" href="../expires_from_now.html" title="basic_socket_iostream::expires_from_now">
+<link rel="next" href="overload2.html" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload1"></a><a class="link" href="overload1.html" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">basic_socket_iostream::expires_from_now
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A relative time value representing the stream's expiry time.
+ </p>
+</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 &#169; 2003-2017 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="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload2.html b/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload2.html
new file mode 100644
index 0000000000..5e5b05f37b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/expires_from_now/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::expires_from_now (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_socket_iostream::expires_from_now">
+<link rel="prev" href="overload1.html" title="basic_socket_iostream::expires_from_now (1 of 2 overloads)">
+<link rel="next" href="../rdbuf.html" title="basic_socket_iostream::rdbuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../rdbuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload2"></a><a class="link" href="overload2.html" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">basic_socket_iostream::expires_from_now
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the stream's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time associated with the stream. Stream
+ operations performed after this time (where the operations cannot be
+ completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.expires_from_now.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_iostream.expires_from_now.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../rdbuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/rdbuf.html b/doc/html/boost_asio/reference/basic_socket_iostream/rdbuf.html
new file mode 100644
index 0000000000..cddd141af8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/rdbuf.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::rdbuf</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="expires_from_now/overload2.html" title="basic_socket_iostream::expires_from_now (2 of 2 overloads)">
+<link rel="next" href="time_type.html" title="basic_socket_iostream::time_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.rdbuf"></a><a class="link" href="rdbuf.html" title="basic_socket_iostream::rdbuf">basic_socket_iostream::rdbuf</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120675728"></a>
+Return a pointer to the underlying streambuf.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">rdbuf</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_iostream/time_type.html b/doc/html/boost_asio/reference/basic_socket_iostream/time_type.html
new file mode 100644
index 0000000000..238117109e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_iostream/time_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_iostream::time_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_iostream.html" title="basic_socket_iostream">
+<link rel="prev" href="rdbuf.html" title="basic_socket_iostream::rdbuf">
+<link rel="next" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rdbuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_iostream.time_type"></a><a class="link" href="time_type.html" title="basic_socket_iostream::time_type">basic_socket_iostream::time_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp120690528"></a>
+The time type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_iostream.time_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_iostream.time_type.requirements"></a></span><a class="link" href="time_type.html#boost_asio.reference.basic_socket_iostream.time_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_iostream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="rdbuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_iostream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf.html b/doc/html/boost_asio/reference/basic_socket_streambuf.html
new file mode 100644
index 0000000000..1866435943
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf.html
@@ -0,0 +1,1026 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_socket_iostream/time_type.html" title="basic_socket_iostream::time_type">
+<link rel="next" href="basic_socket_streambuf/assign.html" title="basic_socket_streambuf::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket_iostream/time_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_streambuf/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf"></a><a class="link" href="basic_socket_streambuf.html" title="basic_socket_streambuf">basic_socket_streambuf</a>
+</h3></div></div></div>
+<p>
+ Iostream streambuf for a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="StreamSocketService.html" title="Stream socket service requirements">StreamSocketService</a> <span class="special">=</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <span class="identifier">Time</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimeTraits.html" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimerService.html" title="Timer service requirements">TimerService</a> <span class="special">=</span> <span class="identifier">deadline_timer_service</span><span class="special">&lt;</span><span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_socket_streambuf</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.types"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/broadcast.html" title="basic_socket_streambuf::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/bytes_readable.html" title="basic_socket_streambuf::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/debug.html" title="basic_socket_streambuf::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/do_not_route.html" title="basic_socket_streambuf::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/duration_type.html" title="basic_socket_streambuf::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/enable_connection_aborted.html" title="basic_socket_streambuf::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/endpoint_type.html" title="basic_socket_streambuf::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/implementation_type.html" title="basic_socket_streambuf::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/keep_alive.html" title="basic_socket_streambuf::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/linger.html" title="basic_socket_streambuf::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/lowest_layer_type.html" title="basic_socket_streambuf::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/message_flags.html" title="basic_socket_streambuf::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/native_handle_type.html" title="basic_socket_streambuf::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/native_type.html" title="basic_socket_streambuf::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/non_blocking_io.html" title="basic_socket_streambuf::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/protocol_type.html" title="basic_socket_streambuf::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/receive_buffer_size.html" title="basic_socket_streambuf::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/receive_low_watermark.html" title="basic_socket_streambuf::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/reuse_address.html" title="basic_socket_streambuf::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/send_buffer_size.html" title="basic_socket_streambuf::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/send_low_watermark.html" title="basic_socket_streambuf::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/service_type.html" title="basic_socket_streambuf::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/shutdown_type.html" title="basic_socket_streambuf::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/time_type.html" title="basic_socket_streambuf::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.member_functions"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/assign.html" title="basic_socket_streambuf::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/async_connect.html" title="basic_socket_streambuf::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/at_mark.html" title="basic_socket_streambuf::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/available.html" title="basic_socket_streambuf::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/basic_socket_streambuf.html" title="basic_socket_streambuf::basic_socket_streambuf"><span class="bold"><strong>basic_socket_streambuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket_streambuf without establishing a connection.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/bind.html" title="basic_socket_streambuf::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/cancel.html" title="basic_socket_streambuf::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/close.html" title="basic_socket_streambuf::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the connection.
+ </p>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/connect.html" title="basic_socket_streambuf::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Establish a connection.
+ </p>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/expires_at.html" title="basic_socket_streambuf::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the stream buffer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the stream buffer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/expires_from_now.html" title="basic_socket_streambuf::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the stream buffer's expiry time relative to now.
+ </p>
+ <p>
+ Set the stream buffer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/get_io_service.html" title="basic_socket_streambuf::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/get_option.html" title="basic_socket_streambuf::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/io_control.html" title="basic_socket_streambuf::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/is_open.html" title="basic_socket_streambuf::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/local_endpoint.html" title="basic_socket_streambuf::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/lowest_layer.html" title="basic_socket_streambuf::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/native.html" title="basic_socket_streambuf::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/native_handle.html" title="basic_socket_streambuf::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/non_blocking.html" title="basic_socket_streambuf::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/open.html" title="basic_socket_streambuf::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/puberror.html" title="basic_socket_streambuf::puberror"><span class="bold"><strong>puberror</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the last error associated with the stream buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/remote_endpoint.html" title="basic_socket_streambuf::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/set_option.html" title="basic_socket_streambuf::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/shutdown.html" title="basic_socket_streambuf::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/_basic_socket_streambuf.html" title="basic_socket_streambuf::~basic_socket_streambuf"><span class="bold"><strong>~basic_socket_streambuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor flushes buffered data.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.protected_member_functions"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/error.html" title="basic_socket_streambuf::error"><span class="bold"><strong>error</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the last error associated with the stream buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/get_implementation.html" title="basic_socket_streambuf::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/get_service.html" title="basic_socket_streambuf::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/overflow.html" title="basic_socket_streambuf::overflow"><span class="bold"><strong>overflow</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/setbuf.html" title="basic_socket_streambuf::setbuf"><span class="bold"><strong>setbuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/sync.html" title="basic_socket_streambuf::sync"><span class="bold"><strong>sync</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/underflow.html" title="basic_socket_streambuf::underflow"><span class="bold"><strong>underflow</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.data_members"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/max_connections.html" title="basic_socket_streambuf::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/message_do_not_route.html" title="basic_socket_streambuf::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/message_end_of_record.html" title="basic_socket_streambuf::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/message_out_of_band.html" title="basic_socket_streambuf::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/message_peek.html" title="basic_socket_streambuf::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.protected_data_members"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/implementation.html" title="basic_socket_streambuf::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/service.html" title="basic_socket_streambuf::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.friends"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/io_handler.html" title="basic_socket_streambuf::io_handler"><span class="bold"><strong>io_handler</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_socket_streambuf/timer_handler.html" title="basic_socket_streambuf::timer_handler"><span class="bold"><strong>timer_handler</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_socket_streambuf.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.requirements"></a></span><a class="link" href="basic_socket_streambuf.html#boost_asio.reference.basic_socket_streambuf.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_socket_iostream/time_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket_streambuf/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/_basic_socket_streambuf.html b/doc/html/boost_asio/reference/basic_socket_streambuf/_basic_socket_streambuf.html
new file mode 100644
index 0000000000..8331f21433
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/_basic_socket_streambuf.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::~basic_socket_streambuf</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="underflow.html" title="basic_socket_streambuf::underflow">
+<link rel="next" href="../basic_stream_socket.html" title="basic_stream_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="underflow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf._basic_socket_streambuf"></a><a class="link" href="_basic_socket_streambuf.html" title="basic_socket_streambuf::~basic_socket_streambuf">basic_socket_streambuf::~basic_socket_streambuf</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124859968"></a>
+Destructor flushes buffered
+ data.
+ </p>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">basic_socket_streambuf</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="underflow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/assign.html b/doc/html/boost_asio/reference/basic_socket_streambuf/assign.html
new file mode 100644
index 0000000000..fa570b850b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="next" href="assign/overload1.html" title="basic_socket_streambuf::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.assign"></a><a class="link" href="assign.html" title="basic_socket_streambuf::assign">basic_socket_streambuf::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121018112"></a>
+Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_socket_streambuf::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_socket_streambuf::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_socket_streambuf::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_socket_streambuf::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload1.html
new file mode 100644
index 0000000000..3c8bd74db8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_socket_streambuf::assign">
+<link rel="prev" href="../assign.html" title="basic_socket_streambuf::assign">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.assign.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::assign (1 of 2 overloads)">basic_socket_streambuf::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload2.html
new file mode 100644
index 0000000000..3818035537
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/assign/overload2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_socket_streambuf::assign">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::assign (1 of 2 overloads)">
+<link rel="next" href="../async_connect.html" title="basic_socket_streambuf::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.assign.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::assign (2 of 2 overloads)">basic_socket_streambuf::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/async_connect.html b/doc/html/boost_asio/reference/basic_socket_streambuf/async_connect.html
new file mode 100644
index 0000000000..94571f4cb7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/async_connect.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="assign/overload2.html" title="basic_socket_streambuf::assign (2 of 2 overloads)">
+<link rel="next" href="at_mark.html" title="basic_socket_streambuf::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.async_connect"></a><a class="link" href="async_connect.html" title="basic_socket_streambuf::async_connect">basic_socket_streambuf::async_connect</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp121081664"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously connect a socket to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the connect
+ fails, and the socket was automatically opened, the socket is not returned
+ to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.async_connect.parameters"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_socket_streambuf.async_connect.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected. Copies
+ will be made of the endpoint object as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connection operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.async_connect.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.async_connect.example"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_socket_streambuf.async_connect.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Connect succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark.html b/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark.html
new file mode 100644
index 0000000000..f960270aec
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="async_connect.html" title="basic_socket_streambuf::async_connect">
+<link rel="next" href="at_mark/overload1.html" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark"></a><a class="link" href="at_mark.html" title="basic_socket_streambuf::at_mark">basic_socket_streambuf::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121161728"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="at_mark/overload1.html" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload1.html" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">bool</span> <a class="link" href="at_mark/overload2.html" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload2.html" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload1.html
new file mode 100644
index 0000000000..fe4abe5c8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::at_mark (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_socket_streambuf::at_mark">
+<link rel="prev" href="../at_mark.html" title="basic_socket_streambuf::at_mark">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">basic_socket_streambuf::at_mark
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload2.html
new file mode 100644
index 0000000000..4d1db59e19
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/at_mark/overload2.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::at_mark (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_socket_streambuf::at_mark">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::at_mark (1 of 2 overloads)">
+<link rel="next" href="../available.html" title="basic_socket_streambuf::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">basic_socket_streambuf::at_mark
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.at_mark.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.at_mark.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/available.html b/doc/html/boost_asio/reference/basic_socket_streambuf/available.html
new file mode 100644
index 0000000000..baf2b34d55
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/available.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="at_mark/overload2.html" title="basic_socket_streambuf::at_mark (2 of 2 overloads)">
+<link rel="next" href="available/overload1.html" title="basic_socket_streambuf::available (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.available"></a><a class="link" href="available.html" title="basic_socket_streambuf::available">basic_socket_streambuf::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121217616"></a>
+Determine the number of bytes available
+ for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload1.html" title="basic_socket_streambuf::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload1.html" title="basic_socket_streambuf::available (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload2.html" title="basic_socket_streambuf::available (2 of 2 overloads)">available</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload2.html" title="basic_socket_streambuf::available (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload1.html
new file mode 100644
index 0000000000..90f20a6e60
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload1.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::available (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_socket_streambuf::available">
+<link rel="prev" href="../available.html" title="basic_socket_streambuf::available">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::available (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.available.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::available (1 of 2 overloads)">basic_socket_streambuf::available
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.available.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.available.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.available.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.available.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload2.html
new file mode 100644
index 0000000000..ab02bd9799
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/available/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::available (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_socket_streambuf::available">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::available (1 of 2 overloads)">
+<link rel="next" href="../basic_socket_streambuf.html" title="basic_socket_streambuf::basic_socket_streambuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_streambuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.available.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::available (2 of 2 overloads)">basic_socket_streambuf::available
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.available.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.available.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.available.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.available.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.available.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_socket_streambuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf.html b/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf.html
new file mode 100644
index 0000000000..e56a224cf9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/basic_socket_streambuf.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::basic_socket_streambuf</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="available/overload2.html" title="basic_socket_streambuf::available (2 of 2 overloads)">
+<link rel="next" href="bind.html" title="basic_socket_streambuf::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.basic_socket_streambuf"></a><a class="link" href="basic_socket_streambuf.html" title="basic_socket_streambuf::basic_socket_streambuf">basic_socket_streambuf::basic_socket_streambuf</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121277264"></a>
+Construct a <a class="link" href="../basic_socket_streambuf.html" title="basic_socket_streambuf"><code class="computeroutput"><span class="identifier">basic_socket_streambuf</span></code></a> without
+ establishing a connection.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/bind.html b/doc/html/boost_asio/reference/basic_socket_streambuf/bind.html
new file mode 100644
index 0000000000..0b48ec0891
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="basic_socket_streambuf.html" title="basic_socket_streambuf::basic_socket_streambuf">
+<link rel="next" href="bind/overload1.html" title="basic_socket_streambuf::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.bind"></a><a class="link" href="bind.html" title="basic_socket_streambuf::bind">basic_socket_streambuf::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121284496"></a>
+Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_socket_streambuf::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_socket_streambuf::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_socket_streambuf::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_socket_streambuf::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_socket_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload1.html
new file mode 100644
index 0000000000..80c86dd677
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_socket_streambuf::bind">
+<link rel="prev" href="../bind.html" title="basic_socket_streambuf::bind">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::bind (1 of 2 overloads)">basic_socket_streambuf::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload2.html
new file mode 100644
index 0000000000..e575917cce
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/bind/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_socket_streambuf::bind">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_socket_streambuf::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::bind (2 of 2 overloads)">basic_socket_streambuf::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/broadcast.html b/doc/html/boost_asio/reference/basic_socket_streambuf/broadcast.html
new file mode 100644
index 0000000000..3b990d6bf6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/broadcast.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="bind/overload2.html" title="basic_socket_streambuf::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_socket_streambuf::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.broadcast"></a><a class="link" href="broadcast.html" title="basic_socket_streambuf::broadcast">basic_socket_streambuf::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp121428352"></a>
+Socket option to permit sending of broadcast
+ messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_socket_streambuf.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_socket_streambuf.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/bytes_readable.html b/doc/html/boost_asio/reference/basic_socket_streambuf/bytes_readable.html
new file mode 100644
index 0000000000..6933270afd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="broadcast.html" title="basic_socket_streambuf::broadcast">
+<link rel="next" href="cancel.html" title="basic_socket_streambuf::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_socket_streambuf::bytes_readable">basic_socket_streambuf::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp121485744"></a>
+IO control command to get the amount
+ of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_socket_streambuf.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_socket_streambuf.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/cancel.html b/doc/html/boost_asio/reference/basic_socket_streambuf/cancel.html
new file mode 100644
index 0000000000..09b7af9a6f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="bytes_readable.html" title="basic_socket_streambuf::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_socket_streambuf::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.cancel"></a><a class="link" href="cancel.html" title="basic_socket_streambuf::cancel">basic_socket_streambuf::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121525248"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_socket_streambuf::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_socket_streambuf::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_socket_streambuf::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_socket_streambuf::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload1.html
new file mode 100644
index 0000000000..22204526ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_socket_streambuf::cancel">
+<link rel="prev" href="../cancel.html" title="basic_socket_streambuf::cancel">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::cancel (1 of 2 overloads)">basic_socket_streambuf::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload2.html
new file mode 100644
index 0000000000..5711b7fbb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/cancel/overload2.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_socket_streambuf::cancel">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_socket_streambuf::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::cancel (2 of 2 overloads)">basic_socket_streambuf::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/close.html b/doc/html/boost_asio/reference/basic_socket_streambuf/close.html
new file mode 100644
index 0000000000..7ffab9eb37
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/close.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="cancel/overload2.html" title="basic_socket_streambuf::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_socket_streambuf::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.close"></a><a class="link" href="close.html" title="basic_socket_streambuf::close">basic_socket_streambuf::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121617632"></a>
+Close the connection.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <a class="link" href="close/overload1.html" title="basic_socket_streambuf::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_socket_streambuf::close (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_socket_streambuf::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_socket_streambuf::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload1.html
new file mode 100644
index 0000000000..0c221f1814
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload1.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_socket_streambuf::close">
+<link rel="prev" href="../close.html" title="basic_socket_streambuf::close">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.close.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::close (1 of 2 overloads)">basic_socket_streambuf::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the connection.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.close.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">this</span></code> if a connection was
+ successfully established, a null pointer otherwise.
+ </p>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload2.html
new file mode 100644
index 0000000000..a1a4a96e52
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/close/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_socket_streambuf::close">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::close (1 of 2 overloads)">
+<link rel="next" href="../connect.html" title="basic_socket_streambuf::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.close.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::close (2 of 2 overloads)">basic_socket_streambuf::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.close.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.close.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.close.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/connect.html b/doc/html/boost_asio/reference/basic_socket_streambuf/connect.html
new file mode 100644
index 0000000000..9f8c7f3290
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/connect.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="close/overload2.html" title="basic_socket_streambuf::close (2 of 2 overloads)">
+<link rel="next" href="connect/overload1.html" title="basic_socket_streambuf::connect (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.connect"></a><a class="link" href="connect.html" title="basic_socket_streambuf::connect">basic_socket_streambuf::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121712976"></a>
+Establish a connection.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <a class="link" href="connect/overload1.html" title="basic_socket_streambuf::connect (1 of 3 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="basic_socket_streambuf::connect (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
+<span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="special">*</span> <a class="link" href="connect/overload2.html" title="basic_socket_streambuf::connect (2 of 3 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="basic_socket_streambuf::connect (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="connect/overload3.html" title="basic_socket_streambuf::connect (3 of 3 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload3.html" title="basic_socket_streambuf::connect (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload1.html
new file mode 100644
index 0000000000..6fb2c6a19d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload1.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::connect (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_socket_streambuf::connect">
+<link rel="prev" href="../connect.html" title="basic_socket_streambuf::connect">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::connect (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::connect (1 of 3 overloads)">basic_socket_streambuf::connect
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Establish a connection.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span><span class="special">,</span> <span class="identifier">Time</span><span class="special">,</span> <span class="identifier">TimeTraits</span><span class="special">,</span> <span class="identifier">TimerService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function establishes a connection to the specified endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.connect.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">this</span></code> if a connection was
+ successfully established, a null pointer otherwise.
+ </p>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload2.html
new file mode 100644
index 0000000000..c36dd18c22
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload2.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::connect (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_socket_streambuf::connect">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::connect (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_streambuf::connect (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::connect (2 of 3 overloads)">basic_socket_streambuf::connect
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Establish a connection.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
+<span class="identifier">basic_socket_streambuf</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">T1</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="special">...</span> <span class="special">,</span>
+ <span class="identifier">TN</span> <span class="identifier">tn</span><span class="special">);</span>
+</pre>
+<p>
+ This function automatically establishes a connection based on the supplied
+ resolver query parameters. The arguments are used to construct a resolver
+ query object.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.connect.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">this</span></code> if a connection was
+ successfully established, a null pointer otherwise.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload3.html b/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload3.html
new file mode 100644
index 0000000000..ee7a8414b7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/connect/overload3.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::connect (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_socket_streambuf::connect">
+<link rel="prev" href="overload2.html" title="basic_socket_streambuf::connect (2 of 3 overloads)">
+<link rel="next" href="../debug.html" title="basic_socket_streambuf::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload3"></a><a class="link" href="overload3.html" title="basic_socket_streambuf::connect (3 of 3 overloads)">basic_socket_streambuf::connect
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_streambuf.connect.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.connect.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_streambuf.connect.overload3.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/debug.html b/doc/html/boost_asio/reference/basic_socket_streambuf/debug.html
new file mode 100644
index 0000000000..1c1eea898d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="connect/overload3.html" title="basic_socket_streambuf::connect (3 of 3 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_socket_streambuf::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.debug"></a><a class="link" href="debug.html" title="basic_socket_streambuf::debug">basic_socket_streambuf::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp121873824"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_socket_streambuf.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_socket_streambuf.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/do_not_route.html b/doc/html/boost_asio/reference/basic_socket_streambuf/do_not_route.html
new file mode 100644
index 0000000000..184272851a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="debug.html" title="basic_socket_streambuf::debug">
+<link rel="next" href="duration_type.html" title="basic_socket_streambuf::duration_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_socket_streambuf::do_not_route">basic_socket_streambuf::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp121930944"></a>
+Socket option to prevent routing, use
+ local interfaces only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_socket_streambuf.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_socket_streambuf.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/duration_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/duration_type.html
new file mode 100644
index 0000000000..a384b13d9c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/duration_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::duration_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="do_not_route.html" title="basic_socket_streambuf::do_not_route">
+<link rel="next" href="enable_connection_aborted.html" title="basic_socket_streambuf::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.duration_type"></a><a class="link" href="duration_type.html" title="basic_socket_streambuf::duration_type">basic_socket_streambuf::duration_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp121987344"></a>
+The duration type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.duration_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.duration_type.requirements"></a></span><a class="link" href="duration_type.html#boost_asio.reference.basic_socket_streambuf.duration_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_socket_streambuf/enable_connection_aborted.html
new file mode 100644
index 0000000000..57af2a7afc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="duration_type.html" title="basic_socket_streambuf::duration_type">
+<link rel="next" href="endpoint_type.html" title="basic_socket_streambuf::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_socket_streambuf::enable_connection_aborted">basic_socket_streambuf::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122001648"></a>
+Socket option to report
+ aborted connections on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_socket_streambuf.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/endpoint_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/endpoint_type.html
new file mode 100644
index 0000000000..c9c761cc96
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_socket_streambuf::enable_connection_aborted">
+<link rel="next" href="error.html" title="basic_socket_streambuf::error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_socket_streambuf::endpoint_type">basic_socket_streambuf::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122062912"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_socket_streambuf.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/error.html b/doc/html/boost_asio/reference/basic_socket_streambuf/error.html
new file mode 100644
index 0000000000..9b7c6de29a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/error.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::error</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="endpoint_type.html" title="basic_socket_streambuf::endpoint_type">
+<link rel="next" href="expires_at.html" title="basic_socket_streambuf::expires_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.error"></a><a class="link" href="error.html" title="basic_socket_streambuf::error">basic_socket_streambuf::error</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122076336"></a>
+Get the last error associated with the stream
+ buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">error</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.error.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.error.return_value"></a></span><a class="link" href="error.html#boost_asio.reference.basic_socket_streambuf.error.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An <code class="computeroutput"><span class="identifier">error_code</span></code> corresponding
+ to the last error from the stream buffer.
+ </p>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at.html b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at.html
new file mode 100644
index 0000000000..39d8ca1b9b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::expires_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="error.html" title="basic_socket_streambuf::error">
+<link rel="next" href="expires_at/overload1.html" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.expires_at"></a><a class="link" href="expires_at.html" title="basic_socket_streambuf::expires_at">basic_socket_streambuf::expires_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122092304"></a>
+Get the stream buffer's expiry time as
+ an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="expires_at/overload1.html" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload1.html" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the stream buffer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="expires_at/overload2.html" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload2.html" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="error.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload1.html
new file mode 100644
index 0000000000..afe934b580
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload1.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::expires_at (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_socket_streambuf::expires_at">
+<link rel="prev" href="../expires_at.html" title="basic_socket_streambuf::expires_at">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">basic_socket_streambuf::expires_at
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the stream buffer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An absolute time value representing the stream buffer's expiry time.
+ </p>
+</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 &#169; 2003-2017 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="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload2.html
new file mode 100644
index 0000000000..8bc2b955bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_at/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::expires_at (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_socket_streambuf::expires_at">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::expires_at (1 of 2 overloads)">
+<link rel="next" href="../expires_from_now.html" title="basic_socket_streambuf::expires_from_now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">basic_socket_streambuf::expires_at
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the stream buffer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time associated with the stream. Stream
+ operations performed after this time (where the operations cannot be
+ completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.expires_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the stream.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now.html b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now.html
new file mode 100644
index 0000000000..2195f1feed
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::expires_from_now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="expires_at/overload2.html" title="basic_socket_streambuf::expires_at (2 of 2 overloads)">
+<link rel="next" href="expires_from_now/overload1.html" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now"></a><a class="link" href="expires_from_now.html" title="basic_socket_streambuf::expires_from_now">basic_socket_streambuf::expires_from_now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122137360"></a>
+Get the stream buffer's expiry time
+ relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="expires_from_now/overload1.html" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload1.html" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the stream buffer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="expires_from_now/overload2.html" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload2.html" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload1.html
new file mode 100644
index 0000000000..e4f7a687b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload1.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::expires_from_now (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_socket_streambuf::expires_from_now">
+<link rel="prev" href="../expires_from_now.html" title="basic_socket_streambuf::expires_from_now">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">basic_socket_streambuf::expires_from_now
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the stream buffer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A relative time value representing the stream buffer's expiry time.
+ </p>
+</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 &#169; 2003-2017 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="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload2.html
new file mode 100644
index 0000000000..5f695a10d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/expires_from_now/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::expires_from_now (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_socket_streambuf::expires_from_now">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::expires_from_now (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="basic_socket_streambuf::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">basic_socket_streambuf::expires_from_now
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the stream buffer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time associated with the stream. Stream
+ operations performed after this time (where the operations cannot be
+ completed using the internal buffers) will fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.expires_from_now.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation.html
new file mode 100644
index 0000000000..08d7efe899
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="expires_from_now/overload2.html" title="basic_socket_streambuf::expires_from_now (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_socket_streambuf::get_implementation">basic_socket_streambuf::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122182624"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload1.html
new file mode 100644
index 0000000000..54e633943c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_socket_streambuf::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_socket_streambuf::get_implementation">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">basic_socket_streambuf::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload2.html
new file mode 100644
index 0000000000..fc68f77185
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_socket_streambuf::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_socket_streambuf::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">basic_socket_streambuf::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_io_service.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_io_service.html
new file mode 100644
index 0000000000..f93a8a27b7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_socket_streambuf::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_socket_streambuf::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_socket_streambuf::get_io_service">basic_socket_streambuf::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122213040"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_socket_streambuf.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_option.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_option.html
new file mode 100644
index 0000000000..8237a8deb0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="get_io_service.html" title="basic_socket_streambuf::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_socket_streambuf::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_option"></a><a class="link" href="get_option.html" title="basic_socket_streambuf::get_option">basic_socket_streambuf::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122231328"></a>
+Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_socket_streambuf::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_socket_streambuf::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_socket_streambuf::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_socket_streambuf::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload1.html
new file mode 100644
index 0000000000..37f64d89f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_socket_streambuf::get_option">
+<link rel="prev" href="../get_option.html" title="basic_socket_streambuf::get_option">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::get_option (1 of 2 overloads)">basic_socket_streambuf::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload2.html
new file mode 100644
index 0000000000..ca1f0935f2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_option/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_socket_streambuf::get_option">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_socket_streambuf::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::get_option (2 of 2 overloads)">basic_socket_streambuf::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_service.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_service.html
new file mode 100644
index 0000000000..0fac08f156
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="get_option/overload2.html" title="basic_socket_streambuf::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_socket_streambuf::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_service"></a><a class="link" href="get_service.html" title="basic_socket_streambuf::get_service">basic_socket_streambuf::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122371840"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_socket_streambuf::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_socket_streambuf::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_socket_streambuf::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_socket_streambuf::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload1.html
new file mode 100644
index 0000000000..c29058129b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_socket_streambuf::get_service">
+<link rel="prev" href="../get_service.html" title="basic_socket_streambuf::get_service">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::get_service (1 of 2 overloads)">basic_socket_streambuf::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload2.html
new file mode 100644
index 0000000000..033b9719e9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_socket_streambuf::get_service">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_socket_streambuf::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::get_service (2 of 2 overloads)">basic_socket_streambuf::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/implementation.html b/doc/html/boost_asio/reference/basic_socket_streambuf/implementation.html
new file mode 100644
index 0000000000..47d171eec6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="get_service/overload2.html" title="basic_socket_streambuf::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_socket_streambuf::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.implementation"></a><a class="link" href="implementation.html" title="basic_socket_streambuf::implementation">basic_socket_streambuf::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122401968"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/implementation_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/implementation_type.html
new file mode 100644
index 0000000000..8498614f06
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="implementation.html" title="basic_socket_streambuf::implementation">
+<link rel="next" href="io_control.html" title="basic_socket_streambuf::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_socket_streambuf::implementation_type">basic_socket_streambuf::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122410688"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_socket_streambuf.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/io_control.html b/doc/html/boost_asio/reference/basic_socket_streambuf/io_control.html
new file mode 100644
index 0000000000..71bd2e55dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/io_control.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="implementation_type.html" title="basic_socket_streambuf::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_socket_streambuf::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.io_control"></a><a class="link" href="io_control.html" title="basic_socket_streambuf::io_control">basic_socket_streambuf::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122424320"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_socket_streambuf::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_socket_streambuf::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_socket_streambuf::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_socket_streambuf::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload1.html
new file mode 100644
index 0000000000..c62ee24f99
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_socket_streambuf::io_control">
+<link rel="prev" href="../io_control.html" title="basic_socket_streambuf::io_control">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::io_control (1 of 2 overloads)">basic_socket_streambuf::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload2.html
new file mode 100644
index 0000000000..0b90462171
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/io_control/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_socket_streambuf::io_control">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::io_control (1 of 2 overloads)">
+<link rel="next" href="../io_handler.html" title="basic_socket_streambuf::io_handler">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_handler.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::io_control (2 of 2 overloads)">basic_socket_streambuf::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_handler.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/io_handler.html b/doc/html/boost_asio/reference/basic_socket_streambuf/io_handler.html
new file mode 100644
index 0000000000..c910c3d038
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/io_handler.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::io_handler</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="io_control/overload2.html" title="basic_socket_streambuf::io_control (2 of 2 overloads)">
+<link rel="next" href="is_open.html" title="basic_socket_streambuf::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.io_handler"></a><a class="link" href="io_handler.html" title="basic_socket_streambuf::io_handler">basic_socket_streambuf::io_handler</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122561872"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">struct</span> <span class="identifier">io_handler</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.io_handler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.io_handler.requirements"></a></span><a class="link" href="io_handler.html#boost_asio.reference.basic_socket_streambuf.io_handler.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/is_open.html b/doc/html/boost_asio/reference/basic_socket_streambuf/is_open.html
new file mode 100644
index 0000000000..ac5aaa65a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="io_handler.html" title="basic_socket_streambuf::io_handler">
+<link rel="next" href="keep_alive.html" title="basic_socket_streambuf::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_handler.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.is_open"></a><a class="link" href="is_open.html" title="basic_socket_streambuf::is_open">basic_socket_streambuf::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122575056"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_handler.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/keep_alive.html b/doc/html/boost_asio/reference/basic_socket_streambuf/keep_alive.html
new file mode 100644
index 0000000000..d2f62dc452
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="is_open.html" title="basic_socket_streambuf::is_open">
+<link rel="next" href="linger.html" title="basic_socket_streambuf::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_socket_streambuf::keep_alive">basic_socket_streambuf::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122583040"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_socket_streambuf.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_socket_streambuf.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/linger.html b/doc/html/boost_asio/reference/basic_socket_streambuf/linger.html
new file mode 100644
index 0000000000..79da7fb165
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="keep_alive.html" title="basic_socket_streambuf::keep_alive">
+<link rel="next" href="local_endpoint.html" title="basic_socket_streambuf::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.linger"></a><a class="link" href="linger.html" title="basic_socket_streambuf::linger">basic_socket_streambuf::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122640128"></a>
+Socket option to specify whether the socket
+ lingers on close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_socket_streambuf.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_socket_streambuf.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint.html b/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint.html
new file mode 100644
index 0000000000..d045cce619
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="linger.html" title="basic_socket_streambuf::linger">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_socket_streambuf::local_endpoint">basic_socket_streambuf::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122702672"></a>
+Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload1.html
new file mode 100644
index 0000000000..c0136189c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_socket_streambuf::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_socket_streambuf::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">basic_socket_streambuf::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload2.html
new file mode 100644
index 0000000000..fd2eadb614
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/local_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_socket_streambuf::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="basic_socket_streambuf::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">basic_socket_streambuf::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket. Returns a
+ default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer.html b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer.html
new file mode 100644
index 0000000000..9eed9a1876
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_socket_streambuf::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_socket_streambuf::lowest_layer">basic_socket_streambuf::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp122808128"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload1.html
new file mode 100644
index 0000000000..60331ca25b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_socket_streambuf::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_socket_streambuf::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">basic_socket_streambuf::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload2.html
new file mode 100644
index 0000000000..b54623d2ec
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_socket_streambuf::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_socket_streambuf::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">basic_socket_streambuf::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer_type.html
new file mode 100644
index 0000000000..292ef484db
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/lowest_layer_type.html
@@ -0,0 +1,913 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_socket_streambuf::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="max_connections.html" title="basic_socket_streambuf::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_socket_streambuf::lowest_layer_type">basic_socket_streambuf::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp122851040"></a>
+A <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_socket_streambuf.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/max_connections.html b/doc/html/boost_asio/reference/basic_socket_streambuf/max_connections.html
new file mode 100644
index 0000000000..fe35d5f202
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="lowest_layer_type.html" title="basic_socket_streambuf::lowest_layer_type">
+<link rel="next" href="message_do_not_route.html" title="basic_socket_streambuf::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.max_connections"></a><a class="link" href="max_connections.html" title="basic_socket_streambuf::max_connections">basic_socket_streambuf::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123101392"></a>
+The maximum length of the queue of
+ pending incoming connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/message_do_not_route.html b/doc/html/boost_asio/reference/basic_socket_streambuf/message_do_not_route.html
new file mode 100644
index 0000000000..e53cb2b1fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="max_connections.html" title="basic_socket_streambuf::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_socket_streambuf::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_socket_streambuf::message_do_not_route">basic_socket_streambuf::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123111024"></a>
+Specify that the data should
+ not be subject to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/message_end_of_record.html b/doc/html/boost_asio/reference/basic_socket_streambuf/message_end_of_record.html
new file mode 100644
index 0000000000..076aaf42fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="message_do_not_route.html" title="basic_socket_streambuf::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_socket_streambuf::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_socket_streambuf::message_end_of_record">basic_socket_streambuf::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123120656"></a>
+Specifies that the data marks
+ the end of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/message_flags.html b/doc/html/boost_asio/reference/basic_socket_streambuf/message_flags.html
new file mode 100644
index 0000000000..8810520894
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="message_end_of_record.html" title="basic_socket_streambuf::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_socket_streambuf::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.message_flags"></a><a class="link" href="message_flags.html" title="basic_socket_streambuf::message_flags">basic_socket_streambuf::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123130256"></a>
+Bitmask type for flags that can be passed
+ to send and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_socket_streambuf.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/message_out_of_band.html b/doc/html/boost_asio/reference/basic_socket_streambuf/message_out_of_band.html
new file mode 100644
index 0000000000..1f1e5fdd7d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="message_flags.html" title="basic_socket_streambuf::message_flags">
+<link rel="next" href="message_peek.html" title="basic_socket_streambuf::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_socket_streambuf::message_out_of_band">basic_socket_streambuf::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123143568"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/message_peek.html b/doc/html/boost_asio/reference/basic_socket_streambuf/message_peek.html
new file mode 100644
index 0000000000..f58de99fbc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="message_out_of_band.html" title="basic_socket_streambuf::message_out_of_band">
+<link rel="next" href="native.html" title="basic_socket_streambuf::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.message_peek"></a><a class="link" href="message_peek.html" title="basic_socket_streambuf::message_peek">basic_socket_streambuf::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123153136"></a>
+Peek at incoming data without removing
+ it from the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native.html
new file mode 100644
index 0000000000..1baaed744e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="message_peek.html" title="basic_socket_streambuf::message_peek">
+<link rel="next" href="native_handle.html" title="basic_socket_streambuf::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native"></a><a class="link" href="native.html" title="basic_socket_streambuf::native">basic_socket_streambuf::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123162752"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle.html
new file mode 100644
index 0000000000..e62ebdc414
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="native.html" title="basic_socket_streambuf::native">
+<link rel="next" href="native_handle_type.html" title="basic_socket_streambuf::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_handle"></a><a class="link" href="native_handle.html" title="basic_socket_streambuf::native_handle">basic_socket_streambuf::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123172016"></a>
+Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle_type.html
new file mode 100644
index 0000000000..477c7e0998
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_handle_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="native_handle.html" title="basic_socket_streambuf::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_socket_streambuf::native_handle_type">basic_socket_streambuf::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123179488"></a>
+The native representation of a
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_socket_streambuf.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking.html
new file mode 100644
index 0000000000..c962cc06ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="native_handle_type.html" title="basic_socket_streambuf::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking">basic_socket_streambuf::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp123193008"></a>
+Gets the non-blocking mode of
+ the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..5c5e598433
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload1.html
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">basic_socket_streambuf::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native socket. This mode has no effect on the behaviour of the socket
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the socket object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload1.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..17de1640eb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload2.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">basic_socket_streambuf::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload2.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..c6b4e3ed60
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_non_blocking/overload3.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_socket_streambuf::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_socket_streambuf::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_socket_streambuf::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">basic_socket_streambuf::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_streambuf.native_non_blocking.overload3.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/native_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/native_type.html
new file mode 100644
index 0000000000..4ee6234010
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/native_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_socket_streambuf::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_socket_streambuf::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.native_type"></a><a class="link" href="native_type.html" title="basic_socket_streambuf::native_type">basic_socket_streambuf::native_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123803248"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_socket_streambuf.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking.html b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking.html
new file mode 100644
index 0000000000..9efa7c1258
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="native_type.html" title="basic_socket_streambuf::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_socket_streambuf::non_blocking">basic_socket_streambuf::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp123816896"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload1.html
new file mode 100644
index 0000000000..36ca857f6e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket_streambuf::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_socket_streambuf::non_blocking">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">basic_socket_streambuf::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload2.html
new file mode 100644
index 0000000000..6961684d20
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket_streambuf::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">basic_socket_streambuf::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload3.html
new file mode 100644
index 0000000000..c01d495578
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking/overload3.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_socket_streambuf::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_socket_streambuf::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_socket_streambuf::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">basic_socket_streambuf::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_socket_streambuf.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking_io.html b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking_io.html
new file mode 100644
index 0000000000..3d49f05821
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_socket_streambuf::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_socket_streambuf::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_socket_streambuf::non_blocking_io">basic_socket_streambuf::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp123941120"></a>
+(Deprecated: Use non_blocking().)
+ IO control command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_socket_streambuf.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/open.html b/doc/html/boost_asio/reference/basic_socket_streambuf/open.html
new file mode 100644
index 0000000000..22745e8f13
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="non_blocking_io.html" title="basic_socket_streambuf::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_socket_streambuf::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.open"></a><a class="link" href="open.html" title="basic_socket_streambuf::open">basic_socket_streambuf::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp123975200"></a>
+Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_socket_streambuf::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_socket_streambuf::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_socket_streambuf::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_socket_streambuf::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload1.html
new file mode 100644
index 0000000000..b3118474f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_socket_streambuf::open">
+<link rel="prev" href="../open.html" title="basic_socket_streambuf::open">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::open (1 of 2 overloads)">basic_socket_streambuf::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload2.html
new file mode 100644
index 0000000000..9358f401be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/open/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_socket_streambuf::open">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::open (1 of 2 overloads)">
+<link rel="next" href="../overflow.html" title="basic_socket_streambuf::overflow">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../overflow.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::open (2 of 2 overloads)">basic_socket_streambuf::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../overflow.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/overflow.html b/doc/html/boost_asio/reference/basic_socket_streambuf/overflow.html
new file mode 100644
index 0000000000..d18752348a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/overflow.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::overflow</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="open/overload2.html" title="basic_socket_streambuf::open (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="basic_socket_streambuf::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.overflow"></a><a class="link" href="overflow.html" title="basic_socket_streambuf::overflow">basic_socket_streambuf::overflow</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124092416"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">overflow</span><span class="special">(</span>
+ <span class="identifier">int_type</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/protocol_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/protocol_type.html
new file mode 100644
index 0000000000..aaa1cf47e6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/protocol_type.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="overflow.html" title="basic_socket_streambuf::overflow">
+<link rel="next" href="puberror.html" title="basic_socket_streambuf::puberror">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overflow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="puberror.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_socket_streambuf::protocol_type">basic_socket_streambuf::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124100992"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_socket_streambuf.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="overflow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="puberror.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/puberror.html b/doc/html/boost_asio/reference/basic_socket_streambuf/puberror.html
new file mode 100644
index 0000000000..a99b6a2f8c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/puberror.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::puberror</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="protocol_type.html" title="basic_socket_streambuf::protocol_type">
+<link rel="next" href="receive_buffer_size.html" title="basic_socket_streambuf::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.puberror"></a><a class="link" href="puberror.html" title="basic_socket_streambuf::puberror">basic_socket_streambuf::puberror</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124113152"></a>
+Get the last error associated with the stream
+ buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">puberror</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.puberror.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.puberror.return_value"></a></span><a class="link" href="puberror.html#boost_asio.reference.basic_socket_streambuf.puberror.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An <code class="computeroutput"><span class="identifier">error_code</span></code> corresponding
+ to the last error from the stream buffer.
+ </p>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_socket_streambuf/receive_buffer_size.html
new file mode 100644
index 0000000000..af663c26c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="puberror.html" title="basic_socket_streambuf::puberror">
+<link rel="next" href="receive_low_watermark.html" title="basic_socket_streambuf::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="puberror.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_socket_streambuf::receive_buffer_size">basic_socket_streambuf::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124129424"></a>
+Socket option for the receive
+ buffer size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_socket_streambuf.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="puberror.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_socket_streambuf/receive_low_watermark.html
new file mode 100644
index 0000000000..b42bbefbc5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/receive_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="receive_buffer_size.html" title="basic_socket_streambuf::receive_buffer_size">
+<link rel="next" href="remote_endpoint.html" title="basic_socket_streambuf::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_socket_streambuf::receive_low_watermark">basic_socket_streambuf::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124186816"></a>
+Socket option for the receive
+ low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_socket_streambuf.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint.html b/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint.html
new file mode 100644
index 0000000000..84a0a9ba48
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="receive_low_watermark.html" title="basic_socket_streambuf::receive_low_watermark">
+<link rel="next" href="remote_endpoint/overload1.html" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="basic_socket_streambuf::remote_endpoint">basic_socket_streambuf::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124243360"></a>
+Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload1.html" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload1.html" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload2.html" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload2.html" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload1.html
new file mode 100644
index 0000000000..d2a8f4d39f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::remote_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_socket_streambuf::remote_endpoint">
+<link rel="prev" href="../remote_endpoint.html" title="basic_socket_streambuf::remote_endpoint">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">basic_socket_streambuf::remote_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload2.html
new file mode 100644
index 0000000000..339d63a3f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/remote_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::remote_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_socket_streambuf::remote_endpoint">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::remote_endpoint (1 of 2 overloads)">
+<link rel="next" href="../reuse_address.html" title="basic_socket_streambuf::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">basic_socket_streambuf::remote_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket. Returns
+ a default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.remote_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/reuse_address.html b/doc/html/boost_asio/reference/basic_socket_streambuf/reuse_address.html
new file mode 100644
index 0000000000..572881323a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="remote_endpoint/overload2.html" title="basic_socket_streambuf::remote_endpoint (2 of 2 overloads)">
+<link rel="next" href="send_buffer_size.html" title="basic_socket_streambuf::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_socket_streambuf::reuse_address">basic_socket_streambuf::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124349936"></a>
+Socket option to allow the socket to
+ be bound to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_socket_streambuf.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_socket_streambuf.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/send_buffer_size.html b/doc/html/boost_asio/reference/basic_socket_streambuf/send_buffer_size.html
new file mode 100644
index 0000000000..c57d2abd41
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="reuse_address.html" title="basic_socket_streambuf::reuse_address">
+<link rel="next" href="send_low_watermark.html" title="basic_socket_streambuf::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_socket_streambuf::send_buffer_size">basic_socket_streambuf::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124407072"></a>
+Socket option for the send buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_socket_streambuf.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/send_low_watermark.html b/doc/html/boost_asio/reference/basic_socket_streambuf/send_low_watermark.html
new file mode 100644
index 0000000000..f8a8e30da7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/send_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="send_buffer_size.html" title="basic_socket_streambuf::send_buffer_size">
+<link rel="next" href="service.html" title="basic_socket_streambuf::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_socket_streambuf::send_low_watermark">basic_socket_streambuf::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124464528"></a>
+Socket option for the send low
+ watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_socket_streambuf.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/service.html b/doc/html/boost_asio/reference/basic_socket_streambuf/service.html
new file mode 100644
index 0000000000..94074d607a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="send_low_watermark.html" title="basic_socket_streambuf::send_low_watermark">
+<link rel="next" href="service_type.html" title="basic_socket_streambuf::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.service"></a><a class="link" href="service.html" title="basic_socket_streambuf::service">basic_socket_streambuf::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124521568"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_socket_streambuf.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/service_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/service_type.html
new file mode 100644
index 0000000000..b89e795d11
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="service.html" title="basic_socket_streambuf::service">
+<link rel="next" href="set_option.html" title="basic_socket_streambuf::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.service_type"></a><a class="link" href="service_type.html" title="basic_socket_streambuf::service_type">basic_socket_streambuf::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124534336"></a>
+The type of the service that will be
+ used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_socket_streambuf.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/set_option.html b/doc/html/boost_asio/reference/basic_socket_streambuf/set_option.html
new file mode 100644
index 0000000000..c5ad19f750
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/set_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="service_type.html" title="basic_socket_streambuf::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_socket_streambuf::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.set_option"></a><a class="link" href="set_option.html" title="basic_socket_streambuf::set_option">basic_socket_streambuf::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124546896"></a>
+Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_socket_streambuf::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_socket_streambuf::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_socket_streambuf::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_socket_streambuf::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload1.html
new file mode 100644
index 0000000000..19e6665f77
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload1.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_socket_streambuf::set_option">
+<link rel="prev" href="../set_option.html" title="basic_socket_streambuf::set_option">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::set_option (1 of 2 overloads)">basic_socket_streambuf::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload2.html
new file mode 100644
index 0000000000..f7bb1efb68
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/set_option/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_socket_streambuf::set_option">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::set_option (1 of 2 overloads)">
+<link rel="next" href="../setbuf.html" title="basic_socket_streambuf::setbuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../setbuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::set_option (2 of 2 overloads)">basic_socket_streambuf::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../setbuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/setbuf.html b/doc/html/boost_asio/reference/basic_socket_streambuf/setbuf.html
new file mode 100644
index 0000000000..46e0563fcb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/setbuf.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::setbuf</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="set_option/overload2.html" title="basic_socket_streambuf::set_option (2 of 2 overloads)">
+<link rel="next" href="shutdown.html" title="basic_socket_streambuf::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.setbuf"></a><a class="link" href="setbuf.html" title="basic_socket_streambuf::setbuf">basic_socket_streambuf::setbuf</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124676480"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="special">*</span> <span class="identifier">setbuf</span><span class="special">(</span>
+ <span class="identifier">char_type</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">streamsize</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown.html b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown.html
new file mode 100644
index 0000000000..ed76269684
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="setbuf.html" title="basic_socket_streambuf::setbuf">
+<link rel="next" href="shutdown/overload1.html" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="setbuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown"></a><a class="link" href="shutdown.html" title="basic_socket_streambuf::shutdown">basic_socket_streambuf::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124689696"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="setbuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload1.html b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload1.html
new file mode 100644
index 0000000000..780afd15b7
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_socket_streambuf::shutdown">
+<link rel="prev" href="../shutdown.html" title="basic_socket_streambuf::shutdown">
+<link rel="next" href="overload2.html" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1"></a><a class="link" href="overload1.html" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">basic_socket_streambuf::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload1.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload2.html b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload2.html
new file mode 100644
index 0000000000..6413cded1a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_socket_streambuf::shutdown">
+<link rel="prev" href="overload1.html" title="basic_socket_streambuf::shutdown (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_socket_streambuf::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2"></a><a class="link" href="overload2.html" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">basic_socket_streambuf::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_socket_streambuf.shutdown.overload2.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown_type.html
new file mode 100644
index 0000000000..39ef60e28b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="shutdown/overload2.html" title="basic_socket_streambuf::shutdown (2 of 2 overloads)">
+<link rel="next" href="sync.html" title="basic_socket_streambuf::sync">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sync.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_socket_streambuf::shutdown_type">basic_socket_streambuf::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp124804352"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp124808048"></a>
+ <a class="indexterm" name="idp124809152"></a>
+ <a class="indexterm" name="idp124810256"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_socket_streambuf.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sync.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/sync.html b/doc/html/boost_asio/reference/basic_socket_streambuf/sync.html
new file mode 100644
index 0000000000..30f280c0b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/sync.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::sync</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="shutdown_type.html" title="basic_socket_streambuf::shutdown_type">
+<link rel="next" href="time_type.html" title="basic_socket_streambuf::time_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.sync"></a><a class="link" href="sync.html" title="basic_socket_streambuf::sync">basic_socket_streambuf::sync</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124822096"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">sync</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/time_type.html b/doc/html/boost_asio/reference/basic_socket_streambuf/time_type.html
new file mode 100644
index 0000000000..7d6a4aaab2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/time_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::time_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="sync.html" title="basic_socket_streambuf::sync">
+<link rel="next" href="timer_handler.html" title="basic_socket_streambuf::timer_handler">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sync.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="timer_handler.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.time_type"></a><a class="link" href="time_type.html" title="basic_socket_streambuf::time_type">basic_socket_streambuf::time_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124828112"></a>
+The time type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.time_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.time_type.requirements"></a></span><a class="link" href="time_type.html#boost_asio.reference.basic_socket_streambuf.time_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="sync.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="timer_handler.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/timer_handler.html b/doc/html/boost_asio/reference/basic_socket_streambuf/timer_handler.html
new file mode 100644
index 0000000000..db2bbf1f0b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/timer_handler.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::timer_handler</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="time_type.html" title="basic_socket_streambuf::time_type">
+<link rel="next" href="underflow.html" title="basic_socket_streambuf::underflow">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="underflow.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.timer_handler"></a><a class="link" href="timer_handler.html" title="basic_socket_streambuf::timer_handler">basic_socket_streambuf::timer_handler</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124841664"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">struct</span> <span class="identifier">timer_handler</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_socket_streambuf.timer_handler.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_socket_streambuf.timer_handler.requirements"></a></span><a class="link" href="timer_handler.html#boost_asio.reference.basic_socket_streambuf.timer_handler.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="underflow.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_socket_streambuf/underflow.html b/doc/html/boost_asio/reference/basic_socket_streambuf/underflow.html
new file mode 100644
index 0000000000..e4f4658e61
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_socket_streambuf/underflow.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_socket_streambuf::underflow</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_socket_streambuf.html" title="basic_socket_streambuf">
+<link rel="prev" href="timer_handler.html" title="basic_socket_streambuf::timer_handler">
+<link rel="next" href="_basic_socket_streambuf.html" title="basic_socket_streambuf::~basic_socket_streambuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="timer_handler.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_socket_streambuf.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_socket_streambuf.underflow"></a><a class="link" href="underflow.html" title="basic_socket_streambuf::underflow">basic_socket_streambuf::underflow</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp124854000"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">underflow</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="timer_handler.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_socket_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_socket_streambuf.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket.html b/doc/html/boost_asio/reference/basic_stream_socket.html
new file mode 100644
index 0000000000..6ae478e5cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket.html
@@ -0,0 +1,995 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_socket_streambuf/_basic_socket_streambuf.html" title="basic_socket_streambuf::~basic_socket_streambuf">
+<link rel="next" href="basic_stream_socket/assign.html" title="basic_stream_socket::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_socket_streambuf/_basic_socket_streambuf.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_stream_socket"></a><a class="link" href="basic_stream_socket.html" title="basic_stream_socket">basic_stream_socket</a>
+</h3></div></div></div>
+<p>
+ Provides stream-oriented socket functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="StreamSocketService.html" title="Stream socket service requirements">StreamSocketService</a> <span class="special">=</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stream_socket</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.types"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/broadcast.html" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/bytes_readable.html" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/debug.html" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/do_not_route.html" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/endpoint_type.html" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/implementation_type.html" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/keep_alive.html" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/linger.html" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/message_flags.html" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/native_handle_type.html" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/native_type.html" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/non_blocking_io.html" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/protocol_type.html" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/reuse_address.html" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/send_buffer_size.html" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/send_low_watermark.html" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/service_type.html" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/shutdown_type.html" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.member_functions"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/assign.html" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/async_connect.html" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/async_send.html" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/at_mark.html" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/available.html" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_stream_socket.
+ </p>
+ <p>
+ Construct a basic_stream_socket, opening it and binding it to the
+ given local endpoint.
+ </p>
+ <p>
+ Construct a basic_stream_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/bind.html" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/cancel.html" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/close.html" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/connect.html" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/get_io_service.html" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/get_option.html" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/io_control.html" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/is_open.html" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/local_endpoint.html" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/lowest_layer.html" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/native.html" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/native_handle.html" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/native_non_blocking.html" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/non_blocking.html" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/open.html" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/operator_eq_.html" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_stream_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/read_some.html" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/receive.html" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on the socket.
+ </p>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/remote_endpoint.html" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/send.html" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/set_option.html" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/shutdown.html" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/write_some.html" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.protected_member_functions"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/get_implementation.html" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/get_service.html" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.data_members"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/max_connections.html" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/message_do_not_route.html" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/message_end_of_record.html" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/message_out_of_band.html" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/message_peek.html" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.protected_data_members"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/implementation.html" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_stream_socket/service.html" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
+ provides asynchronous and blocking stream-oriented socket functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.thread_safety"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.thread_safety">Thread Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_stream_socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.requirements"></a></span><a class="link" href="basic_stream_socket.html#boost_asio.reference.basic_stream_socket.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_socket_streambuf/_basic_socket_streambuf.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/assign.html b/doc/html/boost_asio/reference/basic_stream_socket/assign.html
new file mode 100644
index 0000000000..0bfa02293d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/assign.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="next" href="assign/overload1.html" title="basic_stream_socket::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.assign"></a><a class="link" href="assign.html" title="basic_stream_socket::assign">basic_stream_socket::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125153024"></a>
+Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="basic_stream_socket::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="basic_stream_socket::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="basic_stream_socket::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="basic_stream_socket::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_stream_socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/assign/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/assign/overload1.html
new file mode 100644
index 0000000000..6214aa56e0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/assign/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_stream_socket::assign">
+<link rel="prev" href="../assign.html" title="basic_stream_socket::assign">
+<link rel="next" href="overload2.html" title="basic_stream_socket::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.assign.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::assign (1 of 2 overloads)">basic_stream_socket::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/assign/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/assign/overload2.html
new file mode 100644
index 0000000000..6c515ebf1b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/assign/overload2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="basic_stream_socket::assign">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::assign (1 of 2 overloads)">
+<link rel="next" href="../async_connect.html" title="basic_stream_socket::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.assign.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::assign (2 of 2 overloads)">basic_stream_socket::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Assign an existing native socket to the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_connect.html b/doc/html/boost_asio/reference/basic_stream_socket/async_connect.html
new file mode 100644
index 0000000000..8b1607cec4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_connect.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="assign/overload2.html" title="basic_stream_socket::assign (2 of 2 overloads)">
+<link rel="next" href="async_read_some.html" title="basic_stream_socket::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_connect"></a><a class="link" href="async_connect.html" title="basic_stream_socket::async_connect">basic_stream_socket::async_connect</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp125216512"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously connect a socket to the specified
+ remote endpoint. The function call always returns immediately.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the connect
+ fails, and the socket was automatically opened, the socket is not returned
+ to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_connect.parameters"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_stream_socket.async_connect.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected. Copies
+ will be made of the endpoint object as required.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the connection operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_connect.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_connect.example"></a></span><a class="link" href="async_connect.html#boost_asio.reference.basic_stream_socket.async_connect.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect_handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Connect succeeded.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">connect_handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_read_some.html b/doc/html/boost_asio/reference/basic_stream_socket/async_read_some.html
new file mode 100644
index 0000000000..587a7f6731
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_read_some.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="async_connect.html" title="basic_stream_socket::async_connect">
+<link rel="next" href="async_receive.html" title="basic_stream_socket::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_read_some"></a><a class="link" href="async_read_some.html" title="basic_stream_socket::async_read_some">basic_stream_socket::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125296768"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data from the stream socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_read_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_read_some.parameters"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.basic_stream_socket.async_read_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_read_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_read_some.remarks"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.basic_stream_socket.async_read_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The read operation may not read all of the requested number of bytes. Consider
+ using the <a class="link" href="../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_read_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_read_some.example"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.basic_stream_socket.async_read_some.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_receive.html b/doc/html/boost_asio/reference/basic_stream_socket/async_receive.html
new file mode 100644
index 0000000000..242242ab06
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_receive.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="async_read_some.html" title="basic_stream_socket::async_read_some">
+<link rel="next" href="async_receive/overload1.html" title="basic_stream_socket::async_receive (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_receive"></a><a class="link" href="async_receive.html" title="basic_stream_socket::async_receive">basic_stream_socket::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125362160"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload1.html" title="basic_stream_socket::async_receive (1 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload1.html" title="basic_stream_socket::async_receive (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_receive/overload2.html" title="basic_stream_socket::async_receive (2 of 2 overloads)">async_receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_receive/overload2.html" title="basic_stream_socket::async_receive (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload1.html
new file mode 100644
index 0000000000..f8741e64d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload1.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_receive (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_stream_socket::async_receive">
+<link rel="prev" href="../async_receive.html" title="basic_stream_socket::async_receive">
+<link rel="next" href="overload2.html" title="basic_stream_socket::async_receive (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::async_receive (1 of 2 overloads)">basic_stream_socket::async_receive
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the stream
+ socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.async_receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.async_receive.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is received before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.async_receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload2.html
new file mode 100644
index 0000000000..a8db725ce5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_receive/overload2.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_receive (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_receive.html" title="basic_stream_socket::async_receive">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::async_receive (1 of 2 overloads)">
+<link rel="next" href="../async_send.html" title="basic_stream_socket::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::async_receive (2 of 2 overloads)">basic_stream_socket::async_receive
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously receive data from the stream
+ socket. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.async_receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received. Although
+ the buffers object may be copied as necessary, ownership of the
+ underlying memory blocks is retained by the caller, which must
+ guarantee that they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the receive operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes received.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.async_receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is received before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_receive.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.async_receive.overload2.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_send.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_send.html b/doc/html/boost_asio/reference/basic_stream_socket/async_send.html
new file mode 100644
index 0000000000..7e4cce3451
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_send.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="async_receive/overload2.html" title="basic_stream_socket::async_receive (2 of 2 overloads)">
+<link rel="next" href="async_send/overload1.html" title="basic_stream_socket::async_send (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_send"></a><a class="link" href="async_send.html" title="basic_stream_socket::async_send">basic_stream_socket::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125532752"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send/overload1.html" title="basic_stream_socket::async_send (1 of 2 overloads)">async_send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send/overload1.html" title="basic_stream_socket::async_send (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_send/overload2.html" title="basic_stream_socket::async_send (2 of 2 overloads)">async_send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_send/overload2.html" title="basic_stream_socket::async_send (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_send/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/async_send/overload1.html
new file mode 100644
index 0000000000..9a26347a8f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_send/overload1.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_send (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send.html" title="basic_stream_socket::async_send">
+<link rel="prev" href="../async_send.html" title="basic_stream_socket::async_send">
+<link rel="next" href="overload2.html" title="basic_stream_socket::async_send (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::async_send (1 of 2 overloads)">basic_stream_socket::async_send
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send data on the stream socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.async_send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.async_send.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you
+ need to ensure that all data is written before the asynchronous operation
+ completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.async_send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../async_send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_send/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/async_send/overload2.html
new file mode 100644
index 0000000000..154691b59e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_send/overload2.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_send (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_send.html" title="basic_stream_socket::async_send">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::async_send (1 of 2 overloads)">
+<link rel="next" href="../async_write_some.html" title="basic_stream_socket::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::async_send (2 of 2 overloads)">basic_stream_socket::async_send
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously send data on the stream socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.async_send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the send operation completes. Copies
+ will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes sent.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.async_send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you
+ need to ensure that all data is written before the asynchronous operation
+ completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_send.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_send.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.async_send.overload2.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/async_write_some.html b/doc/html/boost_asio/reference/basic_stream_socket/async_write_some.html
new file mode 100644
index 0000000000..cca5e84a42
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/async_write_some.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="async_send/overload2.html" title="basic_stream_socket::async_send (2 of 2 overloads)">
+<link rel="next" href="at_mark.html" title="basic_stream_socket::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.async_write_some"></a><a class="link" href="async_write_some.html" title="basic_stream_socket::async_write_some">basic_stream_socket::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125703040"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write data to the stream socket.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_write_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_write_some.parameters"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.basic_stream_socket.async_write_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the socket. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_write_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_write_some.remarks"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.basic_stream_socket.async_write_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The write operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
+ to ensure that all data is written before the asynchronous operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.async_write_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.async_write_some.example"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.basic_stream_socket.async_write_some.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_send/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/at_mark.html b/doc/html/boost_asio/reference/basic_stream_socket/at_mark.html
new file mode 100644
index 0000000000..589cb0760e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/at_mark.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="async_write_some.html" title="basic_stream_socket::async_write_some">
+<link rel="next" href="at_mark/overload1.html" title="basic_stream_socket::at_mark (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.at_mark"></a><a class="link" href="at_mark.html" title="basic_stream_socket::at_mark">basic_stream_socket::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125768416"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="at_mark/overload1.html" title="basic_stream_socket::at_mark (1 of 2 overloads)">at_mark</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload1.html" title="basic_stream_socket::at_mark (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">bool</span> <a class="link" href="at_mark/overload2.html" title="basic_stream_socket::at_mark (2 of 2 overloads)">at_mark</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="at_mark/overload2.html" title="basic_stream_socket::at_mark (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload1.html
new file mode 100644
index 0000000000..a861be43f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::at_mark (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_stream_socket::at_mark">
+<link rel="prev" href="../at_mark.html" title="basic_stream_socket::at_mark">
+<link rel="next" href="overload2.html" title="basic_stream_socket::at_mark (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.at_mark.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::at_mark (1 of 2 overloads)">basic_stream_socket::at_mark
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.at_mark.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.at_mark.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../at_mark.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload2.html
new file mode 100644
index 0000000000..b8aecbc4e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/at_mark/overload2.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::at_mark (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../at_mark.html" title="basic_stream_socket::at_mark">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::at_mark (1 of 2 overloads)">
+<link rel="next" href="../available.html" title="basic_stream_socket::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.at_mark.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::at_mark (2 of 2 overloads)">basic_stream_socket::at_mark
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to check whether the socket input is currently
+ positioned at the out-of-band data mark.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.at_mark.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.at_mark.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.at_mark.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A bool indicating whether the socket is at the out-of-band data mark.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../at_mark.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../available.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/available.html b/doc/html/boost_asio/reference/basic_stream_socket/available.html
new file mode 100644
index 0000000000..761e73d630
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/available.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="at_mark/overload2.html" title="basic_stream_socket::at_mark (2 of 2 overloads)">
+<link rel="next" href="available/overload1.html" title="basic_stream_socket::available (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.available"></a><a class="link" href="available.html" title="basic_stream_socket::available">basic_stream_socket::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125823728"></a>
+Determine the number of bytes available for
+ reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload1.html" title="basic_stream_socket::available (1 of 2 overloads)">available</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload1.html" title="basic_stream_socket::available (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="available/overload2.html" title="basic_stream_socket::available (2 of 2 overloads)">available</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="available/overload2.html" title="basic_stream_socket::available (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/available/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/available/overload1.html
new file mode 100644
index 0000000000..10a01fa607
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/available/overload1.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::available (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_stream_socket::available">
+<link rel="prev" href="../available.html" title="basic_stream_socket::available">
+<link rel="next" href="overload2.html" title="basic_stream_socket::available (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.available.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::available (1 of 2 overloads)">basic_stream_socket::available
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.available.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.available.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.available.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.available.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../available.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/available/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/available/overload2.html
new file mode 100644
index 0000000000..1835679a95
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/available/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::available (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../available.html" title="basic_stream_socket::available">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::available (1 of 2 overloads)">
+<link rel="next" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.available.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::available (2 of 2 overloads)">basic_stream_socket::available
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Determine the number of bytes available for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine the number of bytes that may be read
+ without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.available.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.available.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.available.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.available.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.available.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes that may be read without blocking, or 0 if an error
+ occurs.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../available.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket.html
new file mode 100644
index 0000000000..3624e169f2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="available/overload2.html" title="basic_stream_socket::available (2 of 2 overloads)">
+<link rel="next" href="basic_stream_socket/overload1.html" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket"></a><a class="link" href="basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">basic_stream_socket::basic_stream_socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp125883632"></a>
+Construct a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_stream_socket/overload1.html" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_socket/overload1.html" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct and open a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_socket/overload2.html" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_socket/overload2.html" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>, opening it
+ and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_socket/overload3.html" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_socket/overload3.html" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> on an existing
+ native socket.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_socket/overload4.html" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_socket/overload4.html" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_socket/overload5.html" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
+ <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_socket/overload5.html" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../StreamSocketService.html" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
+<a class="link" href="basic_stream_socket/overload6.html" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">basic_stream_socket</a><span class="special">(</span>
+ <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_socket/overload6.html" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="available/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_socket/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload1.html
new file mode 100644
index 0000000000..779f7a32c9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload1.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket (1 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="prev" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="next" href="overload2.html" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">basic_stream_socket::basic_stream_socket
+ (1 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream socket without opening it. The socket
+ needs to be opened and then connected or accepted before data can be
+ sent or received on it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload2.html
new file mode 100644
index 0000000000..dc0ccbed3f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload2.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket (2 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::basic_stream_socket (1 of 6 overloads)">
+<link rel="next" href="overload3.html" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">basic_stream_socket::basic_stream_socket
+ (2 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct and open a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates and opens a stream socket. The socket needs
+ to be connected or accepted before data can be sent or received on it.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload3.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload3.html
new file mode 100644
index 0000000000..d5513346c9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload3.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket (3 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="prev" href="overload2.html" title="basic_stream_socket::basic_stream_socket (2 of 6 overloads)">
+<link rel="next" href="overload4.html" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3"></a><a class="link" href="overload3.html" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">basic_stream_socket::basic_stream_socket
+ (3 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a>, opening
+ it and binding it to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream socket and automatically opens it bound
+ to the specified endpoint on the local machine. The protocol used is
+ the protocol associated with the given endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the stream socket will
+ be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload4.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload4.html
new file mode 100644
index 0000000000..69b21af5c4
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload4.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket (4 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="prev" href="overload3.html" title="basic_stream_socket::basic_stream_socket (3 of 6 overloads)">
+<link rel="next" href="overload5.html" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4"></a><a class="link" href="overload4.html" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">basic_stream_socket::basic_stream_socket
+ (4 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> on an existing
+ native socket.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream socket object to hold an existing native
+ socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream socket will use to dispatch handlers for any asynchronous
+ operations performed on the socket.
+ </p></dd>
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+<dt><span class="term">native_socket</span></dt>
+<dd><p>
+ The new underlying socket implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.exceptions"></a></span><a class="link" href="overload4.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload4.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload5.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload5.html
new file mode 100644
index 0000000000..f7095e6a6f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload5.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket (5 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="prev" href="overload4.html" title="basic_stream_socket::basic_stream_socket (4 of 6 overloads)">
+<link rel="next" href="overload6.html" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5"></a><a class="link" href="overload5.html" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">basic_stream_socket::basic_stream_socket
+ (5 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span><span class="special">(</span>
+ <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a stream socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload6.html b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload6.html
new file mode 100644
index 0000000000..9916b66dd5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/basic_stream_socket/overload6.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::basic_stream_socket (6 of 6 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket">
+<link rel="prev" href="overload5.html" title="basic_stream_socket::basic_stream_socket (5 of 6 overloads)">
+<link rel="next" href="../bind.html" title="basic_stream_socket::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6"></a><a class="link" href="overload6.html" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">basic_stream_socket::basic_stream_socket
+ (6 of 6 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../StreamSocketService.html" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">basic_stream_socket</span><span class="special">(</span>
+ <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a stream socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.basic_stream_socket.basic_stream_socket.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bind.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/bind.html b/doc/html/boost_asio/reference/basic_stream_socket/bind.html
new file mode 100644
index 0000000000..6f9cdce5a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/bind.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="basic_stream_socket/overload6.html" title="basic_stream_socket::basic_stream_socket (6 of 6 overloads)">
+<link rel="next" href="bind/overload1.html" title="basic_stream_socket::bind (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_stream_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.bind"></a><a class="link" href="bind.html" title="basic_stream_socket::bind">basic_stream_socket::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126154160"></a>
+Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="bind/overload1.html" title="basic_stream_socket::bind (1 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload1.html" title="basic_stream_socket::bind (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="bind/overload2.html" title="basic_stream_socket::bind (2 of 2 overloads)">bind</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="bind/overload2.html" title="basic_stream_socket::bind (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_stream_socket/overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/bind/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/bind/overload1.html
new file mode 100644
index 0000000000..3f251f8fe8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/bind/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::bind (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_stream_socket::bind">
+<link rel="prev" href="../bind.html" title="basic_stream_socket::bind">
+<link rel="next" href="overload2.html" title="basic_stream_socket::bind (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.bind.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::bind (1 of 2 overloads)">basic_stream_socket::bind
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bind.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.bind.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bind.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.bind.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bind.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.bind.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../bind.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/bind/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/bind/overload2.html
new file mode 100644
index 0000000000..868151028f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/bind/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::bind (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../bind.html" title="basic_stream_socket::bind">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::bind (1 of 2 overloads)">
+<link rel="next" href="../broadcast.html" title="basic_stream_socket::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.bind.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::bind (2 of 2 overloads)">basic_stream_socket::bind
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Bind the socket to the given local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function binds the socket to the specified endpoint on the local
+ machine.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bind.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.bind.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ An endpoint on the local machine to which the socket will be bound.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bind.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bind.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.bind.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">12345</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../broadcast.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/broadcast.html b/doc/html/boost_asio/reference/basic_stream_socket/broadcast.html
new file mode 100644
index 0000000000..4aa5461e84
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/broadcast.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="bind/overload2.html" title="basic_stream_socket::bind (2 of 2 overloads)">
+<link rel="next" href="bytes_readable.html" title="basic_stream_socket::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.broadcast"></a><a class="link" href="broadcast.html" title="basic_stream_socket::broadcast">basic_stream_socket::broadcast</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp126298048"></a>
+Socket option to permit sending of broadcast
+ messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_stream_socket.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.basic_stream_socket.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bind/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/bytes_readable.html b/doc/html/boost_asio/reference/basic_stream_socket/bytes_readable.html
new file mode 100644
index 0000000000..d541fc7ee9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="broadcast.html" title="basic_stream_socket::broadcast">
+<link rel="next" href="cancel.html" title="basic_stream_socket::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.bytes_readable"></a><a class="link" href="bytes_readable.html" title="basic_stream_socket::bytes_readable">basic_stream_socket::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp126355360"></a>
+IO control command to get the amount of
+ data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_stream_socket.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.basic_stream_socket.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/cancel.html b/doc/html/boost_asio/reference/basic_stream_socket/cancel.html
new file mode 100644
index 0000000000..15cb6c8729
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="bytes_readable.html" title="basic_stream_socket::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="basic_stream_socket::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.cancel"></a><a class="link" href="cancel.html" title="basic_stream_socket::cancel">basic_stream_socket::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126394720"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="basic_stream_socket::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_stream_socket::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="basic_stream_socket::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_stream_socket::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/cancel/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/cancel/overload1.html
new file mode 100644
index 0000000000..185da65842
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/cancel/overload1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_stream_socket::cancel">
+<link rel="prev" href="../cancel.html" title="basic_stream_socket::cancel">
+<link rel="next" href="overload2.html" title="basic_stream_socket::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::cancel (1 of 2 overloads)">basic_stream_socket::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/cancel/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/cancel/overload2.html
new file mode 100644
index 0000000000..a15733c75a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/cancel/overload2.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_stream_socket::cancel">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="basic_stream_socket::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::cancel (2 of 2 overloads)">basic_stream_socket::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous connect, send and receive
+ operations to finish immediately, and the handlers for cancelled operations
+ will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
+ will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
+ when run on Windows XP, Windows Server 2003, and earlier versions of
+ Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
+ function has two issues that should be considered before enabling its
+ use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It will only cancel asynchronous operations that were initiated in
+ the current thread.
+ </li>
+<li class="listitem">
+ It can appear to complete without error, but the request to cancel
+ the unfinished operations may be silently ignored by the operating
+ system. Whether it works or not seems to depend on the drivers that
+ are installed.
+ </li>
+</ul></div>
+<p>
+ For portable cancellation, consider using one of the following alternatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
+ </li>
+<li class="listitem">
+ Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
+ function to simultaneously cancel the outstanding operations and
+ close the socket.
+ </li>
+</ul></div>
+<p>
+ When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
+ function is always used. This function does not have the problems described
+ above.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/close.html b/doc/html/boost_asio/reference/basic_stream_socket/close.html
new file mode 100644
index 0000000000..6816c9d10e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="cancel/overload2.html" title="basic_stream_socket::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="basic_stream_socket::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.close"></a><a class="link" href="close.html" title="basic_stream_socket::close">basic_stream_socket::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126486896"></a>
+Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="basic_stream_socket::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="basic_stream_socket::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="basic_stream_socket::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="basic_stream_socket::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/close/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/close/overload1.html
new file mode 100644
index 0000000000..e5690c3f43
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/close/overload1.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_stream_socket::close">
+<link rel="prev" href="../close.html" title="basic_stream_socket::close">
+<link rel="next" href="overload2.html" title="basic_stream_socket::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.close.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::close (1 of 2 overloads)">basic_stream_socket::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.close.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.close.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/close/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/close/overload2.html
new file mode 100644
index 0000000000..2f0b195686
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/close/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="basic_stream_socket::close">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::close (1 of 2 overloads)">
+<link rel="next" href="../connect.html" title="basic_stream_socket::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.close.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::close (2 of 2 overloads)">basic_stream_socket::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Close the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the socket. Any asynchronous send, receive
+ or connect operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.close.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.close.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">close</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.close.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.close.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.close.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ For portable behaviour with respect to graceful closure of a connected
+ socket, call <code class="computeroutput"><span class="identifier">shutdown</span><span class="special">()</span></code> before closing the socket.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/connect.html b/doc/html/boost_asio/reference/basic_stream_socket/connect.html
new file mode 100644
index 0000000000..672bf5c1f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/connect.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="close/overload2.html" title="basic_stream_socket::close (2 of 2 overloads)">
+<link rel="next" href="connect/overload1.html" title="basic_stream_socket::connect (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.connect"></a><a class="link" href="connect.html" title="basic_stream_socket::connect">basic_stream_socket::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126577728"></a>
+Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="connect/overload1.html" title="basic_stream_socket::connect (1 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="basic_stream_socket::connect (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="connect/overload2.html" title="basic_stream_socket::connect (2 of 2 overloads)">connect</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="basic_stream_socket::connect (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/connect/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/connect/overload1.html
new file mode 100644
index 0000000000..ee7857a15a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/connect/overload1.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::connect (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_stream_socket::connect">
+<link rel="prev" href="../connect.html" title="basic_stream_socket::connect">
+<link rel="next" href="overload2.html" title="basic_stream_socket::connect (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.connect.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::connect (1 of 2 overloads)">basic_stream_socket::connect
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.connect.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/connect/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/connect/overload2.html
new file mode 100644
index 0000000000..013ea62a70
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/connect/overload2.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::connect (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="basic_stream_socket::connect">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::connect (1 of 2 overloads)">
+<link rel="next" href="../debug.html" title="basic_stream_socket::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.connect.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::connect (2 of 2 overloads)">basic_stream_socket::connect
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Connect the socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to connect a socket to the specified remote endpoint.
+ The function call will block until the connection is successfully made
+ or an error occurs.
+ </p>
+<p>
+ The socket is automatically opened if it is not already open. If the
+ connect fails, and the socket was automatically opened, the socket is
+ not returned to the closed state.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">peer_endpoint</span></dt>
+<dd><p>
+ The remote endpoint to which the socket will be connected.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">),</span> <span class="number">12345</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../debug.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/debug.html b/doc/html/boost_asio/reference/basic_stream_socket/debug.html
new file mode 100644
index 0000000000..aff20b6aa2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/debug.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="connect/overload2.html" title="basic_stream_socket::connect (2 of 2 overloads)">
+<link rel="next" href="do_not_route.html" title="basic_stream_socket::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.debug"></a><a class="link" href="debug.html" title="basic_stream_socket::debug">basic_stream_socket::debug</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp126713968"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_stream_socket.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.basic_stream_socket.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/do_not_route.html b/doc/html/boost_asio/reference/basic_stream_socket/do_not_route.html
new file mode 100644
index 0000000000..82d630cef1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/do_not_route.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="debug.html" title="basic_stream_socket::debug">
+<link rel="next" href="enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.do_not_route"></a><a class="link" href="do_not_route.html" title="basic_stream_socket::do_not_route">basic_stream_socket::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp126771264"></a>
+Socket option to prevent routing, use local
+ interfaces only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_stream_socket.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.basic_stream_socket.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/enable_connection_aborted.html b/doc/html/boost_asio/reference/basic_stream_socket/enable_connection_aborted.html
new file mode 100644
index 0000000000..e03b6d7ce3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/enable_connection_aborted.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="do_not_route.html" title="basic_stream_socket::do_not_route">
+<link rel="next" href="endpoint_type.html" title="basic_stream_socket::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted">basic_stream_socket::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp126828464"></a>
+Socket option to report aborted
+ connections on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.basic_stream_socket.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/endpoint_type.html b/doc/html/boost_asio/reference/basic_stream_socket/endpoint_type.html
new file mode 100644
index 0000000000..af8ac63ab6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted">
+<link rel="next" href="get_implementation.html" title="basic_stream_socket::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.endpoint_type"></a><a class="link" href="endpoint_type.html" title="basic_stream_socket::endpoint_type">basic_stream_socket::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126889808"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.basic_stream_socket.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_implementation.html b/doc/html/boost_asio/reference/basic_stream_socket/get_implementation.html
new file mode 100644
index 0000000000..838fc5317b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="endpoint_type.html" title="basic_stream_socket::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="basic_stream_socket::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_stream_socket::get_implementation">basic_stream_socket::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126903216"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_stream_socket::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_stream_socket::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_stream_socket::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_stream_socket::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload1.html
new file mode 100644
index 0000000000..02d2259005
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_stream_socket::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_stream_socket::get_implementation">
+<link rel="next" href="overload2.html" title="basic_stream_socket::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::get_implementation (1 of 2 overloads)">basic_stream_socket::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload2.html
new file mode 100644
index 0000000000..f805c5d34d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_stream_socket::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_stream_socket::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::get_implementation (2 of 2 overloads)">basic_stream_socket::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_io_service.html b/doc/html/boost_asio/reference/basic_stream_socket/get_io_service.html
new file mode 100644
index 0000000000..b9b7ab05c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_stream_socket::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_option.html" title="basic_stream_socket::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_stream_socket::get_io_service">basic_stream_socket::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp126933248"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_stream_socket.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_option.html b/doc/html/boost_asio/reference/basic_stream_socket/get_option.html
new file mode 100644
index 0000000000..08166b6b36
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="get_io_service.html" title="basic_stream_socket::get_io_service">
+<link rel="next" href="get_option/overload1.html" title="basic_stream_socket::get_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_option"></a><a class="link" href="get_option.html" title="basic_stream_socket::get_option">basic_stream_socket::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp126951568"></a>
+Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="get_option/overload1.html" title="basic_stream_socket::get_option (1 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload1.html" title="basic_stream_socket::get_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="get_option/overload2.html" title="basic_stream_socket::get_option (2 of 2 overloads)">get_option</a><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_option/overload2.html" title="basic_stream_socket::get_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_option/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/get_option/overload1.html
new file mode 100644
index 0000000000..b84862bed2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_option/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_stream_socket::get_option">
+<link rel="prev" href="../get_option.html" title="basic_stream_socket::get_option">
+<link rel="next" href="overload2.html" title="basic_stream_socket::get_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::get_option (1 of 2 overloads)">basic_stream_socket::get_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.get_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.get_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.get_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_option/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/get_option/overload2.html
new file mode 100644
index 0000000000..e034f9ecbc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_option/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_option.html" title="basic_stream_socket::get_option">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::get_option (1 of 2 overloads)">
+<link rel="next" href="../get_service.html" title="basic_stream_socket::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::get_option (2 of 2 overloads)">basic_stream_socket::get_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get an option from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to get the current value of an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.get_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The option value to be obtained from the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.get_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.get_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.get_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_service.html b/doc/html/boost_asio/reference/basic_stream_socket/get_service.html
new file mode 100644
index 0000000000..2feeb0b877
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="get_option/overload2.html" title="basic_stream_socket::get_option (2 of 2 overloads)">
+<link rel="next" href="get_service/overload1.html" title="basic_stream_socket::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_service"></a><a class="link" href="get_service.html" title="basic_stream_socket::get_service">basic_stream_socket::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp127092032"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_stream_socket::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_stream_socket::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_stream_socket::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_stream_socket::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload1.html
new file mode 100644
index 0000000000..997edc9881
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_stream_socket::get_service">
+<link rel="prev" href="../get_service.html" title="basic_stream_socket::get_service">
+<link rel="next" href="overload2.html" title="basic_stream_socket::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::get_service (1 of 2 overloads)">basic_stream_socket::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload2.html
new file mode 100644
index 0000000000..5a54a5257f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_stream_socket::get_service">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_stream_socket::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::get_service (2 of 2 overloads)">basic_stream_socket::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/implementation.html b/doc/html/boost_asio/reference/basic_stream_socket/implementation.html
new file mode 100644
index 0000000000..957955ae85
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="get_service/overload2.html" title="basic_stream_socket::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_stream_socket::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.implementation"></a><a class="link" href="implementation.html" title="basic_stream_socket::implementation">basic_stream_socket::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127122256"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/implementation_type.html b/doc/html/boost_asio/reference/basic_stream_socket/implementation_type.html
new file mode 100644
index 0000000000..70d79850cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="implementation.html" title="basic_stream_socket::implementation">
+<link rel="next" href="io_control.html" title="basic_stream_socket::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_stream_socket::implementation_type">basic_stream_socket::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127130992"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_stream_socket.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/io_control.html b/doc/html/boost_asio/reference/basic_stream_socket/io_control.html
new file mode 100644
index 0000000000..e92e33ee72
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/io_control.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="implementation_type.html" title="basic_stream_socket::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="basic_stream_socket::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.io_control"></a><a class="link" href="io_control.html" title="basic_stream_socket::io_control">basic_stream_socket::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp127144496"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="basic_stream_socket::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="basic_stream_socket::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="basic_stream_socket::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="basic_stream_socket::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/io_control/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/io_control/overload1.html
new file mode 100644
index 0000000000..fe8fe67278
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/io_control/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_stream_socket::io_control">
+<link rel="prev" href="../io_control.html" title="basic_stream_socket::io_control">
+<link rel="next" href="overload2.html" title="basic_stream_socket::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::io_control (1 of 2 overloads)">basic_stream_socket::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/io_control/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/io_control/overload2.html
new file mode 100644
index 0000000000..a4dc43c725
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/io_control/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="basic_stream_socket::io_control">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="basic_stream_socket::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::io_control (2 of 2 overloads)">basic_stream_socket::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/is_open.html b/doc/html/boost_asio/reference/basic_stream_socket/is_open.html
new file mode 100644
index 0000000000..97b87384a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="io_control/overload2.html" title="basic_stream_socket::io_control (2 of 2 overloads)">
+<link rel="next" href="keep_alive.html" title="basic_stream_socket::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.is_open"></a><a class="link" href="is_open.html" title="basic_stream_socket::is_open">basic_stream_socket::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127282864"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/keep_alive.html b/doc/html/boost_asio/reference/basic_stream_socket/keep_alive.html
new file mode 100644
index 0000000000..a41587cb12
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/keep_alive.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="is_open.html" title="basic_stream_socket::is_open">
+<link rel="next" href="linger.html" title="basic_stream_socket::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.keep_alive"></a><a class="link" href="keep_alive.html" title="basic_stream_socket::keep_alive">basic_stream_socket::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127290912"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_stream_socket.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.basic_stream_socket.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/linger.html b/doc/html/boost_asio/reference/basic_stream_socket/linger.html
new file mode 100644
index 0000000000..381433c2de
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/linger.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="keep_alive.html" title="basic_stream_socket::keep_alive">
+<link rel="next" href="local_endpoint.html" title="basic_stream_socket::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.linger"></a><a class="link" href="linger.html" title="basic_stream_socket::linger">basic_stream_socket::linger</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127348160"></a>
+Socket option to specify whether the socket lingers
+ on close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_stream_socket.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.basic_stream_socket.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint.html b/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint.html
new file mode 100644
index 0000000000..1257d7fbc2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="linger.html" title="basic_stream_socket::linger">
+<link rel="next" href="local_endpoint/overload1.html" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint"></a><a class="link" href="local_endpoint.html" title="basic_stream_socket::local_endpoint">basic_stream_socket::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp127410640"></a>
+Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload1.html" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">local_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload1.html" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="local_endpoint/overload2.html" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">local_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local_endpoint/overload2.html" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload1.html
new file mode 100644
index 0000000000..bf268b7049
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::local_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_stream_socket::local_endpoint">
+<link rel="prev" href="../local_endpoint.html" title="basic_stream_socket::local_endpoint">
+<link rel="next" href="overload2.html" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">basic_stream_socket::local_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../local_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload2.html
new file mode 100644
index 0000000000..0a7bdb00f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/local_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::local_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local_endpoint.html" title="basic_stream_socket::local_endpoint">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::local_endpoint (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="basic_stream_socket::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">basic_stream_socket::local_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the local endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the locally bound endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the local endpoint of the socket. Returns a
+ default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.local_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.local_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">local_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer.html b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer.html
new file mode 100644
index 0000000000..a5d4d00d04
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="local_endpoint/overload2.html" title="basic_stream_socket::local_endpoint (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer"></a><a class="link" href="lowest_layer.html" title="basic_stream_socket::lowest_layer">basic_stream_socket::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp127515824"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload1.html
new file mode 100644
index 0000000000..cdcab9a4c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_stream_socket::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="basic_stream_socket::lowest_layer">
+<link rel="next" href="overload2.html" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">basic_stream_socket::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload2.html
new file mode 100644
index 0000000000..7ccd39a43a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="basic_stream_socket::lowest_layer">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">basic_stream_socket::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer_type.html b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer_type.html
new file mode 100644
index 0000000000..6daa12319e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/lowest_layer_type.html
@@ -0,0 +1,913 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="lowest_layer/overload2.html" title="basic_stream_socket::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="max_connections.html" title="basic_stream_socket::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type">basic_stream_socket::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127559072"></a>
+A <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">StreamSocketService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle_type.html" title="basic_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_socket.
+ </p>
+ <p>
+ Construct a basic_socket, opening it and binding it to the given
+ local endpoint.
+ </p>
+ <p>
+ Construct a basic_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_handle.html" title="basic_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/native_non_blocking.html" title="basic_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/non_blocking.html" title="basic_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/operator_eq_.html" title="basic_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_implementation.html" title="basic_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/get_service.html" title="basic_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_end_of_record.html" title="basic_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
+ class template provides functionality that is common to both stream-oriented
+ and datagram-oriented sockets.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.basic_stream_socket.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/max_connections.html b/doc/html/boost_asio/reference/basic_stream_socket/max_connections.html
new file mode 100644
index 0000000000..269030969c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/max_connections.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type">
+<link rel="next" href="message_do_not_route.html" title="basic_stream_socket::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.max_connections"></a><a class="link" href="max_connections.html" title="basic_stream_socket::max_connections">basic_stream_socket::max_connections</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127809104"></a>
+The maximum length of the queue of pending
+ incoming connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/message_do_not_route.html b/doc/html/boost_asio/reference/basic_stream_socket/message_do_not_route.html
new file mode 100644
index 0000000000..4318af443c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/message_do_not_route.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="max_connections.html" title="basic_stream_socket::max_connections">
+<link rel="next" href="message_end_of_record.html" title="basic_stream_socket::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="basic_stream_socket::message_do_not_route">basic_stream_socket::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127818736"></a>
+Specify that the data should not
+ be subject to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/message_end_of_record.html b/doc/html/boost_asio/reference/basic_stream_socket/message_end_of_record.html
new file mode 100644
index 0000000000..5a1528679f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/message_end_of_record.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="message_do_not_route.html" title="basic_stream_socket::message_do_not_route">
+<link rel="next" href="message_flags.html" title="basic_stream_socket::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="basic_stream_socket::message_end_of_record">basic_stream_socket::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127828368"></a>
+Specifies that the data marks the
+ end of a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/message_flags.html b/doc/html/boost_asio/reference/basic_stream_socket/message_flags.html
new file mode 100644
index 0000000000..05d7560537
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/message_flags.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="message_end_of_record.html" title="basic_stream_socket::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="basic_stream_socket::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.message_flags"></a><a class="link" href="message_flags.html" title="basic_stream_socket::message_flags">basic_stream_socket::message_flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127837888"></a>
+Bitmask type for flags that can be passed
+ to send and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.basic_stream_socket.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/message_out_of_band.html b/doc/html/boost_asio/reference/basic_stream_socket/message_out_of_band.html
new file mode 100644
index 0000000000..39afa09659
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/message_out_of_band.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="message_flags.html" title="basic_stream_socket::message_flags">
+<link rel="next" href="message_peek.html" title="basic_stream_socket::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="basic_stream_socket::message_out_of_band">basic_stream_socket::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127851152"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/message_peek.html b/doc/html/boost_asio/reference/basic_stream_socket/message_peek.html
new file mode 100644
index 0000000000..9462e5d0bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/message_peek.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="message_out_of_band.html" title="basic_stream_socket::message_out_of_band">
+<link rel="next" href="native.html" title="basic_stream_socket::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.message_peek"></a><a class="link" href="message_peek.html" title="basic_stream_socket::message_peek">basic_stream_socket::message_peek</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127860720"></a>
+Peek at incoming data without removing it
+ from the input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native.html b/doc/html/boost_asio/reference/basic_stream_socket/native.html
new file mode 100644
index 0000000000..7a69ae3554
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="message_peek.html" title="basic_stream_socket::message_peek">
+<link rel="next" href="native_handle.html" title="basic_stream_socket::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native"></a><a class="link" href="native.html" title="basic_stream_socket::native">basic_stream_socket::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127870272"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_handle.html b/doc/html/boost_asio/reference/basic_stream_socket/native_handle.html
new file mode 100644
index 0000000000..0bff27abc1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="native.html" title="basic_stream_socket::native">
+<link rel="next" href="native_handle_type.html" title="basic_stream_socket::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_handle"></a><a class="link" href="native_handle.html" title="basic_stream_socket::native_handle">basic_stream_socket::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp127879520"></a>
+Get the native socket representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ socket. This is intended to allow access to native socket functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_handle_type.html b/doc/html/boost_asio/reference/basic_stream_socket/native_handle_type.html
new file mode 100644
index 0000000000..9bc569e040
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="native_handle.html" title="basic_stream_socket::native_handle">
+<link rel="next" href="native_non_blocking.html" title="basic_stream_socket::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_handle_type"></a><a class="link" href="native_handle_type.html" title="basic_stream_socket::native_handle_type">basic_stream_socket::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp127886160"></a>
+The native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.basic_stream_socket.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking.html b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking.html
new file mode 100644
index 0000000000..2a1cc8990c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="native_handle_type.html" title="basic_stream_socket::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="basic_stream_socket::native_non_blocking">basic_stream_socket::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp127899712"></a>
+Gets the non-blocking mode of the
+ native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..5de871d4fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload1.html
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_stream_socket::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="basic_stream_socket::native_non_blocking">
+<link rel="next" href="overload2.html" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">basic_stream_socket::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native socket. This mode has no effect on the behaviour of the socket
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying socket
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the socket object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload1.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..032a23f241
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload2.html
@@ -0,0 +1,167 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_stream_socket::native_non_blocking">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">basic_stream_socket::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload2.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..f39bf0404b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_non_blocking/overload3.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="basic_stream_socket::native_non_blocking">
+<link rel="prev" href="overload2.html" title="basic_stream_socket::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="basic_stream_socket::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">basic_stream_socket::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native socket. It has no effect on the behaviour of the socket object's
+ synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ socket is put into non-blocking mode and direct system calls may
+ fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.native_non_blocking.overload3.example">Example</a>
+ </h6>
+<p>
+ This function is intended to allow the encapsulation of arbitrary non-blocking
+ system calls as asynchronous operations, in a way that is transparent
+ to the user of the socket object. The following example illustrates how
+ Linux's <code class="computeroutput"><span class="identifier">sendfile</span></code> system
+ call might be encapsulated:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">sendfile_op</span>
+<span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">fd_</span><span class="special">;</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler_</span><span class="special">;</span>
+ <span class="identifier">off_t</span> <span class="identifier">offset_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">total_bytes_transferred_</span><span class="special">;</span>
+
+ <span class="comment">// Function call operator meeting WriteHandler requirements.</span>
+ <span class="comment">// Used as the handler for the async_write_some operation.</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Put the underlying socket into non-blocking mode.</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">())</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_non_blocking</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="comment">// Try the system call.</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">sendfile</span><span class="special">(</span><span class="identifier">sock_</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">(),</span> <span class="identifier">fd_</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">offset_</span><span class="special">,</span> <span class="number">65536</span><span class="special">);</span>
+ <span class="identifier">ec</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;</span> <span class="number">0</span> <span class="special">?</span> <span class="identifier">errno</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">());</span>
+ <span class="identifier">total_bytes_transferred_</span> <span class="special">+=</span> <span class="identifier">ec</span> <span class="special">?</span> <span class="number">0</span> <span class="special">:</span> <span class="identifier">n</span><span class="special">;</span>
+
+ <span class="comment">// Retry operation immediately if interrupted by signal.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">interrupted</span><span class="special">)</span>
+ <span class="keyword">continue</span><span class="special">;</span>
+
+ <span class="comment">// Check if we need to run the operation again.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span>
+ <span class="special">||</span> <span class="identifier">ec</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">try_again</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We have to wait for the socket to become ready again.</span>
+ <span class="identifier">sock_</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="keyword">return</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span> <span class="special">||</span> <span class="identifier">n</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred, or we have reached the end of the file.</span>
+ <span class="comment">// Either way we must exit the loop so we can call the handler.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Loop around to try calling sendfile again.</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="comment">// Pass result back to user's handler.</span>
+ <span class="identifier">handler_</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span> <span class="identifier">total_bytes_transferred_</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">async_sendfile</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">sock</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">Handler</span> <span class="identifier">h</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">sendfile_op</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">op</span> <span class="special">=</span> <span class="special">{</span> <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">fd</span><span class="special">,</span> <span class="identifier">h</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span> <span class="special">};</span>
+ <span class="identifier">sock</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">null_buffers</span><span class="special">(),</span> <span class="identifier">op</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/native_type.html b/doc/html/boost_asio/reference/basic_stream_socket/native_type.html
new file mode 100644
index 0000000000..c7e490da35
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="native_non_blocking/overload3.html" title="basic_stream_socket::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="basic_stream_socket::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.native_type"></a><a class="link" href="native_type.html" title="basic_stream_socket::native_type">basic_stream_socket::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp128509072"></a>
+(Deprecated: Use native_handle_type.) The
+ native representation of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.basic_stream_socket.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/non_blocking.html b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking.html
new file mode 100644
index 0000000000..fd47c42ee9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="native_type.html" title="basic_stream_socket::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="basic_stream_socket::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.non_blocking"></a><a class="link" href="non_blocking.html" title="basic_stream_socket::non_blocking">basic_stream_socket::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp128522752"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="basic_stream_socket::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="basic_stream_socket::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="basic_stream_socket::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="basic_stream_socket::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="basic_stream_socket::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="basic_stream_socket::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload1.html
new file mode 100644
index 0000000000..3ab6a804f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_stream_socket::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="basic_stream_socket::non_blocking">
+<link rel="next" href="overload2.html" title="basic_stream_socket::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::non_blocking (1 of 3 overloads)">basic_stream_socket::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the socket's synchronous
+ operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload2.html
new file mode 100644
index 0000000000..b1d77a3bff
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_stream_socket::non_blocking">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_stream_socket::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::non_blocking (2 of 3 overloads)">basic_stream_socket::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload3.html b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload3.html
new file mode 100644
index 0000000000..76a6c48bc6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking/overload3.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="basic_stream_socket::non_blocking">
+<link rel="prev" href="overload2.html" title="basic_stream_socket::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="basic_stream_socket::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3"></a><a class="link" href="overload3.html" title="basic_stream_socket::non_blocking (3 of 3 overloads)">basic_stream_socket::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the socket's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/non_blocking_io.html b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking_io.html
new file mode 100644
index 0000000000..03a98df68b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="non_blocking/overload3.html" title="basic_stream_socket::non_blocking (3 of 3 overloads)">
+<link rel="next" href="open.html" title="basic_stream_socket::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="basic_stream_socket::non_blocking_io">basic_stream_socket::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp128647344"></a>
+(Deprecated: Use non_blocking().) IO
+ control command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_stream_socket.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.basic_stream_socket.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/open.html b/doc/html/boost_asio/reference/basic_stream_socket/open.html
new file mode 100644
index 0000000000..06750d628d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/open.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="non_blocking_io.html" title="basic_stream_socket::non_blocking_io">
+<link rel="next" href="open/overload1.html" title="basic_stream_socket::open (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.open"></a><a class="link" href="open.html" title="basic_stream_socket::open">basic_stream_socket::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp128681552"></a>
+Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="open/overload1.html" title="basic_stream_socket::open (1 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload1.html" title="basic_stream_socket::open (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="open/overload2.html" title="basic_stream_socket::open (2 of 2 overloads)">open</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="open/overload2.html" title="basic_stream_socket::open (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/open/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/open/overload1.html
new file mode 100644
index 0000000000..4e6285deaf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/open/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::open (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_stream_socket::open">
+<link rel="prev" href="../open.html" title="basic_stream_socket::open">
+<link rel="next" href="overload2.html" title="basic_stream_socket::open (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.open.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::open (1 of 2 overloads)">basic_stream_socket::open
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span> <span class="special">=</span> <span class="identifier">protocol_type</span><span class="special">());</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.open.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.open.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying protocol parameters to be used.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.open.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.open.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.open.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.open.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../open.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/open/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/open/overload2.html
new file mode 100644
index 0000000000..355fea642a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/open/overload2.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::open (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../open.html" title="basic_stream_socket::open">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::open (1 of 2 overloads)">
+<link rel="next" href="../operator_eq_.html" title="basic_stream_socket::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.open.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::open (2 of 2 overloads)">basic_stream_socket::open
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Open the socket using the specified protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function opens the socket so that it will use the specified protocol.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.open.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.open.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ An object specifying which protocol is to be used.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.open.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.open.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.open.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../open.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_.html b/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_.html
new file mode 100644
index 0000000000..40df1ffd10
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="open/overload2.html" title="basic_stream_socket::open (2 of 2 overloads)">
+<link rel="next" href="operator_eq_/overload1.html" title="basic_stream_socket::operator= (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_"></a><a class="link" href="operator_eq_.html" title="basic_stream_socket::operator=">basic_stream_socket::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp128798880"></a>
+Move-assign a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="basic_stream_socket::operator= (1 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="basic_stream_socket::operator= (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-assign a <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../StreamSocketService.html" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_stream_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="basic_stream_socket::operator= (2 of 2 overloads)">operator=</a><span class="special">(</span>
+ <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="basic_stream_socket::operator= (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="open/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload1.html
new file mode 100644
index 0000000000..23d7f2495b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::operator= (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_stream_socket::operator=">
+<link rel="prev" href="../operator_eq_.html" title="basic_stream_socket::operator=">
+<link rel="next" href="overload2.html" title="basic_stream_socket::operator= (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::operator= (1 of 2 overloads)">basic_stream_socket::operator=
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_socket</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_stream_socket</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a stream socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload2.html
new file mode 100644
index 0000000000..614d36001f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/operator_eq_/overload2.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::operator= (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="basic_stream_socket::operator=">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::operator= (1 of 2 overloads)">
+<link rel="next" href="../protocol_type.html" title="basic_stream_socket::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::operator= (2 of 2 overloads)">basic_stream_socket::operator=
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-assign a <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> from a socket
+ of another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../StreamSocketService.html" title="Stream socket service requirements">StreamSocketService1</a><span class="special">&gt;</span>
+<span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">basic_stream_socket</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">StreamSocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a stream socket from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.operator_eq_.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.operator_eq_.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_stream_socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/protocol_type.html b/doc/html/boost_asio/reference/basic_stream_socket/protocol_type.html
new file mode 100644
index 0000000000..6a14977640
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="operator_eq_/overload2.html" title="basic_stream_socket::operator= (2 of 2 overloads)">
+<link rel="next" href="read_some.html" title="basic_stream_socket::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.protocol_type"></a><a class="link" href="protocol_type.html" title="basic_stream_socket::protocol_type">basic_stream_socket::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp128903008"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.basic_stream_socket.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/read_some.html b/doc/html/boost_asio/reference/basic_stream_socket/read_some.html
new file mode 100644
index 0000000000..364dfa15de
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/read_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="protocol_type.html" title="basic_stream_socket::protocol_type">
+<link rel="next" href="read_some/overload1.html" title="basic_stream_socket::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.read_some"></a><a class="link" href="read_some.html" title="basic_stream_socket::read_some">basic_stream_socket::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp128915344"></a>
+Read some data from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="basic_stream_socket::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="basic_stream_socket::read_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="basic_stream_socket::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="basic_stream_socket::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload1.html
new file mode 100644
index 0000000000..fa8dbb83cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="basic_stream_socket::read_some">
+<link rel="prev" href="../read_some.html" title="basic_stream_socket::read_some">
+<link rel="next" href="overload2.html" title="basic_stream_socket::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::read_some (1 of 2 overloads)">basic_stream_socket::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream socket. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.read_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.read_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.read_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.read_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.read_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload2.html
new file mode 100644
index 0000000000..1e01d9d4ff
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="basic_stream_socket::read_some">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::read_some (1 of 2 overloads)">
+<link rel="next" href="../receive.html" title="basic_stream_socket::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::read_some (2 of 2 overloads)">basic_stream_socket::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream socket. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.read_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.read_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.read_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.read_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.read_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/receive.html b/doc/html/boost_asio/reference/basic_stream_socket/receive.html
new file mode 100644
index 0000000000..845f9999ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/receive.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="read_some/overload2.html" title="basic_stream_socket::read_some (2 of 2 overloads)">
+<link rel="next" href="receive/overload1.html" title="basic_stream_socket::receive (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.receive"></a><a class="link" href="receive.html" title="basic_stream_socket::receive">basic_stream_socket::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp129033552"></a>
+Receive some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload1.html" title="basic_stream_socket::receive (1 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload1.html" title="basic_stream_socket::receive (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload2.html" title="basic_stream_socket::receive (2 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload2.html" title="basic_stream_socket::receive (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="receive/overload3.html" title="basic_stream_socket::receive (3 of 3 overloads)">receive</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="receive/overload3.html" title="basic_stream_socket::receive (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/receive/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/receive/overload1.html
new file mode 100644
index 0000000000..efbce41f83
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/receive/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::receive (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_stream_socket::receive">
+<link rel="prev" href="../receive.html" title="basic_stream_socket::receive">
+<link rel="next" href="overload2.html" title="basic_stream_socket::receive (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.receive.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::receive (1 of 3 overloads)">basic_stream_socket::receive
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the stream socket. The function
+ call will block until one or more bytes of data has been received successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.receive.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.receive.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.receive.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.receive.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.receive.overload1.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../receive.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/receive/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/receive/overload2.html
new file mode 100644
index 0000000000..237290904b
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/receive/overload2.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::receive (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_stream_socket::receive">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::receive (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_stream_socket::receive (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.receive.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::receive (2 of 3 overloads)">basic_stream_socket::receive
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the stream socket. The function
+ call will block until one or more bytes of data has been received successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.receive.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.receive.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.receive.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.receive.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload2.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.receive.overload2.example">Example</a>
+ </h6>
+<p>
+ To receive into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on receiving into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/receive/overload3.html b/doc/html/boost_asio/reference/basic_stream_socket/receive/overload3.html
new file mode 100644
index 0000000000..cb02a746b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/receive/overload3.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::receive (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../receive.html" title="basic_stream_socket::receive">
+<link rel="prev" href="overload2.html" title="basic_stream_socket::receive (2 of 3 overloads)">
+<link rel="next" href="../receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.receive.overload3"></a><a class="link" href="overload3.html" title="basic_stream_socket::receive (3 of 3 overloads)">basic_stream_socket::receive
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Receive some data on a connected socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to receive data on the stream socket. The function
+ call will block until one or more bytes of data has been received successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.receive.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be received.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the receive call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.receive.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes received. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.receive.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The receive operation may not receive all of the requested number of
+ bytes. Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../receive.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../receive_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/receive_buffer_size.html b/doc/html/boost_asio/reference/basic_stream_socket/receive_buffer_size.html
new file mode 100644
index 0000000000..eb50a115e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/receive_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="receive/overload3.html" title="basic_stream_socket::receive (3 of 3 overloads)">
+<link rel="next" href="receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size">basic_stream_socket::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129234400"></a>
+Socket option for the receive buffer
+ size of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_stream_socket.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.basic_stream_socket.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/receive_low_watermark.html b/doc/html/boost_asio/reference/basic_stream_socket/receive_low_watermark.html
new file mode 100644
index 0000000000..8d95107798
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/receive_low_watermark.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size">
+<link rel="next" href="remote_endpoint.html" title="basic_stream_socket::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark">basic_stream_socket::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129291840"></a>
+Socket option for the receive low
+ watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_stream_socket.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.basic_stream_socket.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint.html b/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint.html
new file mode 100644
index 0000000000..0212d8cf91
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark">
+<link rel="next" href="remote_endpoint/overload1.html" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="basic_stream_socket::remote_endpoint">basic_stream_socket::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp129348304"></a>
+Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload1.html" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">remote_endpoint</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload1.html" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">endpoint_type</span> <a class="link" href="remote_endpoint/overload2.html" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">remote_endpoint</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="remote_endpoint/overload2.html" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload1.html
new file mode 100644
index 0000000000..c9d772b152
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::remote_endpoint (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_stream_socket::remote_endpoint">
+<link rel="prev" href="../remote_endpoint.html" title="basic_stream_socket::remote_endpoint">
+<link rel="next" href="overload2.html" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">basic_stream_socket::remote_endpoint
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../remote_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload2.html
new file mode 100644
index 0000000000..8241b6caab
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/remote_endpoint/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::remote_endpoint (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../remote_endpoint.html" title="basic_stream_socket::remote_endpoint">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::remote_endpoint (1 of 2 overloads)">
+<link rel="next" href="../reuse_address.html" title="basic_stream_socket::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">basic_stream_socket::remote_endpoint
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Get the remote endpoint of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to obtain the remote endpoint of the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object that represents the remote endpoint of the socket. Returns
+ a default-constructed endpoint object if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.remote_endpoint.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">remote_endpoint</span><span class="special">(</span><span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../remote_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reuse_address.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/reuse_address.html b/doc/html/boost_asio/reference/basic_stream_socket/reuse_address.html
new file mode 100644
index 0000000000..41453863e9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/reuse_address.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="remote_endpoint/overload2.html" title="basic_stream_socket::remote_endpoint (2 of 2 overloads)">
+<link rel="next" href="send.html" title="basic_stream_socket::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.reuse_address"></a><a class="link" href="reuse_address.html" title="basic_stream_socket::reuse_address">basic_stream_socket::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129454656"></a>
+Socket option to allow the socket to be
+ bound to an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_stream_socket.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.basic_stream_socket.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="remote_endpoint/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/send.html b/doc/html/boost_asio/reference/basic_stream_socket/send.html
new file mode 100644
index 0000000000..de672cca88
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/send.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="reuse_address.html" title="basic_stream_socket::reuse_address">
+<link rel="next" href="send/overload1.html" title="basic_stream_socket::send (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.send"></a><a class="link" href="send.html" title="basic_stream_socket::send">basic_stream_socket::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp129511072"></a>
+Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload1.html" title="basic_stream_socket::send (1 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload1.html" title="basic_stream_socket::send (1 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload2.html" title="basic_stream_socket::send (2 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload2.html" title="basic_stream_socket::send (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="send/overload3.html" title="basic_stream_socket::send (3 of 3 overloads)">send</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="send/overload3.html" title="basic_stream_socket::send (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/send/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/send/overload1.html
new file mode 100644
index 0000000000..4b9561d821
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/send/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::send (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_stream_socket::send">
+<link rel="prev" href="../send.html" title="basic_stream_socket::send">
+<link rel="next" href="overload2.html" title="basic_stream_socket::send (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.send.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::send (1 of 3 overloads)">basic_stream_socket::send
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the stream socket. The function
+ call will block until one or more bytes of the data has been sent successfully,
+ or an until error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.send.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.send.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.send.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.send.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
+ function if you need to ensure that all data is written before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.send.overload1.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../send.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/send/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/send/overload2.html
new file mode 100644
index 0000000000..2c636d542d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/send/overload2.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::send (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_stream_socket::send">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::send (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_stream_socket::send (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.send.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::send (2 of 3 overloads)">basic_stream_socket::send
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the stream socket. The function
+ call will block until one or more bytes of the data has been sent successfully,
+ or an until error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.send.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.send.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.send.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.send.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
+ function if you need to ensure that all data is written before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload2.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.send.overload2.example">Example</a>
+ </h6>
+<p>
+ To send a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on sending multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/send/overload3.html b/doc/html/boost_asio/reference/basic_stream_socket/send/overload3.html
new file mode 100644
index 0000000000..bcbff27d16
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/send/overload3.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::send (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../send.html" title="basic_stream_socket::send">
+<link rel="prev" href="overload2.html" title="basic_stream_socket::send (2 of 3 overloads)">
+<link rel="next" href="../send_buffer_size.html" title="basic_stream_socket::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.send.overload3"></a><a class="link" href="overload3.html" title="basic_stream_socket::send (3 of 3 overloads)">basic_stream_socket::send
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Send some data on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to send data on the stream socket. The function
+ call will block until one or more bytes of the data has been sent successfully,
+ or an until error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.send.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be sent on the socket.
+ </p></dd>
+<dt><span class="term">flags</span></dt>
+<dd><p>
+ Flags specifying how the send call is to be made.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.send.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes sent. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_stream_socket.send.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The send operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>
+ function if you need to ensure that all data is written before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../send.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../send_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/send_buffer_size.html b/doc/html/boost_asio/reference/basic_stream_socket/send_buffer_size.html
new file mode 100644
index 0000000000..79b237d27a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/send_buffer_size.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="send/overload3.html" title="basic_stream_socket::send (3 of 3 overloads)">
+<link rel="next" href="send_low_watermark.html" title="basic_stream_socket::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="basic_stream_socket::send_buffer_size">basic_stream_socket::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129701024"></a>
+Socket option for the send buffer size
+ of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_stream_socket.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.basic_stream_socket.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/send_low_watermark.html b/doc/html/boost_asio/reference/basic_stream_socket/send_low_watermark.html
new file mode 100644
index 0000000000..d4634d1bb0
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/send_low_watermark.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="send_buffer_size.html" title="basic_stream_socket::send_buffer_size">
+<link rel="next" href="service.html" title="basic_stream_socket::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="basic_stream_socket::send_low_watermark">basic_stream_socket::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129758256"></a>
+Socket option for the send low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_stream_socket.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.basic_stream_socket.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/service.html b/doc/html/boost_asio/reference/basic_stream_socket/service.html
new file mode 100644
index 0000000000..34127ddbcb
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="send_low_watermark.html" title="basic_stream_socket::send_low_watermark">
+<link rel="next" href="service_type.html" title="basic_stream_socket::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.service"></a><a class="link" href="service.html" title="basic_stream_socket::service">basic_stream_socket::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129815664"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_stream_socket.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/service_type.html b/doc/html/boost_asio/reference/basic_stream_socket/service_type.html
new file mode 100644
index 0000000000..2b5ea57a27
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="service.html" title="basic_stream_socket::service">
+<link rel="next" href="set_option.html" title="basic_stream_socket::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.service_type"></a><a class="link" href="service_type.html" title="basic_stream_socket::service_type">basic_stream_socket::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp129828304"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamSocketService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_stream_socket.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_stream_socket.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/set_option.html b/doc/html/boost_asio/reference/basic_stream_socket/set_option.html
new file mode 100644
index 0000000000..0b3b63f8be
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/set_option.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="service_type.html" title="basic_stream_socket::service_type">
+<link rel="next" href="set_option/overload1.html" title="basic_stream_socket::set_option (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.set_option"></a><a class="link" href="set_option.html" title="basic_stream_socket::set_option">basic_stream_socket::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp129840848"></a>
+Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_option/overload1.html" title="basic_stream_socket::set_option (1 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload1.html" title="basic_stream_socket::set_option (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_option/overload2.html" title="basic_stream_socket::set_option (2 of 2 overloads)">set_option</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_option/overload2.html" title="basic_stream_socket::set_option (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/set_option/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/set_option/overload1.html
new file mode 100644
index 0000000000..165fd43d79
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/set_option/overload1.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::set_option (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_stream_socket::set_option">
+<link rel="prev" href="../set_option.html" title="basic_stream_socket::set_option">
+<link rel="next" href="overload2.html" title="basic_stream_socket::set_option (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::set_option (1 of 2 overloads)">basic_stream_socket::set_option
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.set_option.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.set_option.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.set_option.overload1.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../set_option.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/set_option/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/set_option/overload2.html
new file mode 100644
index 0000000000..caf82afc90
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/set_option/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::set_option (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_option.html" title="basic_stream_socket::set_option">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::set_option (1 of 2 overloads)">
+<link rel="next" href="../shutdown.html" title="basic_stream_socket::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::set_option (2 of 2 overloads)">basic_stream_socket::set_option
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Set an option on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to set an option on the socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.set_option.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">option</span></dt>
+<dd><p>
+ The new option value to be set on the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.set_option.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.set_option.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.set_option.overload2.example">Example</a>
+ </h6>
+<p>
+ Setting the IPPROTO_TCP/TCP_NODELAY option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_option.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/shutdown.html b/doc/html/boost_asio/reference/basic_stream_socket/shutdown.html
new file mode 100644
index 0000000000..63f01f6f47
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/shutdown.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="set_option/overload2.html" title="basic_stream_socket::set_option (2 of 2 overloads)">
+<link rel="next" href="shutdown/overload1.html" title="basic_stream_socket::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.shutdown"></a><a class="link" href="shutdown.html" title="basic_stream_socket::shutdown">basic_stream_socket::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp129970400"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="basic_stream_socket::shutdown (1 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="basic_stream_socket::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="basic_stream_socket::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="basic_stream_socket::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_option/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload1.html
new file mode 100644
index 0000000000..e3cd7d81d2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_stream_socket::shutdown">
+<link rel="prev" href="../shutdown.html" title="basic_stream_socket::shutdown">
+<link rel="next" href="overload2.html" title="basic_stream_socket::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::shutdown (1 of 2 overloads)">basic_stream_socket::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.shutdown.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.shutdown.overload1.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload2.html
new file mode 100644
index 0000000000..ef97fff25d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/shutdown/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="basic_stream_socket::shutdown">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::shutdown (1 of 2 overloads)">
+<link rel="next" href="../shutdown_type.html" title="basic_stream_socket::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::shutdown (2 of 2 overloads)">basic_stream_socket::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_socket.</em></span>
+ </p>
+<p>
+ Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to disable send operations, receive operations,
+ or both.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">what</span></dt>
+<dd><p>
+ Determines what types of operation will no longer be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.shutdown.overload2.example">Example</a>
+ </h6>
+<p>
+ Shutting down the send side of the socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">shutdown</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">::</span><span class="identifier">shutdown_send</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/shutdown_type.html b/doc/html/boost_asio/reference/basic_stream_socket/shutdown_type.html
new file mode 100644
index 0000000000..bbccda2f3c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/shutdown_type.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="shutdown/overload2.html" title="basic_stream_socket::shutdown (2 of 2 overloads)">
+<link rel="next" href="write_some.html" title="basic_stream_socket::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.shutdown_type"></a><a class="link" href="shutdown_type.html" title="basic_stream_socket::shutdown_type">basic_stream_socket::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from socket_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp130084768"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp130088400"></a>
+ <a class="indexterm" name="idp130089504"></a>
+ <a class="indexterm" name="idp130090608"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.basic_stream_socket.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/write_some.html b/doc/html/boost_asio/reference/basic_stream_socket/write_some.html
new file mode 100644
index 0000000000..1989445339
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/write_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_socket.html" title="basic_stream_socket">
+<link rel="prev" href="shutdown_type.html" title="basic_stream_socket::shutdown_type">
+<link rel="next" href="write_some/overload1.html" title="basic_stream_socket::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_stream_socket.write_some"></a><a class="link" href="write_some.html" title="basic_stream_socket::write_some">basic_stream_socket::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130102464"></a>
+Write some data to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="basic_stream_socket::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="basic_stream_socket::write_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="basic_stream_socket::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="basic_stream_socket::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_socket.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/write_some/overload1.html b/doc/html/boost_asio/reference/basic_stream_socket/write_some/overload1.html
new file mode 100644
index 0000000000..8c2b6b375c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/write_some/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="basic_stream_socket::write_some">
+<link rel="prev" href="../write_some.html" title="basic_stream_socket::write_some">
+<link rel="next" href="overload2.html" title="basic_stream_socket::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload1"></a><a class="link" href="overload1.html" title="basic_stream_socket::write_some (1 of 2 overloads)">basic_stream_socket::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the stream socket. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.write_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the socket.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.write_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.write_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.write_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_stream_socket.write_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">socket</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_stream_socket/write_some/overload2.html b/doc/html/boost_asio/reference/basic_stream_socket/write_some/overload2.html
new file mode 100644
index 0000000000..d6eb5b644d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_stream_socket/write_some/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_stream_socket::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="basic_stream_socket::write_some">
+<link rel="prev" href="overload1.html" title="basic_stream_socket::write_some (1 of 2 overloads)">
+<link rel="next" href="../../basic_streambuf.html" title="basic_streambuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_streambuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload2"></a><a class="link" href="overload2.html" title="basic_stream_socket::write_some (2 of 2 overloads)">basic_stream_socket::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the stream socket. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.write_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the socket.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.write_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_stream_socket.write_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_stream_socket.write_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_stream_socket.write_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_streambuf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf.html b/doc/html/boost_asio/reference/basic_streambuf.html
new file mode 100644
index 0000000000..e7c11dcaa6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf.html
@@ -0,0 +1,359 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_stream_socket/write_some/overload2.html" title="basic_stream_socket::write_some (2 of 2 overloads)">
+<link rel="next" href="basic_streambuf/basic_streambuf.html" title="basic_streambuf::basic_streambuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_stream_socket/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_streambuf/basic_streambuf.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_streambuf"></a><a class="link" href="basic_streambuf.html" title="basic_streambuf">basic_streambuf</a>
+</h3></div></div></div>
+<p>
+ Automatically resizable buffer class based on std::streambuf.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_streambuf</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_streambuf.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.types"></a></span><a class="link" href="basic_streambuf.html#boost_asio.reference.basic_streambuf.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/const_buffers_type.html" title="basic_streambuf::const_buffers_type"><span class="bold"><strong>const_buffers_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used to represent the input sequence as a list of buffers.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/mutable_buffers_type.html" title="basic_streambuf::mutable_buffers_type"><span class="bold"><strong>mutable_buffers_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used to represent the output sequence as a list of buffers.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_streambuf.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.member_functions"></a></span><a class="link" href="basic_streambuf.html#boost_asio.reference.basic_streambuf.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/basic_streambuf.html" title="basic_streambuf::basic_streambuf"><span class="bold"><strong>basic_streambuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_streambuf object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/commit.html" title="basic_streambuf::commit"><span class="bold"><strong>commit</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move characters from the output sequence to the input sequence.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/consume.html" title="basic_streambuf::consume"><span class="bold"><strong>consume</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove characters from the input sequence.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/data.html" title="basic_streambuf::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a list of buffers that represents the input sequence.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/max_size.html" title="basic_streambuf::max_size"><span class="bold"><strong>max_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the maximum size of the basic_streambuf.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/prepare.html" title="basic_streambuf::prepare"><span class="bold"><strong>prepare</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a list of buffers that represents the output sequence, with
+ the given size.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/size.html" title="basic_streambuf::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the size of the input sequence.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_streambuf.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.protected_member_functions"></a></span><a class="link" href="basic_streambuf.html#boost_asio.reference.basic_streambuf.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/overflow.html" title="basic_streambuf::overflow"><span class="bold"><strong>overflow</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Override std::streambuf behaviour.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/reserve.html" title="basic_streambuf::reserve"><span class="bold"><strong>reserve</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/underflow.html" title="basic_streambuf::underflow"><span class="bold"><strong>underflow</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Override std::streambuf behaviour.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class
+ is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span></code> to associate the streambuf's
+ input and output sequences with one or more character arrays. These character
+ arrays are internal to the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object, but direct access to the array elements is provided to permit them
+ to be used efficiently with I/O operations. Characters written to the output
+ sequence of a <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object are appended to the input sequence of the same object.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class's
+ public interface is intended to permit the following implementation strategies:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A single contiguous character array, which is reallocated as necessary
+ to accommodate changes in the size of the character sequence. This is
+ the implementation approach currently used in Asio.
+ </li>
+<li class="listitem">
+ A sequence of one or more character arrays, where each array is of the
+ same size. Additional character array objects are appended to the sequence
+ to accommodate changes in the size of the character sequence.
+ </li>
+<li class="listitem">
+ A sequence of one or more character arrays of varying sizes. Additional
+ character array objects are appended to the sequence to accommodate changes
+ in the size of the character sequence.
+ </li>
+</ul></div>
+<p>
+ The constructor for <a class="link" href="basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> accepts a <code class="computeroutput"><span class="identifier">size_t</span></code> argument specifying the maximum
+ of the sum of the sizes of the input sequence and output sequence. During
+ the lifetime of the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object, the following invariant holds:
+ </p>
+<pre class="programlisting"><span class="identifier">size</span><span class="special">()</span> <span class="special">&lt;=</span> <span class="identifier">max_size</span><span class="special">()</span>
+</pre>
+<p>
+ Any member function that would, if successful, cause the invariant to be
+ violated shall throw an exception of class <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code>.
+ </p>
+<p>
+ The constructor for <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ takes an Allocator argument. A copy of this argument is used for any memory
+ allocation performed, by the constructor and by all member functions, during
+ the lifetime of each <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_streambuf.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.examples"></a></span><a class="link" href="basic_streambuf.html#boost_asio.reference.basic_streambuf.examples">Examples</a>
+ </h5>
+<p>
+ Writing directly from an streambuf to a socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="identifier">os</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, World!\n"</span><span class="special">;</span>
+
+<span class="comment">// try sending some data in input sequence</span>
+<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">.</span><span class="identifier">data</span><span class="special">());</span>
+
+<span class="identifier">b</span><span class="special">.</span><span class="identifier">consume</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span> <span class="comment">// sent data is removed from input sequence</span>
+</pre>
+<p>
+ Reading from a socket directly into a streambuf:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+
+<span class="comment">// reserve 512 bytes in output sequence</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">mutable_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">.</span><span class="identifier">prepare</span><span class="special">(</span><span class="number">512</span><span class="special">);</span>
+
+<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">bufs</span><span class="special">);</span>
+
+<span class="comment">// received data is "committed" from output sequence to input sequence</span>
+<span class="identifier">b</span><span class="special">.</span><span class="identifier">commit</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+<span class="identifier">is</span> <span class="special">&gt;&gt;</span> <span class="identifier">s</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_streambuf.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.requirements"></a></span><a class="link" href="basic_streambuf.html#boost_asio.reference.basic_streambuf.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_stream_socket/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_streambuf/basic_streambuf.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/basic_streambuf.html b/doc/html/boost_asio/reference/basic_streambuf/basic_streambuf.html
new file mode 100644
index 0000000000..c6b92d6691
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/basic_streambuf.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::basic_streambuf</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="next" href="commit.html" title="basic_streambuf::commit">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="commit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.basic_streambuf"></a><a class="link" href="basic_streambuf.html" title="basic_streambuf::basic_streambuf">basic_streambuf::basic_streambuf</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130385808"></a>
+Construct a <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_streambuf</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">maximum_size</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="special">&gt;::</span><span class="identifier">max</span><span class="special">)(),</span>
+ <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span> <span class="special">=</span> <span class="identifier">Allocator</span><span class="special">());</span>
+</pre>
+<p>
+ Constructs a streambuf with the specified maximum size. The initial size
+ of the streambuf's input sequence is 0.
+ </p>
+</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 &#169; 2003-2017 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="../basic_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="commit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/commit.html b/doc/html/boost_asio/reference/basic_streambuf/commit.html
new file mode 100644
index 0000000000..ae34b1b017
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/commit.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::commit</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="basic_streambuf.html" title="basic_streambuf::basic_streambuf">
+<link rel="next" href="const_buffers_type.html" title="basic_streambuf::const_buffers_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.commit"></a><a class="link" href="commit.html" title="basic_streambuf::commit">basic_streambuf::commit</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130407536"></a>
+Move characters from the output sequence to the input
+ sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">commit</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ Appends <code class="computeroutput"><span class="identifier">n</span></code> characters from
+ the start of the output sequence to the input sequence. The beginning of
+ the output sequence is advanced by <code class="computeroutput"><span class="identifier">n</span></code>
+ characters.
+ </p>
+<p>
+ Requires a preceding call <code class="computeroutput"><span class="identifier">prepare</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ where <code class="computeroutput"><span class="identifier">x</span> <span class="special">&gt;=</span>
+ <span class="identifier">n</span></code>, and no intervening operations
+ that modify the input or output sequence.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.commit.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.commit.remarks"></a></span><a class="link" href="commit.html#boost_asio.reference.basic_streambuf.commit.remarks">Remarks</a>
+ </h6>
+<p>
+ If <code class="computeroutput"><span class="identifier">n</span></code> is greater than the
+ size of the output sequence, the entire output sequence is moved to the
+ input sequence and no error is issued.
+ </p>
+</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 &#169; 2003-2017 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="basic_streambuf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/const_buffers_type.html b/doc/html/boost_asio/reference/basic_streambuf/const_buffers_type.html
new file mode 100644
index 0000000000..32d18f04da
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/const_buffers_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::const_buffers_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="commit.html" title="basic_streambuf::commit">
+<link rel="next" href="consume.html" title="basic_streambuf::consume">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="commit.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="consume.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.const_buffers_type"></a><a class="link" href="const_buffers_type.html" title="basic_streambuf::const_buffers_type">basic_streambuf::const_buffers_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130430112"></a>
+The type used to represent the input sequence
+ as a list of buffers.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">const_buffers_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.const_buffers_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.const_buffers_type.requirements"></a></span><a class="link" href="const_buffers_type.html#boost_asio.reference.basic_streambuf.const_buffers_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="commit.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="consume.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/consume.html b/doc/html/boost_asio/reference/basic_streambuf/consume.html
new file mode 100644
index 0000000000..f8ab33e623
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/consume.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::consume</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="const_buffers_type.html" title="basic_streambuf::const_buffers_type">
+<link rel="next" href="data.html" title="basic_streambuf::data">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_buffers_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.consume"></a><a class="link" href="consume.html" title="basic_streambuf::consume">basic_streambuf::consume</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130442576"></a>
+Remove characters from the input sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">consume</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ Removes <code class="computeroutput"><span class="identifier">n</span></code> characters from
+ the beginning of the input sequence.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.consume.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.consume.remarks"></a></span><a class="link" href="consume.html#boost_asio.reference.basic_streambuf.consume.remarks">Remarks</a>
+ </h6>
+<p>
+ If <code class="computeroutput"><span class="identifier">n</span></code> is greater than the
+ size of the input sequence, the entire input sequence is consumed and no
+ error is issued.
+ </p>
+</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 &#169; 2003-2017 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="const_buffers_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/data.html b/doc/html/boost_asio/reference/basic_streambuf/data.html
new file mode 100644
index 0000000000..355af7c3e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/data.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::data</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="consume.html" title="basic_streambuf::consume">
+<link rel="next" href="max_size.html" title="basic_streambuf::max_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="consume.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.data"></a><a class="link" href="data.html" title="basic_streambuf::data">basic_streambuf::data</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130457792"></a>
+Get a list of buffers that represents the input sequence.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_type</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.data.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.data.return_value"></a></span><a class="link" href="data.html#boost_asio.reference.basic_streambuf.data.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object of type <code class="computeroutput"><span class="identifier">const_buffers_type</span></code>
+ that satisfies ConstBufferSequence requirements, representing all character
+ arrays in the input sequence.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.data.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.data.remarks"></a></span><a class="link" href="data.html#boost_asio.reference.basic_streambuf.data.remarks">Remarks</a>
+ </h6>
+<p>
+ The returned object is invalidated by any <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ member function that modifies the input sequence or output sequence.
+ </p>
+</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 &#169; 2003-2017 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="consume.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/max_size.html b/doc/html/boost_asio/reference/basic_streambuf/max_size.html
new file mode 100644
index 0000000000..f9639ac2ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/max_size.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::max_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="data.html" title="basic_streambuf::data">
+<link rel="next" href="mutable_buffers_type.html" title="basic_streambuf::mutable_buffers_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.max_size"></a><a class="link" href="max_size.html" title="basic_streambuf::max_size">basic_streambuf::max_size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130474096"></a>
+Get the maximum size of the <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.max_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.max_size.return_value"></a></span><a class="link" href="max_size.html#boost_asio.reference.basic_streambuf.max_size.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The allowed maximum of the sum of the sizes of the input sequence and output
+ sequence.
+ </p>
+</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 &#169; 2003-2017 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="data.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/mutable_buffers_type.html b/doc/html/boost_asio/reference/basic_streambuf/mutable_buffers_type.html
new file mode 100644
index 0000000000..7a569e76bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/mutable_buffers_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::mutable_buffers_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="max_size.html" title="basic_streambuf::max_size">
+<link rel="next" href="overflow.html" title="basic_streambuf::overflow">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overflow.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.mutable_buffers_type"></a><a class="link" href="mutable_buffers_type.html" title="basic_streambuf::mutable_buffers_type">basic_streambuf::mutable_buffers_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130487696"></a>
+The type used to represent the output
+ sequence as a list of buffers.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">mutable_buffers_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.mutable_buffers_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.mutable_buffers_type.requirements"></a></span><a class="link" href="mutable_buffers_type.html#boost_asio.reference.basic_streambuf.mutable_buffers_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="max_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overflow.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/overflow.html b/doc/html/boost_asio/reference/basic_streambuf/overflow.html
new file mode 100644
index 0000000000..2f26ad50f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/overflow.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::overflow</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="mutable_buffers_type.html" title="basic_streambuf::mutable_buffers_type">
+<link rel="next" href="prepare.html" title="basic_streambuf::prepare">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutable_buffers_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="prepare.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.overflow"></a><a class="link" href="overflow.html" title="basic_streambuf::overflow">basic_streambuf::overflow</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130500160"></a>
+Override std::streambuf behaviour.
+ </p>
+<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">overflow</span><span class="special">(</span>
+ <span class="identifier">int_type</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ Behaves according to the specification of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">overflow</span><span class="special">()</span></code>, with the specialisation that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code> is thrown if appending the
+ character to the input sequence would require the condition <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span> <span class="special">&gt;</span> <span class="identifier">max_size</span><span class="special">()</span></code> to be true.
+ </p>
+</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 &#169; 2003-2017 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="mutable_buffers_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="prepare.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/prepare.html b/doc/html/boost_asio/reference/basic_streambuf/prepare.html
new file mode 100644
index 0000000000..76b6dd9a38
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/prepare.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::prepare</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="overflow.html" title="basic_streambuf::overflow">
+<link rel="next" href="reserve.html" title="basic_streambuf::reserve">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overflow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reserve.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.prepare"></a><a class="link" href="prepare.html" title="basic_streambuf::prepare">basic_streambuf::prepare</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130518544"></a>
+Get a list of buffers that represents the output
+ sequence, with the given size.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_type</span> <span class="identifier">prepare</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ Ensures that the output sequence can accommodate <code class="computeroutput"><span class="identifier">n</span></code>
+ characters, reallocating character array objects as necessary.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.prepare.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.prepare.return_value"></a></span><a class="link" href="prepare.html#boost_asio.reference.basic_streambuf.prepare.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An object of type <code class="computeroutput"><span class="identifier">mutable_buffers_type</span></code>
+ that satisfies MutableBufferSequence requirements, representing character
+ array objects at the start of the output sequence such that the sum of
+ the buffer sizes is <code class="computeroutput"><span class="identifier">n</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.prepare.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.prepare.exceptions"></a></span><a class="link" href="prepare.html#boost_asio.reference.basic_streambuf.prepare.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">std::length_error</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span>
+ <span class="special">+</span> <span class="identifier">n</span>
+ <span class="special">&gt;</span> <span class="identifier">max_size</span><span class="special">()</span></code>.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.prepare.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.prepare.remarks"></a></span><a class="link" href="prepare.html#boost_asio.reference.basic_streambuf.prepare.remarks">Remarks</a>
+ </h6>
+<p>
+ The returned object is invalidated by any <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ member function that modifies the input sequence or output sequence.
+ </p>
+</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 &#169; 2003-2017 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="overflow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reserve.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/reserve.html b/doc/html/boost_asio/reference/basic_streambuf/reserve.html
new file mode 100644
index 0000000000..88bd33ffdc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/reserve.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::reserve</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="prepare.html" title="basic_streambuf::prepare">
+<link rel="next" href="size.html" title="basic_streambuf::size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="prepare.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.reserve"></a><a class="link" href="reserve.html" title="basic_streambuf::reserve">basic_streambuf::reserve</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130550096"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reserve</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="prepare.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/size.html b/doc/html/boost_asio/reference/basic_streambuf/size.html
new file mode 100644
index 0000000000..5f7ab0d5e9
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/size.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="reserve.html" title="basic_streambuf::reserve">
+<link rel="next" href="underflow.html" title="basic_streambuf::underflow">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reserve.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="underflow.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.size"></a><a class="link" href="size.html" title="basic_streambuf::size">basic_streambuf::size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130558960"></a>
+Get the size of the input sequence.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_streambuf.size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_streambuf.size.return_value"></a></span><a class="link" href="size.html#boost_asio.reference.basic_streambuf.size.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The size of the input sequence. The value is equal to that calculated for
+ <code class="computeroutput"><span class="identifier">s</span></code> in the following code:
+ </p>
+<pre class="programlisting"><span class="identifier">size_t</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="identifier">const_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">data</span><span class="special">();</span>
+<span class="identifier">const_buffers_type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">bufs</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+<span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">bufs</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
+<span class="special">{</span>
+ <span class="identifier">const_buffer</span> <span class="identifier">buf</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++);</span>
+ <span class="identifier">s</span> <span class="special">+=</span> <span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">buf</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="reserve.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="underflow.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_streambuf/underflow.html b/doc/html/boost_asio/reference/basic_streambuf/underflow.html
new file mode 100644
index 0000000000..b369898aec
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_streambuf/underflow.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_streambuf::underflow</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_streambuf.html" title="basic_streambuf">
+<link rel="prev" href="size.html" title="basic_streambuf::size">
+<link rel="next" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_streambuf.underflow"></a><a class="link" href="underflow.html" title="basic_streambuf::underflow">basic_streambuf::underflow</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130597008"></a>
+Override std::streambuf behaviour.
+ </p>
+<pre class="programlisting"><span class="identifier">int_type</span> <span class="identifier">underflow</span><span class="special">();</span>
+</pre>
+<p>
+ Behaves according to the specification of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">underflow</span><span class="special">()</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_streambuf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer.html b/doc/html/boost_asio/reference/basic_waitable_timer.html
new file mode 100644
index 0000000000..7f2933a56e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer.html
@@ -0,0 +1,505 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_streambuf/underflow.html" title="basic_streambuf::underflow">
+<link rel="next" href="basic_waitable_timer/async_wait.html" title="basic_waitable_timer::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_streambuf/underflow.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_waitable_timer/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_waitable_timer"></a><a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer">basic_waitable_timer</a>
+</h3></div></div></div>
+<p>
+ Provides waitable timer functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WaitTraits.html" title="Wait traits requirements">WaitTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">wait_traits</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;,</span>
+ <span class="keyword">typename</span> <a class="link" href="WaitableTimerService.html" title="Waitable timer service requirements">WaitableTimerService</a> <span class="special">=</span> <span class="identifier">waitable_timer_service</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">,</span> <span class="identifier">WaitTraits</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_waitable_timer</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">WaitableTimerService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.types"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/clock_type.html" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The clock type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/duration.html" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation_type.html" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service_type.html" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/time_point.html" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time point type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/traits_type.html" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The wait traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.member_functions"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/async_wait.html" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+ <p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel.html" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel_one.html" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_from_now.html" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the timer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_io_service.html" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/wait.html" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the timer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.protected_member_functions"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_implementation.html" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_service.html" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.protected_data_members"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation.html" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service.html" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
+ provides the ability to perform a blocking or asynchronous wait for a timer
+ to expire.
+ </p>
+<p>
+ A waitable timer is always in one of two states: "expired" or "not
+ expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
+ the wait operation will complete immediately.
+ </p>
+<p>
+ Most applications will use one of the <a class="link" href="steady_timer.html" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="system_timer.html" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="high_resolution_timer.html" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.remarks"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.remarks">Remarks</a>
+ </h5>
+<p>
+ This waitable timer functionality is for use with the C++11 standard library's
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.thread_safety"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.examples"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.examples">Examples</a>
+ </h5>
+<p>
+ Performing a blocking wait (C++11):
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// Set an expiry time relative to now.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+
+<span class="comment">// Wait for the timer to expire.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Performing an asynchronous wait (C++11):
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer expired.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a timer with an absolute expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
+
+<span class="comment">// Start an asynchronous wait.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
+ an active waitable timer's expiry time</a>
+ </h5>
+<p>
+ Changing the expiry time of a timer while there are pending asynchronous
+ waits causes those wait operations to be cancelled. To ensure that the action
+ associated with the timer is performed only once, use something like this:
+ used:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
+ <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Too late, timer has already expired!</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer was not cancelled, take necessary action.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ function cancels any pending asynchronous waits, and returns the number
+ of asynchronous waits that were cancelled. If it returns 0 then you were
+ too late and the wait handler has already been executed, or will soon
+ be executed. If it returns 1 then the wait handler was successfully cancelled.
+ </li>
+<li class="listitem">
+ If a wait handler is cancelled, the boost::system::error_code passed
+ to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.reference.basic_waitable_timer.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.requirements"></a></span><a class="link" href="basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_streambuf/underflow.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_waitable_timer/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/async_wait.html b/doc/html/boost_asio/reference/basic_waitable_timer/async_wait.html
new file mode 100644
index 0000000000..2a0d552152
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/async_wait.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="next" href="basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_waitable_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.async_wait"></a><a class="link" href="async_wait.html" title="basic_waitable_timer::async_wait">basic_waitable_timer::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130858832"></a>
+Start an asynchronous wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WaitHandler.html" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to initiate an asynchronous wait against the
+ timer. It always returns immediately.
+ </p>
+<p>
+ For each call to <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code>, the supplied handler will be called
+ exactly once. The handler will be called when:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The timer has expired.
+ </li>
+<li class="listitem">
+ The timer was cancelled, in which case the handler is passed the error
+ code <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.async_wait.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.async_wait.parameters"></a></span><a class="link" href="async_wait.html#boost_asio.reference.basic_waitable_timer.async_wait.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the timer expires. Copies will be made
+ of the handler as required. The function signature of the handler
+ must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_waitable_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer.html b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer.html
new file mode 100644
index 0000000000..2e13e4be33
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::basic_waitable_timer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="async_wait.html" title="basic_waitable_timer::async_wait">
+<link rel="next" href="basic_waitable_timer/overload1.html" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_waitable_timer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer"></a><a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer">basic_waitable_timer::basic_waitable_timer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp130899328"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_waitable_timer/overload1.html" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">basic_waitable_timer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_waitable_timer/overload1.html" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_waitable_timer/overload2.html" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">basic_waitable_timer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_waitable_timer/overload2.html" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_waitable_timer/overload3.html" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">basic_waitable_timer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_waitable_timer/overload3.html" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_waitable_timer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload1.html
new file mode 100644
index 0000000000..0e1d1bb683
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer">
+<link rel="prev" href="../basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">basic_waitable_timer::basic_waitable_timer
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_waitable_timer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a timer without setting an expiry time. The
+ <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ functions must be called to set an expiry time before the timer can be
+ waited on.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the timer will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload2.html
new file mode 100644
index 0000000000..0711da28fe
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload2.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::basic_waitable_timer (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">basic_waitable_timer::basic_waitable_timer
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_waitable_timer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a timer and sets the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the timer will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer, expressed as an absolute
+ time.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload3.html b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload3.html
new file mode 100644
index 0000000000..828f066bdc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/basic_waitable_timer/overload3.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer">
+<link rel="prev" href="overload2.html" title="basic_waitable_timer::basic_waitable_timer (2 of 3 overloads)">
+<link rel="next" href="../cancel.html" title="basic_waitable_timer::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3"></a><a class="link" href="overload3.html" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">basic_waitable_timer::basic_waitable_timer
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_waitable_timer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a timer and sets the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.basic_waitable_timer.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the timer will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer, relative to now.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/cancel.html b/doc/html/boost_asio/reference/basic_waitable_timer/cancel.html
new file mode 100644
index 0000000000..25a8ec062c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="basic_waitable_timer/overload3.html" title="basic_waitable_timer::basic_waitable_timer (3 of 3 overloads)">
+<link rel="next" href="cancel/overload1.html" title="basic_waitable_timer::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_waitable_timer/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.cancel"></a><a class="link" href="cancel.html" title="basic_waitable_timer::cancel">basic_waitable_timer::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131000080"></a>
+Cancel any asynchronous operations that are waiting
+ on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel/overload1.html" title="basic_waitable_timer::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="basic_waitable_timer::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel/overload2.html" title="basic_waitable_timer::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="basic_waitable_timer::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_waitable_timer/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload1.html
new file mode 100644
index 0000000000..0b3950cab3
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload1.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_waitable_timer::cancel">
+<link rel="prev" href="../cancel.html" title="basic_waitable_timer::cancel">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::cancel (1 of 2 overloads)">basic_waitable_timer::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous wait
+ operations against the timer. The handler for each cancelled operation
+ will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.cancel.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.cancel.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload2.html
new file mode 100644
index 0000000000..c21ee9ff85
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload2.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="basic_waitable_timer::cancel">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::cancel (1 of 2 overloads)">
+<link rel="next" href="../cancel_one.html" title="basic_waitable_timer::cancel_one">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::cancel (2 of 2 overloads)">basic_waitable_timer::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous wait
+ operations against the timer. The handler for each cancelled operation
+ will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.cancel.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.cancel.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one.html b/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one.html
new file mode 100644
index 0000000000..c1ee649e6f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::cancel_one</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="cancel/overload2.html" title="basic_waitable_timer::cancel (2 of 2 overloads)">
+<link rel="next" href="cancel_one/overload1.html" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one"></a><a class="link" href="cancel_one.html" title="basic_waitable_timer::cancel_one">basic_waitable_timer::cancel_one</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131078912"></a>
+Cancels one asynchronous operation that is
+ waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel_one/overload1.html" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">cancel_one</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel_one/overload1.html" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="cancel_one/overload2.html" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">cancel_one</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel_one/overload2.html" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload1.html
new file mode 100644
index 0000000000..10bb5b4adf
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload1.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::cancel_one (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel_one.html" title="basic_waitable_timer::cancel_one">
+<link rel="prev" href="../cancel_one.html" title="basic_waitable_timer::cancel_one">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">basic_waitable_timer::cancel_one
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">();</span>
+</pre>
+<p>
+ This function forces the completion of one pending asynchronous wait
+ operation against the timer. Handlers are cancelled in FIFO order. The
+ handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled. That is, either
+ 0 or 1.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="../cancel_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload2.html
new file mode 100644
index 0000000000..f533140602
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/cancel_one/overload2.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::cancel_one (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel_one.html" title="basic_waitable_timer::cancel_one">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::cancel_one (1 of 2 overloads)">
+<link rel="next" href="../clock_type.html" title="basic_waitable_timer::clock_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../clock_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">basic_waitable_timer::cancel_one
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function forces the completion of one pending asynchronous wait
+ operation against the timer. Handlers are cancelled in FIFO order. The
+ handler for the cancelled operation will be invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<p>
+ Cancelling the timer does not change the expiry time.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled. That is, either
+ 0 or 1.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.cancel_one.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.cancel_one.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">cancel_one</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../clock_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/clock_type.html b/doc/html/boost_asio/reference/basic_waitable_timer/clock_type.html
new file mode 100644
index 0000000000..207b1faf1e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/clock_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::clock_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="cancel_one/overload2.html" title="basic_waitable_timer::cancel_one (2 of 2 overloads)">
+<link rel="next" href="duration.html" title="basic_waitable_timer::duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.clock_type"></a><a class="link" href="clock_type.html" title="basic_waitable_timer::clock_type">basic_waitable_timer::clock_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131158496"></a>
+The clock type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.clock_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.clock_type.requirements"></a></span><a class="link" href="clock_type.html#boost_asio.reference.basic_waitable_timer.clock_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="cancel_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/duration.html b/doc/html/boost_asio/reference/basic_waitable_timer/duration.html
new file mode 100644
index 0000000000..72b7ab673f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/duration.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::duration</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="clock_type.html" title="basic_waitable_timer::clock_type">
+<link rel="next" href="expires_at.html" title="basic_waitable_timer::expires_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="clock_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.duration"></a><a class="link" href="duration.html" title="basic_waitable_timer::duration">basic_waitable_timer::duration</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131170912"></a>
+The duration type of the clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.duration.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.duration.requirements"></a></span><a class="link" href="duration.html#boost_asio.reference.basic_waitable_timer.duration.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="clock_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_at.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at.html
new file mode 100644
index 0000000000..979fc7c76f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="duration.html" title="basic_waitable_timer::duration">
+<link rel="next" href="expires_at/overload1.html" title="basic_waitable_timer::expires_at (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_at"></a><a class="link" href="expires_at.html" title="basic_waitable_timer::expires_at">basic_waitable_timer::expires_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131184304"></a>
+Get the timer's expiry time as an absolute
+ time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_point</span> <a class="link" href="expires_at/overload1.html" title="basic_waitable_timer::expires_at (1 of 3 overloads)">expires_at</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload1.html" title="basic_waitable_timer::expires_at (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_at/overload2.html" title="basic_waitable_timer::expires_at (2 of 3 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload2.html" title="basic_waitable_timer::expires_at (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_at/overload3.html" title="basic_waitable_timer::expires_at (3 of 3 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload3.html" title="basic_waitable_timer::expires_at (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="duration.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload1.html
new file mode 100644
index 0000000000..b40a1cdd01
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_at (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_waitable_timer::expires_at">
+<link rel="prev" href="../expires_at.html" title="basic_waitable_timer::expires_at">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::expires_at (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::expires_at (1 of 3 overloads)">basic_waitable_timer::expires_at
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">expires_at</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function may be used to obtain the timer's current expiry time.
+ Whether the timer has expired or not does not affect this value.
+ </p>
+</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 &#169; 2003-2017 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="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload2.html
new file mode 100644
index 0000000000..8d13c49e2d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload2.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_at (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_waitable_timer::expires_at">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::expires_at (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_waitable_timer::expires_at (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::expires_at (2 of 3 overloads)">basic_waitable_timer::expires_at
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_at.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload3.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload3.html
new file mode 100644
index 0000000000..49b2c6b12f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_at/overload3.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_at (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="basic_waitable_timer::expires_at">
+<link rel="prev" href="overload2.html" title="basic_waitable_timer::expires_at (2 of 3 overloads)">
+<link rel="next" href="../expires_from_now.html" title="basic_waitable_timer::expires_from_now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3"></a><a class="link" href="overload3.html" title="basic_waitable_timer::expires_at (3 of 3 overloads)">basic_waitable_timer::expires_at
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_at.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.expires_at.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_at</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now.html
new file mode 100644
index 0000000000..37d14e7323
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_from_now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="expires_at/overload3.html" title="basic_waitable_timer::expires_at (3 of 3 overloads)">
+<link rel="next" href="expires_from_now/overload1.html" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_at/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now"></a><a class="link" href="expires_from_now.html" title="basic_waitable_timer::expires_from_now">basic_waitable_timer::expires_from_now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131295152"></a>
+Get the timer's expiry time relative
+ to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration</span> <a class="link" href="expires_from_now/overload1.html" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">expires_from_now</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload1.html" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_from_now/overload2.html" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload2.html" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_from_now/overload3.html" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload3.html" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_at/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload1.html
new file mode 100644
index 0000000000..b70f168c02
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_from_now (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_waitable_timer::expires_from_now">
+<link rel="prev" href="../expires_from_now.html" title="basic_waitable_timer::expires_from_now">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">basic_waitable_timer::expires_from_now
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">expires_from_now</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function may be used to obtain the timer's current expiry time.
+ Whether the timer has expired or not does not affect this value.
+ </p>
+</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 &#169; 2003-2017 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="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload2.html
new file mode 100644
index 0000000000..56503bd39f
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload2.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_from_now (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_waitable_timer::expires_from_now">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::expires_from_now (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">basic_waitable_timer::expires_from_now
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload3.html b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload3.html
new file mode 100644
index 0000000000..e51598f383
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/expires_from_now/overload3.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::expires_from_now (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="basic_waitable_timer::expires_from_now">
+<link rel="prev" href="overload2.html" title="basic_waitable_timer::expires_from_now (2 of 3 overloads)">
+<link rel="next" href="../get_implementation.html" title="basic_waitable_timer::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3"></a><a class="link" href="overload3.html" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">basic_waitable_timer::expires_from_now
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the timer's expiry time relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function sets the expiry time. Any pending asynchronous wait operations
+ will be cancelled. The handler for each cancelled operation will be invoked
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error code.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">expiry_time</span></dt>
+<dd><p>
+ The expiry time to be used for the timer.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of asynchronous operations that were cancelled.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.basic_waitable_timer.expires_from_now.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ If the timer has already expired when <code class="computeroutput"><span class="identifier">expires_from_now</span><span class="special">()</span></code> is called, then the handlers for asynchronous
+ wait operations will:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ have already been invoked; or
+ </li>
+<li class="listitem">
+ have been queued for invocation in the near future.
+ </li>
+</ul></div>
+<p>
+ These handlers can no longer be cancelled, and therefore are passed an
+ error code that indicates the successful completion of the wait operation.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation.html
new file mode 100644
index 0000000000..0e2d8d8c80
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="expires_from_now/overload3.html" title="basic_waitable_timer::expires_from_now (3 of 3 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_from_now/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_implementation"></a><a class="link" href="get_implementation.html" title="basic_waitable_timer::get_implementation">basic_waitable_timer::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131406368"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_from_now/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload1.html
new file mode 100644
index 0000000000..56147a5d36
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_waitable_timer::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="basic_waitable_timer::get_implementation">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_implementation.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">basic_waitable_timer::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload2.html
new file mode 100644
index 0000000000..a4d1316621
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="basic_waitable_timer::get_implementation">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="basic_waitable_timer::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_implementation.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">basic_waitable_timer::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_io_service.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_io_service.html
new file mode 100644
index 0000000000..e5df80d769
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="get_implementation/overload2.html" title="basic_waitable_timer::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="basic_waitable_timer::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_io_service"></a><a class="link" href="get_io_service.html" title="basic_waitable_timer::get_io_service">basic_waitable_timer::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp131436672"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.basic_waitable_timer.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_service.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_service.html
new file mode 100644
index 0000000000..8d2186fed5
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="get_io_service.html" title="basic_waitable_timer::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="basic_waitable_timer::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_service"></a><a class="link" href="get_service.html" title="basic_waitable_timer::get_service">basic_waitable_timer::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131455008"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="basic_waitable_timer::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="basic_waitable_timer::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="basic_waitable_timer::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="basic_waitable_timer::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload1.html
new file mode 100644
index 0000000000..8b0d8f4d75
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_waitable_timer::get_service">
+<link rel="prev" href="../get_service.html" title="basic_waitable_timer::get_service">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_service.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::get_service (1 of 2 overloads)">basic_waitable_timer::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload2.html
new file mode 100644
index 0000000000..1172f05699
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="basic_waitable_timer::get_service">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="basic_waitable_timer::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.get_service.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::get_service (2 of 2 overloads)">basic_waitable_timer::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/implementation.html b/doc/html/boost_asio/reference/basic_waitable_timer/implementation.html
new file mode 100644
index 0000000000..6337816d6e
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="get_service/overload2.html" title="basic_waitable_timer::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="basic_waitable_timer::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.implementation"></a><a class="link" href="implementation.html" title="basic_waitable_timer::implementation">basic_waitable_timer::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp131485136"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/implementation_type.html b/doc/html/boost_asio/reference/basic_waitable_timer/implementation_type.html
new file mode 100644
index 0000000000..94573bcaae
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="implementation.html" title="basic_waitable_timer::implementation">
+<link rel="next" href="service.html" title="basic_waitable_timer::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.implementation_type"></a><a class="link" href="implementation_type.html" title="basic_waitable_timer::implementation_type">basic_waitable_timer::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp131493792"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.basic_waitable_timer.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/service.html b/doc/html/boost_asio/reference/basic_waitable_timer/service.html
new file mode 100644
index 0000000000..cfc579e165
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="implementation_type.html" title="basic_waitable_timer::implementation_type">
+<link rel="next" href="service_type.html" title="basic_waitable_timer::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.service"></a><a class="link" href="service.html" title="basic_waitable_timer::service">basic_waitable_timer::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp131508128"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.basic_waitable_timer.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/service_type.html b/doc/html/boost_asio/reference/basic_waitable_timer/service_type.html
new file mode 100644
index 0000000000..85235f7bfc
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="service.html" title="basic_waitable_timer::service">
+<link rel="next" href="time_point.html" title="basic_waitable_timer::time_point">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_point.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.service_type"></a><a class="link" href="service_type.html" title="basic_waitable_timer::service_type">basic_waitable_timer::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp131520640"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">WaitableTimerService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.basic_waitable_timer.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_point.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/time_point.html b/doc/html/boost_asio/reference/basic_waitable_timer/time_point.html
new file mode 100644
index 0000000000..5c563ff160
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/time_point.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::time_point</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="service_type.html" title="basic_waitable_timer::service_type">
+<link rel="next" href="traits_type.html" title="basic_waitable_timer::traits_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.time_point"></a><a class="link" href="time_point.html" title="basic_waitable_timer::time_point">basic_waitable_timer::time_point</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131533120"></a>
+The time point type of the clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_point</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.time_point.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.time_point.requirements"></a></span><a class="link" href="time_point.html#boost_asio.reference.basic_waitable_timer.time_point.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/traits_type.html b/doc/html/boost_asio/reference/basic_waitable_timer/traits_type.html
new file mode 100644
index 0000000000..fb5207122a
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/traits_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::traits_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="time_point.html" title="basic_waitable_timer::time_point">
+<link rel="next" href="wait.html" title="basic_waitable_timer::wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_point.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.traits_type"></a><a class="link" href="traits_type.html" title="basic_waitable_timer::traits_type">basic_waitable_timer::traits_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131546384"></a>
+The wait traits type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">WaitTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.traits_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.traits_type.requirements"></a></span><a class="link" href="traits_type.html#boost_asio.reference.basic_waitable_timer.traits_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_waitable_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="time_point.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/wait.html b/doc/html/boost_asio/reference/basic_waitable_timer/wait.html
new file mode 100644
index 0000000000..d95f42abb6
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/wait.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_waitable_timer.html" title="basic_waitable_timer">
+<link rel="prev" href="traits_type.html" title="basic_waitable_timer::traits_type">
+<link rel="next" href="wait/overload1.html" title="basic_waitable_timer::wait (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.wait"></a><a class="link" href="wait.html" title="basic_waitable_timer::wait">basic_waitable_timer::wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131558816"></a>
+Perform a blocking wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="wait/overload1.html" title="basic_waitable_timer::wait (1 of 2 overloads)">wait</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="wait/overload1.html" title="basic_waitable_timer::wait (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">void</span> <a class="link" href="wait/overload2.html" title="basic_waitable_timer::wait (2 of 2 overloads)">wait</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="wait/overload2.html" title="basic_waitable_timer::wait (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_waitable_timer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/wait/overload1.html b/doc/html/boost_asio/reference/basic_waitable_timer/wait/overload1.html
new file mode 100644
index 0000000000..7c477f7b13
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/wait/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::wait (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait.html" title="basic_waitable_timer::wait">
+<link rel="prev" href="../wait.html" title="basic_waitable_timer::wait">
+<link rel="next" href="overload2.html" title="basic_waitable_timer::wait (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../wait.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.wait.overload1"></a><a class="link" href="overload1.html" title="basic_waitable_timer::wait (1 of 2 overloads)">basic_waitable_timer::wait
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a blocking wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to wait for the timer to expire. This function
+ blocks and does not return until the timer has expired.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.wait.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.wait.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.basic_waitable_timer.wait.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../wait.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_waitable_timer/wait/overload2.html b/doc/html/boost_asio/reference/basic_waitable_timer/wait/overload2.html
new file mode 100644
index 0000000000..ca6bfd1a8d
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_waitable_timer/wait/overload2.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_waitable_timer::wait (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait.html" title="basic_waitable_timer::wait">
+<link rel="prev" href="overload1.html" title="basic_waitable_timer::wait (1 of 2 overloads)">
+<link rel="next" href="../../basic_yield_context.html" title="basic_yield_context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_yield_context.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.basic_waitable_timer.wait.overload2"></a><a class="link" href="overload2.html" title="basic_waitable_timer::wait (2 of 2 overloads)">basic_waitable_timer::wait
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a blocking wait on the timer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to wait for the timer to expire. This function
+ blocks and does not return until the timer has expired.
+ </p>
+<h6>
+<a name="boost_asio.reference.basic_waitable_timer.wait.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_waitable_timer.wait.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.basic_waitable_timer.wait.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../basic_yield_context.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_yield_context.html b/doc/html/boost_asio/reference/basic_yield_context.html
new file mode 100644
index 0000000000..0ff330f850
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_yield_context.html
@@ -0,0 +1,175 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_yield_context</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_waitable_timer/wait/overload2.html" title="basic_waitable_timer::wait (2 of 2 overloads)">
+<link rel="next" href="basic_yield_context/basic_yield_context.html" title="basic_yield_context::basic_yield_context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_waitable_timer/wait/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_yield_context/basic_yield_context.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.basic_yield_context"></a><a class="link" href="basic_yield_context.html" title="basic_yield_context">basic_yield_context</a>
+</h3></div></div></div>
+<p>
+ Context object the represents the currently executing coroutine.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_yield_context</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.basic_yield_context.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_yield_context.types"></a></span><a class="link" href="basic_yield_context.html#boost_asio.reference.basic_yield_context.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/callee_type.html" title="basic_yield_context::callee_type"><span class="bold"><strong>callee_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The coroutine callee type, used by the implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/caller_type.html" title="basic_yield_context::caller_type"><span class="bold"><strong>caller_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The coroutine caller type, used by the implementation.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.basic_yield_context.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_yield_context.member_functions"></a></span><a class="link" href="basic_yield_context.html#boost_asio.reference.basic_yield_context.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/basic_yield_context.html" title="basic_yield_context::basic_yield_context"><span class="bold"><strong>basic_yield_context</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a yield context to represent the specified coroutine.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/operator_lb__rb_.html" title="basic_yield_context::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Return a yield context that sets the specified error_code.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_yield_context.html" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> class is used
+ to represent the currently executing stackful coroutine. A <a class="link" href="basic_yield_context.html" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> may be passed
+ as a handler to an asynchronous operation. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">my_coroutine</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The initiating function (async_read_some in the above example) suspends the
+ current coroutine. The coroutine is resumed when the asynchronous operation
+ completes, and the result of the operation is returned.
+ </p>
+<h5>
+<a name="boost_asio.reference.basic_yield_context.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_yield_context.requirements"></a></span><a class="link" href="basic_yield_context.html#boost_asio.reference.basic_yield_context.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="basic_waitable_timer/wait/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_yield_context/basic_yield_context.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_yield_context/basic_yield_context.html b/doc/html/boost_asio/reference/basic_yield_context/basic_yield_context.html
new file mode 100644
index 0000000000..64cb1a1339
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_yield_context/basic_yield_context.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_yield_context::basic_yield_context</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_yield_context.html" title="basic_yield_context">
+<link rel="prev" href="../basic_yield_context.html" title="basic_yield_context">
+<link rel="next" href="callee_type.html" title="basic_yield_context::callee_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="callee_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_yield_context.basic_yield_context"></a><a class="link" href="basic_yield_context.html" title="basic_yield_context::basic_yield_context">basic_yield_context::basic_yield_context</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131665760"></a>
+Construct a yield context to represent
+ the specified coroutine.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_yield_context</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">weak_ptr</span><span class="special">&lt;</span> <span class="identifier">callee_type</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">coro</span><span class="special">,</span>
+ <span class="identifier">caller_type</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">,</span>
+ <span class="identifier">Handler</span> <span class="special">&amp;</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ Most applications do not need to use this constructor. Instead, the <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code>
+ function passes a yield context as an argument to the coroutine function.
+ </p>
+</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 &#169; 2003-2017 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="../basic_yield_context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="callee_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_yield_context/callee_type.html b/doc/html/boost_asio/reference/basic_yield_context/callee_type.html
new file mode 100644
index 0000000000..78f0946876
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_yield_context/callee_type.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_yield_context::callee_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_yield_context.html" title="basic_yield_context">
+<link rel="prev" href="basic_yield_context.html" title="basic_yield_context::basic_yield_context">
+<link rel="next" href="caller_type.html" title="basic_yield_context::caller_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_yield_context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="caller_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_yield_context.callee_type"></a><a class="link" href="callee_type.html" title="basic_yield_context::callee_type">basic_yield_context::callee_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131684880"></a>
+The coroutine callee type, used by the implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">callee_type</span><span class="special">;</span>
+</pre>
+<p>
+ When using Boost.Coroutine v1, this type is:
+ </p>
+<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">()&gt;</span>
+</pre>
+<p>
+ When using Boost.Coroutine v2 (unidirectional coroutines), this type is:
+ </p>
+<pre class="programlisting"><span class="identifier">push_coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_yield_context.callee_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_yield_context.callee_type.requirements"></a></span><a class="link" href="callee_type.html#boost_asio.reference.basic_yield_context.callee_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="basic_yield_context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="caller_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_yield_context/caller_type.html b/doc/html/boost_asio/reference/basic_yield_context/caller_type.html
new file mode 100644
index 0000000000..124a097d4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_yield_context/caller_type.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_yield_context::caller_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_yield_context.html" title="basic_yield_context">
+<link rel="prev" href="callee_type.html" title="basic_yield_context::callee_type">
+<link rel="next" href="operator_lb__rb_.html" title="basic_yield_context::operator[]">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="callee_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_yield_context.caller_type"></a><a class="link" href="caller_type.html" title="basic_yield_context::caller_type">basic_yield_context::caller_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131704560"></a>
+The coroutine caller type, used by the implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">caller_type</span><span class="special">;</span>
+</pre>
+<p>
+ When using Boost.Coroutine v1, this type is:
+ </p>
+<pre class="programlisting"><span class="keyword">typename</span> <span class="identifier">coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">()&gt;::</span><span class="identifier">caller_type</span>
+</pre>
+<p>
+ When using Boost.Coroutine v2 (unidirectional coroutines), this type is:
+ </p>
+<pre class="programlisting"><span class="identifier">pull_coroutine</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.basic_yield_context.caller_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.basic_yield_context.caller_type.requirements"></a></span><a class="link" href="caller_type.html#boost_asio.reference.basic_yield_context.caller_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="callee_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/basic_yield_context/operator_lb__rb_.html b/doc/html/boost_asio/reference/basic_yield_context/operator_lb__rb_.html
new file mode 100644
index 0000000000..fdaf23850c
--- /dev/null
+++ b/doc/html/boost_asio/reference/basic_yield_context/operator_lb__rb_.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>basic_yield_context::operator[]</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_yield_context.html" title="basic_yield_context">
+<link rel="prev" href="caller_type.html" title="basic_yield_context::caller_type">
+<link rel="next" href="../buffer.html" title="buffer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="caller_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.basic_yield_context.operator_lb__rb_"></a><a class="link" href="operator_lb__rb_.html" title="basic_yield_context::operator[]">basic_yield_context::operator[]</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp131724624"></a>
+Return a yield context that sets the specified
+ error_code.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_yield_context</span> <span class="keyword">operator</span><span class="special">[](</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ By default, when a yield context is used with an asynchronous operation,
+ a non-success error_code is converted to system_error and thrown. This
+ operator may be used to specify an error_code object that should instead
+ be set with the asynchronous operation's result. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">my_coroutine</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">[</span><span class="identifier">ec</span><span class="special">]);</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="caller_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_yield_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer.html b/doc/html/boost_asio/reference/buffer.html
new file mode 100644
index 0000000000..c467ac4d61
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer.html
@@ -0,0 +1,453 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="basic_yield_context/operator_lb__rb_.html" title="basic_yield_context::operator[]">
+<link rel="next" href="buffer/overload1.html" title="buffer (1 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_yield_context/operator_lb__rb_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffer"></a><a class="link" href="buffer.html" title="buffer">buffer</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp131762432"></a>
+The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code> function is used to create a buffer
+ object to represent raw memory, an array of POD elements, a vector of POD
+ elements, or a std::string.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload1.html" title="buffer (1 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload1.html" title="buffer (1 of 28 overloads)">more...</a></em></span>
+
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload2.html" title="buffer (2 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload2.html" title="buffer (2 of 28 overloads)">more...</a></em></span>
+
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload3.html" title="buffer (3 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload3.html" title="buffer (3 of 28 overloads)">more...</a></em></span>
+
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload4.html" title="buffer (4 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload4.html" title="buffer (4 of 28 overloads)">more...</a></em></span>
+
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload5.html" title="buffer (5 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload5.html" title="buffer (5 of 28 overloads)">more...</a></em></span>
+
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload6.html" title="buffer (6 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload6.html" title="buffer (6 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload7.html" title="buffer (7 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload7.html" title="buffer (7 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload8.html" title="buffer (8 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload8.html" title="buffer (8 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload9.html" title="buffer (9 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload9.html" title="buffer (9 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload10.html" title="buffer (10 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload10.html" title="buffer (10 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload11.html" title="buffer (11 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload11.html" title="buffer (11 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload12.html" title="buffer (12 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload12.html" title="buffer (12 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload13.html" title="buffer (13 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload13.html" title="buffer (13 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload14.html" title="buffer (14 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload14.html" title="buffer (14 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload15.html" title="buffer (15 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload15.html" title="buffer (15 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload16.html" title="buffer (16 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload16.html" title="buffer (16 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload17.html" title="buffer (17 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload17.html" title="buffer (17 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload18.html" title="buffer (18 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload18.html" title="buffer (18 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload19.html" title="buffer (19 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload19.html" title="buffer (19 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload20.html" title="buffer (20 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload20.html" title="buffer (20 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload21.html" title="buffer (21 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload21.html" title="buffer (21 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload22.html" title="buffer (22 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload22.html" title="buffer (22 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload23.html" title="buffer (23 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload23.html" title="buffer (23 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <a class="link" href="buffer/overload24.html" title="buffer (24 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload24.html" title="buffer (24 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload25.html" title="buffer (25 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload25.html" title="buffer (25 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload26.html" title="buffer (26 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload26.html" title="buffer (26 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload27.html" title="buffer (27 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload27.html" title="buffer (27 of 28 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <a class="link" href="buffer/overload28.html" title="buffer (28 of 28 overloads)">buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer/overload28.html" title="buffer (28 of 28 overloads)">more...</a></em></span>
+</pre>
+<p>
+ A buffer object represents a contiguous region of memory as a 2-tuple consisting
+ of a pointer and size in bytes. A tuple of the form <code class="computeroutput"><span class="special">{</span><span class="keyword">void</span><span class="special">*,</span> <span class="identifier">size_t</span><span class="special">}</span></code> specifies a mutable (modifiable) region
+ of memory. Similarly, a tuple of the form <code class="computeroutput"><span class="special">{</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*,</span> <span class="identifier">size_t</span><span class="special">}</span></code> specifies a const (non-modifiable) region
+ of memory. These two forms correspond to the classes <a class="link" href="mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a> and <a class="link" href="const_buffer.html" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>, respectively. To mirror
+ C++'s conversion rules, a <a class="link" href="mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a> is implicitly convertible
+ to a <a class="link" href="const_buffer.html" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>,
+ and the opposite conversion is not permitted.
+ </p>
+<p>
+ The simplest use case involves reading or writing a single buffer of a specified
+ size:
+ </p>
+<pre class="programlisting"><span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ In the above example, the return value of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+ meets the requirements of the ConstBufferSequence concept so that it may
+ be directly passed to the socket's write function. A buffer created for modifiable
+ memory also meets the requirements of the MutableBufferSequence concept.
+ </p>
+<p>
+ An individual buffer may be created from a builtin array, std::vector, std::array
+ or boost::array of POD elements. This helps prevent buffer overruns by automatically
+ determining the size of the buffer:
+ </p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">d1</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
+<span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d1</span><span class="special">));</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">d2</span><span class="special">(</span><span class="number">128</span><span class="special">);</span>
+<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d2</span><span class="special">));</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">d3</span><span class="special">;</span>
+<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d3</span><span class="special">));</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">d4</span><span class="special">;</span>
+<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d4</span><span class="special">));</span>
+</pre>
+<p>
+ In all three cases above, the buffers created are exactly 128 bytes long.
+ Note that a vector is <span class="emphasis"><em>never</em></span> automatically resized when
+ creating or using a buffer. The buffer size is determined using the vector's
+ <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
+ member function, and not its capacity.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.accessing_buffer_contents"></a></span><a class="link" href="buffer.html#boost_asio.reference.buffer.accessing_buffer_contents">Accessing
+ Buffer Contents</a>
+ </h5>
+<p>
+ The contents of a buffer may be accessed using the <a class="link" href="buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
+<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b2</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b2</span><span class="special">);</span>
+<span class="keyword">const</span> <span class="keyword">void</span><span class="special">*</span> <span class="identifier">p2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<p>
+ For convenience, the <a class="link" href="buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> function also works
+ on buffer sequences (that is, types meeting the ConstBufferSequence or MutableBufferSequence
+ type requirements). In this case, the function returns the total size of
+ all buffers in the sequence.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.buffer_copying"></a></span><a class="link" href="buffer.html#boost_asio.reference.buffer.buffer_copying">Buffer
+ Copying</a>
+ </h5>
+<p>
+ The <a class="link" href="buffer_copy.html" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a>
+ function may be used to copy raw bytes between individual buffers and buffer
+ sequences.
+ </p>
+<p>
+ In particular, when used with the <a class="link" href="buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> , the <a class="link" href="buffer_copy.html" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a> function can be used
+ to linearise a sequence of buffers. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">const_buffer</span><span class="special">&gt;</span> <span class="identifier">buffers</span> <span class="special">=</span> <span class="special">...;</span>
+
+<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">buffers</span><span class="special">));</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_copy</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ Note that <a class="link" href="buffer_copy.html" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a> is implemented in terms
+ of <code class="computeroutput"><span class="identifier">memcpy</span></code>, and consequently
+ it cannot be used to copy between overlapping memory regions.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.buffer_invalidation"></a></span><a class="link" href="buffer.html#boost_asio.reference.buffer.buffer_invalidation">Buffer
+ Invalidation</a>
+ </h5>
+<p>
+ A buffer object does not have any ownership of the memory it refers to. It
+ is the responsibility of the application to ensure the memory region remains
+ valid until it is no longer required for an I/O operation. When the memory
+ is no longer available, the buffer is said to have been invalidated.
+ </p>
+<p>
+ For the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code> overloads that accept an argument
+ of type std::vector, the buffer objects returned are invalidated by any vector
+ operation that also invalidates all references, pointers and iterators referring
+ to the elements in the sequence (C++ Std, 23.2.4)
+ </p>
+<p>
+ For the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code> overloads that accept an argument
+ of type std::basic_string, the buffer objects returned are invalidated according
+ to the rules defined for invalidation of references, pointers and iterators
+ referring to elements of the sequence (C++ Std, 21.3).
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.buffer_arithmetic"></a></span><a class="link" href="buffer.html#boost_asio.reference.buffer.buffer_arithmetic">Buffer
+ Arithmetic</a>
+ </h5>
+<p>
+ Buffer objects may be manipulated using simple arithmetic in a safe way which
+ helps prevent buffer overruns. Consider an array initialised as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">6</span><span class="special">&gt;</span> <span class="identifier">a</span> <span class="special">=</span> <span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span> <span class="special">};</span>
+</pre>
+<p>
+ A buffer object <code class="computeroutput"><span class="identifier">b1</span></code> created
+ using:
+ </p>
+<pre class="programlisting"><span class="identifier">b1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+</pre>
+<p>
+ represents the entire array, <code class="computeroutput"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span>
+ <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span> <span class="special">}</span></code>. An optional
+ second argument to the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+ function may be used to limit the size, in bytes, of the buffer:
+ </p>
+<pre class="programlisting"><span class="identifier">b2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
+</pre>
+<p>
+ such that <code class="computeroutput"><span class="identifier">b2</span></code> represents the
+ data <code class="computeroutput"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
+ <span class="char">'c'</span> <span class="special">}</span></code>.
+ Even if the size argument exceeds the actual size of the array, the size
+ of the buffer object created will be limited to the array size.
+ </p>
+<p>
+ An offset may be applied to an existing buffer to create a new one:
+ </p>
+<pre class="programlisting"><span class="identifier">b3</span> <span class="special">=</span> <span class="identifier">b1</span> <span class="special">+</span> <span class="number">2</span><span class="special">;</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">b3</span></code> will set to represent
+ <code class="computeroutput"><span class="special">{</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span>
+ <span class="char">'e'</span> <span class="special">}</span></code>.
+ If the offset exceeds the size of the existing buffer, the newly created
+ buffer will be empty.
+ </p>
+<p>
+ Both an offset and size may be specified to create a buffer that corresponds
+ to a specific range of bytes within an existing buffer:
+ </p>
+<pre class="programlisting"><span class="identifier">b4</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">b1</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
+</pre>
+<p>
+ so that <code class="computeroutput"><span class="identifier">b4</span></code> will refer to
+ the bytes <code class="computeroutput"><span class="special">{</span> <span class="char">'b'</span><span class="special">,</span> <span class="char">'c'</span><span class="special">,</span>
+ <span class="char">'d'</span> <span class="special">}</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.buffers_and_scatter_gather_i_o"></a></span><a class="link" href="buffer.html#boost_asio.reference.buffer.buffers_and_scatter_gather_i_o">Buffers
+ and Scatter-Gather I/O</a>
+ </h5>
+<p>
+ To read or write using multiple buffers (i.e. scatter-gather I/O), multiple
+ buffer objects may be assigned into a container that supports the MutableBufferSequence
+ (for read) or ConstBufferSequence (for write) concepts:
+ </p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">d1</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">d2</span><span class="special">(</span><span class="number">128</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">d3</span><span class="special">;</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">mutable_buffer</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span> <span class="identifier">bufs1</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d1</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d2</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d3</span><span class="special">)</span> <span class="special">};</span>
+<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">bufs1</span><span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">const_buffer</span><span class="special">&gt;</span> <span class="identifier">bufs2</span><span class="special">;</span>
+<span class="identifier">bufs2</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d1</span><span class="special">));</span>
+<span class="identifier">bufs2</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d2</span><span class="special">));</span>
+<span class="identifier">bufs2</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">d3</span><span class="special">));</span>
+<span class="identifier">bytes_transferred</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">bufs2</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.requirements"></a></span><a class="link" href="buffer.html#boost_asio.reference.buffer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_yield_context/operator_lb__rb_.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload1.html b/doc/html/boost_asio/reference/buffer/overload1.html
new file mode 100644
index 0000000000..e11a5bf3a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload1.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (1 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="../buffer.html" title="buffer">
+<link rel="next" href="overload2.html" title="buffer (2 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload1"></a><a class="link" href="overload1.html" title="buffer (1 of 28 overloads)">buffer (1 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer from an existing buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.buffer.overload1.return_value">Return Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">mutable_buffers_1</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../buffer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload10.html b/doc/html/boost_asio/reference/buffer/overload10.html
new file mode 100644
index 0000000000..c6f6c65e19
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload10.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (10 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload9.html" title="buffer (9 of 28 overloads)">
+<link rel="next" href="overload11.html" title="buffer (11 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload9.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload11.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload10"></a><a class="link" href="overload10.html" title="buffer (10 of 28 overloads)">buffer (10
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload10.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload10.return_value"></a></span><a class="link" href="overload10.html#boost_asio.reference.buffer.overload10.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload9.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload11.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload11.html b/doc/html/boost_asio/reference/buffer/overload11.html
new file mode 100644
index 0000000000..c916f32076
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload11.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (11 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload10.html" title="buffer (10 of 28 overloads)">
+<link rel="next" href="overload12.html" title="buffer (12 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload10.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload12.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload11"></a><a class="link" href="overload11.html" title="buffer (11 of 28 overloads)">buffer (11
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload11.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload11.return_value"></a></span><a class="link" href="overload11.html#boost_asio.reference.buffer.overload11.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload10.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload12.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload12.html b/doc/html/boost_asio/reference/buffer/overload12.html
new file mode 100644
index 0000000000..7cd69e94b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload12.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (12 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload11.html" title="buffer (11 of 28 overloads)">
+<link rel="next" href="overload13.html" title="buffer (13 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload11.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload13.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload12"></a><a class="link" href="overload12.html" title="buffer (12 of 28 overloads)">buffer (12
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload12.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload12.return_value"></a></span><a class="link" href="overload12.html#boost_asio.reference.buffer.overload12.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload11.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload13.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload13.html b/doc/html/boost_asio/reference/buffer/overload13.html
new file mode 100644
index 0000000000..e4b57e6148
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload13.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (13 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload12.html" title="buffer (12 of 28 overloads)">
+<link rel="next" href="overload14.html" title="buffer (14 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload12.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload14.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload13"></a><a class="link" href="overload13.html" title="buffer (13 of 28 overloads)">buffer (13
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload13.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload13.return_value"></a></span><a class="link" href="overload13.html#boost_asio.reference.buffer.overload13.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload12.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload14.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload14.html b/doc/html/boost_asio/reference/buffer/overload14.html
new file mode 100644
index 0000000000..38a56a7a25
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload14.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (14 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload13.html" title="buffer (13 of 28 overloads)">
+<link rel="next" href="overload15.html" title="buffer (15 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload13.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload15.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload14"></a><a class="link" href="overload14.html" title="buffer (14 of 28 overloads)">buffer (14
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload14.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload14.return_value"></a></span><a class="link" href="overload14.html#boost_asio.reference.buffer.overload14.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload13.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload15.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload15.html b/doc/html/boost_asio/reference/buffer/overload15.html
new file mode 100644
index 0000000000..1c1690748d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload15.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (15 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload14.html" title="buffer (14 of 28 overloads)">
+<link rel="next" href="overload16.html" title="buffer (16 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload14.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload16.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload15"></a><a class="link" href="overload15.html" title="buffer (15 of 28 overloads)">buffer (15
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload15.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload15.return_value"></a></span><a class="link" href="overload15.html#boost_asio.reference.buffer.overload15.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload14.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload16.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload16.html b/doc/html/boost_asio/reference/buffer/overload16.html
new file mode 100644
index 0000000000..b6b1d9e34b
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload16.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (16 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload15.html" title="buffer (15 of 28 overloads)">
+<link rel="next" href="overload17.html" title="buffer (17 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload15.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload17.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload16"></a><a class="link" href="overload16.html" title="buffer (16 of 28 overloads)">buffer (16
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload16.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload16.return_value"></a></span><a class="link" href="overload16.html#boost_asio.reference.buffer.overload16.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload15.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload17.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload17.html b/doc/html/boost_asio/reference/buffer/overload17.html
new file mode 100644
index 0000000000..0cd16fcd9c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload17.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (17 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload16.html" title="buffer (16 of 28 overloads)">
+<link rel="next" href="overload18.html" title="buffer (18 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload16.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload18.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload17"></a><a class="link" href="overload17.html" title="buffer (17 of 28 overloads)">buffer (17
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload17.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload17.return_value"></a></span><a class="link" href="overload17.html#boost_asio.reference.buffer.overload17.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload16.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload18.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload18.html b/doc/html/boost_asio/reference/buffer/overload18.html
new file mode 100644
index 0000000000..969550ad82
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload18.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (18 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload17.html" title="buffer (17 of 28 overloads)">
+<link rel="next" href="overload19.html" title="buffer (19 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload17.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload19.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload18"></a><a class="link" href="overload18.html" title="buffer (18 of 28 overloads)">buffer (18
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload18.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload18.return_value"></a></span><a class="link" href="overload18.html#boost_asio.reference.buffer.overload18.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload17.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload19.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload19.html b/doc/html/boost_asio/reference/buffer/overload19.html
new file mode 100644
index 0000000000..5ebbdba06f
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload19.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (19 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload18.html" title="buffer (18 of 28 overloads)">
+<link rel="next" href="overload20.html" title="buffer (20 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload18.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload20.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload19"></a><a class="link" href="overload19.html" title="buffer (19 of 28 overloads)">buffer (19
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload19.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload19.return_value"></a></span><a class="link" href="overload19.html#boost_asio.reference.buffer.overload19.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload18.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload20.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload2.html b/doc/html/boost_asio/reference/buffer/overload2.html
new file mode 100644
index 0000000000..e056981bc0
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload2.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (2 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload1.html" title="buffer (1 of 28 overloads)">
+<link rel="next" href="overload3.html" title="buffer (3 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload2"></a><a class="link" href="overload2.html" title="buffer (2 of 28 overloads)">buffer (2 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer from an existing buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.buffer.overload2.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b</span><span class="special">),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload20.html b/doc/html/boost_asio/reference/buffer/overload20.html
new file mode 100644
index 0000000000..451493b4e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload20.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (20 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload19.html" title="buffer (19 of 28 overloads)">
+<link rel="next" href="overload21.html" title="buffer (21 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload19.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload21.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload20"></a><a class="link" href="overload20.html" title="buffer (20 of 28 overloads)">buffer (20
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload20.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload20.return_value"></a></span><a class="link" href="overload20.html#boost_asio.reference.buffer.overload20.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload19.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload21.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload21.html b/doc/html/boost_asio/reference/buffer/overload21.html
new file mode 100644
index 0000000000..9c76c7d81c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload21.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (21 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload20.html" title="buffer (20 of 28 overloads)">
+<link rel="next" href="overload22.html" title="buffer (22 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload20.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload22.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload21"></a><a class="link" href="overload21.html" title="buffer (21 of 28 overloads)">buffer (21
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload21.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload21.return_value"></a></span><a class="link" href="overload21.html#boost_asio.reference.buffer.overload21.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload20.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload22.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload22.html b/doc/html/boost_asio/reference/buffer/overload22.html
new file mode 100644
index 0000000000..8be8e6a369
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload22.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (22 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload21.html" title="buffer (21 of 28 overloads)">
+<link rel="next" href="overload23.html" title="buffer (23 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload21.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload23.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload22"></a><a class="link" href="overload22.html" title="buffer (22 of 28 overloads)">buffer (22
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload22.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload22.return_value"></a></span><a class="link" href="overload22.html#boost_asio.reference.buffer.overload22.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload21.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload23.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload23.html b/doc/html/boost_asio/reference/buffer/overload23.html
new file mode 100644
index 0000000000..85b6b0b264
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload23.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (23 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload22.html" title="buffer (22 of 28 overloads)">
+<link rel="next" href="overload24.html" title="buffer (24 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload22.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload24.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload23"></a><a class="link" href="overload23.html" title="buffer (23 of 28 overloads)">buffer (23
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD vector.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload23.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload23.return_value"></a></span><a class="link" href="overload23.html#boost_asio.reference.buffer.overload23.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload23.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload23.remarks"></a></span><a class="link" href="overload23.html#boost_asio.reference.buffer.overload23.remarks">Remarks</a>
+ </h6>
+<p>
+ The buffer is invalidated by any vector operation that would also invalidate
+ iterators.
+ </p>
+</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 &#169; 2003-2017 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="overload22.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload24.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload24.html b/doc/html/boost_asio/reference/buffer/overload24.html
new file mode 100644
index 0000000000..a6e10b1e2c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload24.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (24 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload23.html" title="buffer (23 of 28 overloads)">
+<link rel="next" href="overload25.html" title="buffer (25 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload23.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload25.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload24"></a><a class="link" href="overload24.html" title="buffer (24 of 28 overloads)">buffer (24
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD vector.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload24.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload24.return_value"></a></span><a class="link" href="overload24.html#boost_asio.reference.buffer.overload24.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload24.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload24.remarks"></a></span><a class="link" href="overload24.html#boost_asio.reference.buffer.overload24.remarks">Remarks</a>
+ </h6>
+<p>
+ The buffer is invalidated by any vector operation that would also invalidate
+ iterators.
+ </p>
+</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 &#169; 2003-2017 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="overload23.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload25.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload25.html b/doc/html/boost_asio/reference/buffer/overload25.html
new file mode 100644
index 0000000000..a8968b1c09
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload25.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (25 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload24.html" title="buffer (24 of 28 overloads)">
+<link rel="next" href="overload26.html" title="buffer (26 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload24.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload26.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload25"></a><a class="link" href="overload25.html" title="buffer (25 of 28 overloads)">buffer (25
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD vector.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload25.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload25.return_value"></a></span><a class="link" href="overload25.html#boost_asio.reference.buffer.overload25.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload25.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload25.remarks"></a></span><a class="link" href="overload25.html#boost_asio.reference.buffer.overload25.remarks">Remarks</a>
+ </h6>
+<p>
+ The buffer is invalidated by any vector operation that would also invalidate
+ iterators.
+ </p>
+</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 &#169; 2003-2017 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="overload24.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload26.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload26.html b/doc/html/boost_asio/reference/buffer/overload26.html
new file mode 100644
index 0000000000..048cb1eaa2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload26.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (26 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload25.html" title="buffer (25 of 28 overloads)">
+<link rel="next" href="overload27.html" title="buffer (27 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload25.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload27.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload26"></a><a class="link" href="overload26.html" title="buffer (26 of 28 overloads)">buffer (26
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD vector.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span> <span class="identifier">PodType</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload26.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload26.return_value"></a></span><a class="link" href="overload26.html#boost_asio.reference.buffer.overload26.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">?</span> <span class="special">&amp;</span><span class="identifier">data</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">:</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload26.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload26.remarks"></a></span><a class="link" href="overload26.html#boost_asio.reference.buffer.overload26.remarks">Remarks</a>
+ </h6>
+<p>
+ The buffer is invalidated by any vector operation that would also invalidate
+ iterators.
+ </p>
+</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 &#169; 2003-2017 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="overload25.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload27.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload27.html b/doc/html/boost_asio/reference/buffer/overload27.html
new file mode 100644
index 0000000000..6db5482868
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload27.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (27 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload26.html" title="buffer (26 of 28 overloads)">
+<link rel="next" href="overload28.html" title="buffer (28 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload26.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload28.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload27"></a><a class="link" href="overload27.html" title="buffer (27 of 28 overloads)">buffer (27
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given string.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload27.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload27.return_value"></a></span><a class="link" href="overload27.html#boost_asio.reference.buffer.overload27.return_value">Return Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">const_buffers_1</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">Elem</span><span class="special">))</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer.overload27.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload27.remarks"></a></span><a class="link" href="overload27.html#boost_asio.reference.buffer.overload27.remarks">Remarks</a>
+ </h6>
+<p>
+ The buffer is invalidated by any non-const operation called on the given
+ string object.
+ </p>
+</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 &#169; 2003-2017 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="overload26.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload28.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload28.html b/doc/html/boost_asio/reference/buffer/overload28.html
new file mode 100644
index 0000000000..5051c7ccb2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload28.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (28 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload27.html" title="buffer (27 of 28 overloads)">
+<link rel="next" href="../buffer_cast.html" title="buffer_cast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload27.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer_cast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload28"></a><a class="link" href="overload28.html" title="buffer (28 of 28 overloads)">buffer (28
+ of 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given string.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload28.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload28.return_value"></a></span><a class="link" href="overload28.html#boost_asio.reference.buffer.overload28.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">data</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">Elem</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload28.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload28.remarks"></a></span><a class="link" href="overload28.html#boost_asio.reference.buffer.overload28.remarks">Remarks</a>
+ </h6>
+<p>
+ The buffer is invalidated by any non-const operation called on the given
+ string object.
+ </p>
+</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 &#169; 2003-2017 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="overload27.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer_cast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload3.html b/doc/html/boost_asio/reference/buffer/overload3.html
new file mode 100644
index 0000000000..10b4e25241
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload3.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (3 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload2.html" title="buffer (2 of 28 overloads)">
+<link rel="next" href="overload4.html" title="buffer (4 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload3"></a><a class="link" href="overload3.html" title="buffer (3 of 28 overloads)">buffer (3 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer from an existing buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.buffer.overload3.return_value">Return Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">const_buffers_1</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload4.html b/doc/html/boost_asio/reference/buffer/overload4.html
new file mode 100644
index 0000000000..0f07ede541
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload4.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (4 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload3.html" title="buffer (3 of 28 overloads)">
+<link rel="next" href="overload5.html" title="buffer (5 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload4"></a><a class="link" href="overload4.html" title="buffer (4 of 28 overloads)">buffer (4 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer from an existing buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.buffer.overload4.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">b</span><span class="special">),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload5.html b/doc/html/boost_asio/reference/buffer/overload5.html
new file mode 100644
index 0000000000..1c308c5fc1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload5.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (5 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload4.html" title="buffer (4 of 28 overloads)">
+<link rel="next" href="overload6.html" title="buffer (6 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload5"></a><a class="link" href="overload5.html" title="buffer (5 of 28 overloads)">buffer (5 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given memory range.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.buffer.overload5.return_value">Return Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">mutable_buffers_1</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size_in_bytes</span><span class="special">)</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload6.html b/doc/html/boost_asio/reference/buffer/overload6.html
new file mode 100644
index 0000000000..0146f9e589
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload6.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (6 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload5.html" title="buffer (5 of 28 overloads)">
+<link rel="next" href="overload7.html" title="buffer (7 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload6"></a><a class="link" href="overload6.html" title="buffer (6 of 28 overloads)">buffer (6 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given memory range.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.buffer.overload6.return_value">Return Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">const_buffers_1</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size_in_bytes</span><span class="special">)</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload7.html b/doc/html/boost_asio/reference/buffer/overload7.html
new file mode 100644
index 0000000000..c9c4cf2ab1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload7.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (7 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload6.html" title="buffer (6 of 28 overloads)">
+<link rel="next" href="overload8.html" title="buffer (8 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload7"></a><a class="link" href="overload7.html" title="buffer (7 of 28 overloads)">buffer (7 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.buffer.overload7.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
+ <span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload8.html b/doc/html/boost_asio/reference/buffer/overload8.html
new file mode 100644
index 0000000000..a03ecfb8d8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload8.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (8 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload7.html" title="buffer (7 of 28 overloads)">
+<link rel="next" href="overload9.html" title="buffer (9 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload9.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload8"></a><a class="link" href="overload8.html" title="buffer (8 of 28 overloads)">buffer (8 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">mutable_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_size_in_bytes</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.buffer.overload8.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../mutable_buffers_1.html" title="mutable_buffers_1"><code class="computeroutput"><span class="identifier">mutable_buffers_1</span></code></a> value equivalent
+ to:
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
+ <span class="identifier">min</span><span class="special">(</span><span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">),</span> <span class="identifier">max_size_in_bytes</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload9.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer/overload9.html b/doc/html/boost_asio/reference/buffer/overload9.html
new file mode 100644
index 0000000000..07d945188a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer/overload9.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer (9 of 28 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer.html" title="buffer">
+<link rel="prev" href="overload8.html" title="buffer (8 of 28 overloads)">
+<link rel="next" href="overload10.html" title="buffer (10 of 28 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload8.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload10.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer.overload9"></a><a class="link" href="overload9.html" title="buffer (9 of 28 overloads)">buffer (9 of
+ 28 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a new non-modifiable buffer that represents the given POD array.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PodType</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">const_buffers_1</span> <span class="identifier">buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">PodType</span> <span class="special">(&amp;</span><span class="identifier">data</span><span class="special">)[</span><span class="identifier">N</span><span class="special">]);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer.overload9.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer.overload9.return_value"></a></span><a class="link" href="overload9.html#boost_asio.reference.buffer.overload9.return_value">Return Value</a>
+ </h6>
+<p>
+ A <a class="link" href="../const_buffers_1.html" title="const_buffers_1"><code class="computeroutput"><span class="identifier">const_buffers_1</span></code></a>
+ value equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">data</span><span class="special">),</span>
+ <span class="identifier">N</span> <span class="special">*</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">PodType</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload8.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload10.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_cast.html b/doc/html/boost_asio/reference/buffer_cast.html
new file mode 100644
index 0000000000..253327211f
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_cast.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_cast</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffer/overload28.html" title="buffer (28 of 28 overloads)">
+<link rel="next" href="buffer_cast/overload1.html" title="buffer_cast (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffer/overload28.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer_cast/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffer_cast"></a><a class="link" href="buffer_cast.html" title="buffer_cast">buffer_cast</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp133475792"></a>
+The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function is used to obtain
+ a pointer to the underlying memory region associated with a buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
+<span class="identifier">PointerToPodType</span> <a class="link" href="buffer_cast/overload1.html" title="buffer_cast (1 of 2 overloads)">buffer_cast</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_cast/overload1.html" title="buffer_cast (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
+<span class="identifier">PointerToPodType</span> <a class="link" href="buffer_cast/overload2.html" title="buffer_cast (2 of 2 overloads)">buffer_cast</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_cast/overload2.html" title="buffer_cast (2 of 2 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffer_cast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_cast.examples_"></a></span><a class="link" href="buffer_cast.html#boost_asio.reference.buffer_cast.examples_">Examples:</a>
+ </h5>
+<p>
+ To access the memory of a non-modifiable buffer, use:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+</pre>
+<p>
+ To access the memory of a modifiable buffer, use:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b2</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b2</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer_cast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_cast.requirements"></a></span><a class="link" href="buffer_cast.html#boost_asio.reference.buffer_cast.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffer/overload28.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer_cast/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_cast/overload1.html b/doc/html/boost_asio/reference/buffer_cast/overload1.html
new file mode 100644
index 0000000000..9830a7bca6
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_cast/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_cast (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_cast.html" title="buffer_cast">
+<link rel="prev" href="../buffer_cast.html" title="buffer_cast">
+<link rel="next" href="overload2.html" title="buffer_cast (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffer_cast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_cast.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_cast.overload1"></a><a class="link" href="overload1.html" title="buffer_cast (1 of 2 overloads)">buffer_cast
+ (1 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Cast a non-modifiable buffer to a specified pointer to POD type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
+<span class="identifier">PointerToPodType</span> <span class="identifier">buffer_cast</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffer_cast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_cast.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_cast/overload2.html b/doc/html/boost_asio/reference/buffer_cast/overload2.html
new file mode 100644
index 0000000000..e2dc529316
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_cast/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_cast (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_cast.html" title="buffer_cast">
+<link rel="prev" href="overload1.html" title="buffer_cast (1 of 2 overloads)">
+<link rel="next" href="../buffer_copy.html" title="buffer_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_cast.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer_copy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_cast.overload2"></a><a class="link" href="overload2.html" title="buffer_cast (2 of 2 overloads)">buffer_cast
+ (2 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Cast a non-modifiable buffer to a specified pointer to POD type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PointerToPodType</span><span class="special">&gt;</span>
+<span class="identifier">PointerToPodType</span> <span class="identifier">buffer_cast</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_cast.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer_copy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy.html b/doc/html/boost_asio/reference/buffer_copy.html
new file mode 100644
index 0000000000..52f96d7060
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy.html
@@ -0,0 +1,289 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffer_cast/overload2.html" title="buffer_cast (2 of 2 overloads)">
+<link rel="next" href="buffer_copy/overload1.html" title="buffer_copy (1 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffer_cast/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer_copy/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffer_copy"></a><a class="link" href="buffer_copy.html" title="buffer_copy">buffer_copy</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp133570160"></a>
+The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_copy</span></code> function is used to copy bytes
+ from a source buffer (or buffer sequence) to a target buffer (or buffer sequence).
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload1.html" title="buffer_copy (1 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload1.html" title="buffer_copy (1 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload2.html" title="buffer_copy (2 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload2.html" title="buffer_copy (2 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload3.html" title="buffer_copy (3 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload3.html" title="buffer_copy (3 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload4.html" title="buffer_copy (4 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload4.html" title="buffer_copy (4 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload5.html" title="buffer_copy (5 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload5.html" title="buffer_copy (5 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload6.html" title="buffer_copy (6 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload6.html" title="buffer_copy (6 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload7.html" title="buffer_copy (7 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload7.html" title="buffer_copy (7 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload8.html" title="buffer_copy (8 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload8.html" title="buffer_copy (8 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload9.html" title="buffer_copy (9 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload9.html" title="buffer_copy (9 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload10.html" title="buffer_copy (10 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload10.html" title="buffer_copy (10 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload11.html" title="buffer_copy (11 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload11.html" title="buffer_copy (11 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload12.html" title="buffer_copy (12 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload12.html" title="buffer_copy (12 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload13.html" title="buffer_copy (13 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload13.html" title="buffer_copy (13 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload14.html" title="buffer_copy (14 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload14.html" title="buffer_copy (14 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload15.html" title="buffer_copy (15 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload15.html" title="buffer_copy (15 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload16.html" title="buffer_copy (16 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload16.html" title="buffer_copy (16 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload17.html" title="buffer_copy (17 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload17.html" title="buffer_copy (17 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload18.html" title="buffer_copy (18 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload18.html" title="buffer_copy (18 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload19.html" title="buffer_copy (19 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload19.html" title="buffer_copy (19 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload20.html" title="buffer_copy (20 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload20.html" title="buffer_copy (20 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload21.html" title="buffer_copy (21 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload21.html" title="buffer_copy (21 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload22.html" title="buffer_copy (22 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload22.html" title="buffer_copy (22 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload23.html" title="buffer_copy (23 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload23.html" title="buffer_copy (23 of 30 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload24.html" title="buffer_copy (24 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload24.html" title="buffer_copy (24 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload25.html" title="buffer_copy (25 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload25.html" title="buffer_copy (25 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload26.html" title="buffer_copy (26 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload26.html" title="buffer_copy (26 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload27.html" title="buffer_copy (27 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload27.html" title="buffer_copy (27 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload28.html" title="buffer_copy (28 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload28.html" title="buffer_copy (28 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload29.html" title="buffer_copy (29 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload29.html" title="buffer_copy (29 of 30 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_copy/overload30.html" title="buffer_copy (30 of 30 overloads)">buffer_copy</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_copy/overload30.html" title="buffer_copy (30 of 30 overloads)">more...</a></em></span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">buffer_copy</span></code> function
+ is available in two forms:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A 2-argument form: <code class="computeroutput"><span class="identifier">buffer_copy</span><span class="special">(</span><span class="identifier">target</span><span class="special">,</span> <span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ A 3-argument form: <code class="computeroutput"><span class="identifier">buffer_copy</span><span class="special">(</span><span class="identifier">target</span><span class="special">,</span> <span class="identifier">source</span><span class="special">,</span> <span class="identifier">max_bytes_to_copy</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ Both forms return the number of bytes actually copied. The number of bytes
+ copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">If</span></code> specified, <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>.
+ </li>
+</ul></div>
+<p>
+ This prevents buffer overflow, regardless of the buffer sizes used in the
+ copy operation.
+ </p>
+<p>
+ Note that <a class="link" href="buffer_copy.html" title="buffer_copy"><code class="computeroutput"><span class="identifier">buffer_copy</span></code></a> is implemented in terms
+ of <code class="computeroutput"><span class="identifier">memcpy</span></code>, and consequently
+ it cannot be used to copy between overlapping memory regions.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffer_copy.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.requirements"></a></span><a class="link" href="buffer_copy.html#boost_asio.reference.buffer_copy.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffer_cast/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer_copy/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload1.html b/doc/html/boost_asio/reference/buffer_copy/overload1.html
new file mode 100644
index 0000000000..5968ae6a5f
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (1 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="../buffer_copy.html" title="buffer_copy">
+<link rel="next" href="overload2.html" title="buffer_copy (2 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffer_copy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload1"></a><a class="link" href="overload1.html" title="buffer_copy (1 of 30 overloads)">buffer_copy
+ (1 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.buffer_copy.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.buffer_copy.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.buffer_copy.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="../buffer_copy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload10.html b/doc/html/boost_asio/reference/buffer_copy/overload10.html
new file mode 100644
index 0000000000..b230bd5975
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload10.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (10 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload9.html" title="buffer_copy (9 of 30 overloads)">
+<link rel="next" href="overload11.html" title="buffer_copy (11 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload9.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload11.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload10"></a><a class="link" href="overload10.html" title="buffer_copy (10 of 30 overloads)">buffer_copy
+ (10 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer sequence to a target buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload10.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload10.parameters"></a></span><a class="link" href="overload10.html#boost_asio.reference.buffer_copy.overload10.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer sequence representing the memory regions
+ from which the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload10.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload10.return_value"></a></span><a class="link" href="overload10.html#boost_asio.reference.buffer_copy.overload10.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload10.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload10.remarks"></a></span><a class="link" href="overload10.html#boost_asio.reference.buffer_copy.overload10.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload9.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload11.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload11.html b/doc/html/boost_asio/reference/buffer_copy/overload11.html
new file mode 100644
index 0000000000..8e5f5dd82b
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload11.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (11 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload10.html" title="buffer_copy (10 of 30 overloads)">
+<link rel="next" href="overload12.html" title="buffer_copy (12 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload10.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload12.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload11"></a><a class="link" href="overload11.html" title="buffer_copy (11 of 30 overloads)">buffer_copy
+ (11 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload11.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload11.parameters"></a></span><a class="link" href="overload11.html#boost_asio.reference.buffer_copy.overload11.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload11.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload11.return_value"></a></span><a class="link" href="overload11.html#boost_asio.reference.buffer_copy.overload11.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload11.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload11.remarks"></a></span><a class="link" href="overload11.html#boost_asio.reference.buffer_copy.overload11.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload10.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload12.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload12.html b/doc/html/boost_asio/reference/buffer_copy/overload12.html
new file mode 100644
index 0000000000..ef3400d570
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload12.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (12 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload11.html" title="buffer_copy (11 of 30 overloads)">
+<link rel="next" href="overload13.html" title="buffer_copy (13 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload11.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload13.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload12"></a><a class="link" href="overload12.html" title="buffer_copy (12 of 30 overloads)">buffer_copy
+ (12 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload12.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload12.parameters"></a></span><a class="link" href="overload12.html#boost_asio.reference.buffer_copy.overload12.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload12.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload12.return_value"></a></span><a class="link" href="overload12.html#boost_asio.reference.buffer_copy.overload12.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload12.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload12.remarks"></a></span><a class="link" href="overload12.html#boost_asio.reference.buffer_copy.overload12.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload11.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload13.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload13.html b/doc/html/boost_asio/reference/buffer_copy/overload13.html
new file mode 100644
index 0000000000..7678de022e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload13.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (13 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload12.html" title="buffer_copy (12 of 30 overloads)">
+<link rel="next" href="overload14.html" title="buffer_copy (14 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload12.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload14.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload13"></a><a class="link" href="overload13.html" title="buffer_copy (13 of 30 overloads)">buffer_copy
+ (13 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload13.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload13.parameters"></a></span><a class="link" href="overload13.html#boost_asio.reference.buffer_copy.overload13.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload13.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload13.return_value"></a></span><a class="link" href="overload13.html#boost_asio.reference.buffer_copy.overload13.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload13.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload13.remarks"></a></span><a class="link" href="overload13.html#boost_asio.reference.buffer_copy.overload13.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload12.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload14.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload14.html b/doc/html/boost_asio/reference/buffer_copy/overload14.html
new file mode 100644
index 0000000000..8b532d4ee8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload14.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (14 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload13.html" title="buffer_copy (13 of 30 overloads)">
+<link rel="next" href="overload15.html" title="buffer_copy (15 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload13.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload15.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload14"></a><a class="link" href="overload14.html" title="buffer_copy (14 of 30 overloads)">buffer_copy
+ (14 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload14.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload14.parameters"></a></span><a class="link" href="overload14.html#boost_asio.reference.buffer_copy.overload14.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload14.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload14.return_value"></a></span><a class="link" href="overload14.html#boost_asio.reference.buffer_copy.overload14.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload14.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload14.remarks"></a></span><a class="link" href="overload14.html#boost_asio.reference.buffer_copy.overload14.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload13.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload15.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload15.html b/doc/html/boost_asio/reference/buffer_copy/overload15.html
new file mode 100644
index 0000000000..27145b7ef7
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload15.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (15 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload14.html" title="buffer_copy (14 of 30 overloads)">
+<link rel="next" href="overload16.html" title="buffer_copy (16 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload14.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload16.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload15"></a><a class="link" href="overload15.html" title="buffer_copy (15 of 30 overloads)">buffer_copy
+ (15 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer sequence to a target buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload15.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload15.parameters"></a></span><a class="link" href="overload15.html#boost_asio.reference.buffer_copy.overload15.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer sequence representing the memory regions
+ from which the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload15.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload15.return_value"></a></span><a class="link" href="overload15.html#boost_asio.reference.buffer_copy.overload15.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload15.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload15.remarks"></a></span><a class="link" href="overload15.html#boost_asio.reference.buffer_copy.overload15.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload14.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload16.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload16.html b/doc/html/boost_asio/reference/buffer_copy/overload16.html
new file mode 100644
index 0000000000..faea540963
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload16.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (16 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload15.html" title="buffer_copy (15 of 30 overloads)">
+<link rel="next" href="overload17.html" title="buffer_copy (17 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload15.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload17.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload16"></a><a class="link" href="overload16.html" title="buffer_copy (16 of 30 overloads)">buffer_copy
+ (16 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload16.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload16.parameters"></a></span><a class="link" href="overload16.html#boost_asio.reference.buffer_copy.overload16.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload16.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload16.return_value"></a></span><a class="link" href="overload16.html#boost_asio.reference.buffer_copy.overload16.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload16.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload16.remarks"></a></span><a class="link" href="overload16.html#boost_asio.reference.buffer_copy.overload16.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload15.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload17.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload17.html b/doc/html/boost_asio/reference/buffer_copy/overload17.html
new file mode 100644
index 0000000000..de94bd11d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload17.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (17 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload16.html" title="buffer_copy (16 of 30 overloads)">
+<link rel="next" href="overload18.html" title="buffer_copy (18 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload16.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload18.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload17"></a><a class="link" href="overload17.html" title="buffer_copy (17 of 30 overloads)">buffer_copy
+ (17 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload17.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload17.parameters"></a></span><a class="link" href="overload17.html#boost_asio.reference.buffer_copy.overload17.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload17.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload17.return_value"></a></span><a class="link" href="overload17.html#boost_asio.reference.buffer_copy.overload17.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload17.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload17.remarks"></a></span><a class="link" href="overload17.html#boost_asio.reference.buffer_copy.overload17.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload16.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload18.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload18.html b/doc/html/boost_asio/reference/buffer_copy/overload18.html
new file mode 100644
index 0000000000..f72f12faa8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload18.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (18 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload17.html" title="buffer_copy (17 of 30 overloads)">
+<link rel="next" href="overload19.html" title="buffer_copy (19 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload17.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload19.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload18"></a><a class="link" href="overload18.html" title="buffer_copy (18 of 30 overloads)">buffer_copy
+ (18 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload18.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload18.parameters"></a></span><a class="link" href="overload18.html#boost_asio.reference.buffer_copy.overload18.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload18.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload18.return_value"></a></span><a class="link" href="overload18.html#boost_asio.reference.buffer_copy.overload18.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload18.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload18.remarks"></a></span><a class="link" href="overload18.html#boost_asio.reference.buffer_copy.overload18.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload17.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload19.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload19.html b/doc/html/boost_asio/reference/buffer_copy/overload19.html
new file mode 100644
index 0000000000..d66f641f2a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload19.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (19 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload18.html" title="buffer_copy (18 of 30 overloads)">
+<link rel="next" href="overload20.html" title="buffer_copy (20 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload18.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload20.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload19"></a><a class="link" href="overload19.html" title="buffer_copy (19 of 30 overloads)">buffer_copy
+ (19 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload19.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload19.parameters"></a></span><a class="link" href="overload19.html#boost_asio.reference.buffer_copy.overload19.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload19.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload19.return_value"></a></span><a class="link" href="overload19.html#boost_asio.reference.buffer_copy.overload19.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload19.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload19.remarks"></a></span><a class="link" href="overload19.html#boost_asio.reference.buffer_copy.overload19.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload18.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload20.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload2.html b/doc/html/boost_asio/reference/buffer_copy/overload2.html
new file mode 100644
index 0000000000..c5ae2ee20a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload2.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (2 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload1.html" title="buffer_copy (1 of 30 overloads)">
+<link rel="next" href="overload3.html" title="buffer_copy (3 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload2"></a><a class="link" href="overload2.html" title="buffer_copy (2 of 30 overloads)">buffer_copy
+ (2 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.buffer_copy.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.buffer_copy.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.buffer_copy.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload20.html b/doc/html/boost_asio/reference/buffer_copy/overload20.html
new file mode 100644
index 0000000000..71783a7a57
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload20.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (20 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload19.html" title="buffer_copy (19 of 30 overloads)">
+<link rel="next" href="overload21.html" title="buffer_copy (21 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload19.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload21.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload20"></a><a class="link" href="overload20.html" title="buffer_copy (20 of 30 overloads)">buffer_copy
+ (20 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer sequence to a target
+ buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload20.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload20.parameters"></a></span><a class="link" href="overload20.html#boost_asio.reference.buffer_copy.overload20.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer sequence representing the memory regions
+ from which the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload20.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload20.return_value"></a></span><a class="link" href="overload20.html#boost_asio.reference.buffer_copy.overload20.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload20.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload20.remarks"></a></span><a class="link" href="overload20.html#boost_asio.reference.buffer_copy.overload20.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload19.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload21.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload21.html b/doc/html/boost_asio/reference/buffer_copy/overload21.html
new file mode 100644
index 0000000000..dd049f8e2d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload21.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (21 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload20.html" title="buffer_copy (20 of 30 overloads)">
+<link rel="next" href="overload22.html" title="buffer_copy (22 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload20.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload22.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload21"></a><a class="link" href="overload21.html" title="buffer_copy (21 of 30 overloads)">buffer_copy
+ (21 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload21.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload21.parameters"></a></span><a class="link" href="overload21.html#boost_asio.reference.buffer_copy.overload21.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload21.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload21.return_value"></a></span><a class="link" href="overload21.html#boost_asio.reference.buffer_copy.overload21.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload21.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload21.remarks"></a></span><a class="link" href="overload21.html#boost_asio.reference.buffer_copy.overload21.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload20.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload22.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload22.html b/doc/html/boost_asio/reference/buffer_copy/overload22.html
new file mode 100644
index 0000000000..4d3770c82e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload22.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (22 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload21.html" title="buffer_copy (21 of 30 overloads)">
+<link rel="next" href="overload23.html" title="buffer_copy (23 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload21.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload23.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload22"></a><a class="link" href="overload22.html" title="buffer_copy (22 of 30 overloads)">buffer_copy
+ (22 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload22.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload22.parameters"></a></span><a class="link" href="overload22.html#boost_asio.reference.buffer_copy.overload22.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload22.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload22.return_value"></a></span><a class="link" href="overload22.html#boost_asio.reference.buffer_copy.overload22.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload22.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload22.remarks"></a></span><a class="link" href="overload22.html#boost_asio.reference.buffer_copy.overload22.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload21.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload23.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload23.html b/doc/html/boost_asio/reference/buffer_copy/overload23.html
new file mode 100644
index 0000000000..9b080e7637
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload23.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (23 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload22.html" title="buffer_copy (22 of 30 overloads)">
+<link rel="next" href="overload24.html" title="buffer_copy (24 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload22.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload24.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload23"></a><a class="link" href="overload23.html" title="buffer_copy (23 of 30 overloads)">buffer_copy
+ (23 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload23.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload23.parameters"></a></span><a class="link" href="overload23.html#boost_asio.reference.buffer_copy.overload23.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload23.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload23.return_value"></a></span><a class="link" href="overload23.html#boost_asio.reference.buffer_copy.overload23.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload23.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload23.remarks"></a></span><a class="link" href="overload23.html#boost_asio.reference.buffer_copy.overload23.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload22.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload24.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload24.html b/doc/html/boost_asio/reference/buffer_copy/overload24.html
new file mode 100644
index 0000000000..7f01ba80e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload24.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (24 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload23.html" title="buffer_copy (23 of 30 overloads)">
+<link rel="next" href="overload25.html" title="buffer_copy (25 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload23.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload25.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload24"></a><a class="link" href="overload24.html" title="buffer_copy (24 of 30 overloads)">buffer_copy
+ (24 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload24.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload24.parameters"></a></span><a class="link" href="overload24.html#boost_asio.reference.buffer_copy.overload24.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload24.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload24.return_value"></a></span><a class="link" href="overload24.html#boost_asio.reference.buffer_copy.overload24.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload24.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload24.remarks"></a></span><a class="link" href="overload24.html#boost_asio.reference.buffer_copy.overload24.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload23.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload25.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload25.html b/doc/html/boost_asio/reference/buffer_copy/overload25.html
new file mode 100644
index 0000000000..730f883a65
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload25.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (25 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload24.html" title="buffer_copy (24 of 30 overloads)">
+<link rel="next" href="overload26.html" title="buffer_copy (26 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload24.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload26.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload25"></a><a class="link" href="overload25.html" title="buffer_copy (25 of 30 overloads)">buffer_copy
+ (25 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer sequence to a target
+ buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload25.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload25.parameters"></a></span><a class="link" href="overload25.html#boost_asio.reference.buffer_copy.overload25.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer sequence representing the memory regions
+ from which the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload25.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload25.return_value"></a></span><a class="link" href="overload25.html#boost_asio.reference.buffer_copy.overload25.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload25.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload25.remarks"></a></span><a class="link" href="overload25.html#boost_asio.reference.buffer_copy.overload25.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload24.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload26.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload26.html b/doc/html/boost_asio/reference/buffer_copy/overload26.html
new file mode 100644
index 0000000000..d4a7ee0c64
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload26.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (26 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload25.html" title="buffer_copy (25 of 30 overloads)">
+<link rel="next" href="overload27.html" title="buffer_copy (27 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload25.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload27.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload26"></a><a class="link" href="overload26.html" title="buffer_copy (26 of 30 overloads)">buffer_copy
+ (26 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer
+ sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload26.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload26.parameters"></a></span><a class="link" href="overload26.html#boost_asio.reference.buffer_copy.overload26.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload26.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload26.return_value"></a></span><a class="link" href="overload26.html#boost_asio.reference.buffer_copy.overload26.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload26.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload26.remarks"></a></span><a class="link" href="overload26.html#boost_asio.reference.buffer_copy.overload26.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload25.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload27.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload27.html b/doc/html/boost_asio/reference/buffer_copy/overload27.html
new file mode 100644
index 0000000000..87ee3ed2e0
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload27.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (27 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload26.html" title="buffer_copy (26 of 30 overloads)">
+<link rel="next" href="overload28.html" title="buffer_copy (28 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload26.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload28.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload27"></a><a class="link" href="overload27.html" title="buffer_copy (27 of 30 overloads)">buffer_copy
+ (27 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer
+ sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload27.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload27.parameters"></a></span><a class="link" href="overload27.html#boost_asio.reference.buffer_copy.overload27.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload27.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload27.return_value"></a></span><a class="link" href="overload27.html#boost_asio.reference.buffer_copy.overload27.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload27.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload27.remarks"></a></span><a class="link" href="overload27.html#boost_asio.reference.buffer_copy.overload27.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload26.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload28.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload28.html b/doc/html/boost_asio/reference/buffer_copy/overload28.html
new file mode 100644
index 0000000000..3d607306db
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload28.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (28 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload27.html" title="buffer_copy (27 of 30 overloads)">
+<link rel="next" href="overload29.html" title="buffer_copy (29 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload27.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload29.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload28"></a><a class="link" href="overload28.html" title="buffer_copy (28 of 30 overloads)">buffer_copy
+ (28 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer
+ sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload28.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload28.parameters"></a></span><a class="link" href="overload28.html#boost_asio.reference.buffer_copy.overload28.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload28.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload28.return_value"></a></span><a class="link" href="overload28.html#boost_asio.reference.buffer_copy.overload28.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload28.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload28.remarks"></a></span><a class="link" href="overload28.html#boost_asio.reference.buffer_copy.overload28.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload27.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload29.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload29.html b/doc/html/boost_asio/reference/buffer_copy/overload29.html
new file mode 100644
index 0000000000..c7166056a0
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload29.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (29 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload28.html" title="buffer_copy (28 of 30 overloads)">
+<link rel="next" href="overload30.html" title="buffer_copy (30 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload28.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload30.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload29"></a><a class="link" href="overload29.html" title="buffer_copy (29 of 30 overloads)">buffer_copy
+ (29 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer to a target buffer
+ sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload29.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload29.parameters"></a></span><a class="link" href="overload29.html#boost_asio.reference.buffer_copy.overload29.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload29.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload29.return_value"></a></span><a class="link" href="overload29.html#boost_asio.reference.buffer_copy.overload29.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload29.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload29.remarks"></a></span><a class="link" href="overload29.html#boost_asio.reference.buffer_copy.overload29.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload28.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload30.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload3.html b/doc/html/boost_asio/reference/buffer_copy/overload3.html
new file mode 100644
index 0000000000..bafb1e00e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload3.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (3 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload2.html" title="buffer_copy (2 of 30 overloads)">
+<link rel="next" href="overload4.html" title="buffer_copy (4 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload3"></a><a class="link" href="overload3.html" title="buffer_copy (3 of 30 overloads)">buffer_copy
+ (3 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.buffer_copy.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.buffer_copy.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.buffer_copy.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload30.html b/doc/html/boost_asio/reference/buffer_copy/overload30.html
new file mode 100644
index 0000000000..2c6446a8cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload30.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (30 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload29.html" title="buffer_copy (29 of 30 overloads)">
+<link rel="next" href="../buffer_size.html" title="buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload29.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload30"></a><a class="link" href="overload30.html" title="buffer_copy (30 of 30 overloads)">buffer_copy
+ (30 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies a limited number of bytes from a source buffer sequence to a target
+ buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_bytes_to_copy</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload30.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload30.parameters"></a></span><a class="link" href="overload30.html#boost_asio.reference.buffer_copy.overload30.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer sequence representing the memory regions to which
+ the bytes will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer sequence representing the memory regions
+ from which the bytes will be copied.
+ </p></dd>
+<dt><span class="term">max_bytes_to_copy</span></dt>
+<dd><p>
+ The maximum number of bytes to be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload30.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload30.return_value"></a></span><a class="link" href="overload30.html#boost_asio.reference.buffer_copy.overload30.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload30.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload30.remarks"></a></span><a class="link" href="overload30.html#boost_asio.reference.buffer_copy.overload30.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">max_bytes_to_copy</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload29.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload4.html b/doc/html/boost_asio/reference/buffer_copy/overload4.html
new file mode 100644
index 0000000000..ef58ae4a01
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload4.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (4 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload3.html" title="buffer_copy (3 of 30 overloads)">
+<link rel="next" href="overload5.html" title="buffer_copy (5 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload4"></a><a class="link" href="overload4.html" title="buffer_copy (4 of 30 overloads)">buffer_copy
+ (4 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.buffer_copy.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.buffer_copy.overload4.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload4.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload4.remarks"></a></span><a class="link" href="overload4.html#boost_asio.reference.buffer_copy.overload4.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload5.html b/doc/html/boost_asio/reference/buffer_copy/overload5.html
new file mode 100644
index 0000000000..ffe57816da
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload5.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (5 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload4.html" title="buffer_copy (4 of 30 overloads)">
+<link rel="next" href="overload6.html" title="buffer_copy (6 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload5"></a><a class="link" href="overload5.html" title="buffer_copy (5 of 30 overloads)">buffer_copy
+ (5 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer sequence to a target buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.buffer_copy.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer sequence representing the memory regions
+ from which the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.buffer_copy.overload5.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.buffer_copy.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload6.html b/doc/html/boost_asio/reference/buffer_copy/overload6.html
new file mode 100644
index 0000000000..f6017a3cad
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload6.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (6 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload5.html" title="buffer_copy (5 of 30 overloads)">
+<link rel="next" href="overload7.html" title="buffer_copy (7 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload6"></a><a class="link" href="overload6.html" title="buffer_copy (6 of 30 overloads)">buffer_copy
+ (6 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.buffer_copy.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.buffer_copy.overload6.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.buffer_copy.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload7.html b/doc/html/boost_asio/reference/buffer_copy/overload7.html
new file mode 100644
index 0000000000..9ce36f794e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload7.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (7 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload6.html" title="buffer_copy (6 of 30 overloads)">
+<link rel="next" href="overload8.html" title="buffer_copy (8 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload7"></a><a class="link" href="overload7.html" title="buffer_copy (7 of 30 overloads)">buffer_copy
+ (7 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.buffer_copy.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A non-modifiable buffer representing the memory region from which
+ the bytes will be copied.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.buffer_copy.overload7.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload7.remarks"></a></span><a class="link" href="overload7.html#boost_asio.reference.buffer_copy.overload7.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload8.html b/doc/html/boost_asio/reference/buffer_copy/overload8.html
new file mode 100644
index 0000000000..a6119b9490
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload8.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (8 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload7.html" title="buffer_copy (7 of 30 overloads)">
+<link rel="next" href="overload9.html" title="buffer_copy (9 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload9.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload8"></a><a class="link" href="overload8.html" title="buffer_copy (8 of 30 overloads)">buffer_copy
+ (8 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.buffer_copy.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.buffer_copy.overload8.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload8.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload8.remarks"></a></span><a class="link" href="overload8.html#boost_asio.reference.buffer_copy.overload8.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload9.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_copy/overload9.html b/doc/html/boost_asio/reference/buffer_copy/overload9.html
new file mode 100644
index 0000000000..c2bc5bb46a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_copy/overload9.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_copy (9 of 30 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_copy.html" title="buffer_copy">
+<link rel="prev" href="overload8.html" title="buffer_copy (8 of 30 overloads)">
+<link rel="next" href="overload10.html" title="buffer_copy (10 of 30 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload8.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload10.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_copy.overload9"></a><a class="link" href="overload9.html" title="buffer_copy (9 of 30 overloads)">buffer_copy
+ (9 of 30 overloads)</a>
+</h4></div></div></div>
+<p>
+ Copies bytes from a source buffer to a target buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload9.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload9.parameters"></a></span><a class="link" href="overload9.html#boost_asio.reference.buffer_copy.overload9.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">target</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region to which the bytes
+ will be copied.
+ </p></dd>
+<dt><span class="term">source</span></dt>
+<dd><p>
+ A modifiable buffer representing the memory region from which the
+ bytes will be copied. The contents of the source buffer will not
+ be modified.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload9.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload9.return_value"></a></span><a class="link" href="overload9.html#boost_asio.reference.buffer_copy.overload9.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes copied.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffer_copy.overload9.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_copy.overload9.remarks"></a></span><a class="link" href="overload9.html#boost_asio.reference.buffer_copy.overload9.remarks">Remarks</a>
+ </h6>
+<p>
+ The number of bytes copied is the lesser of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">source</span><span class="special">)</span></code>
+ </li>
+</ul></div>
+<p>
+ This function is implemented in terms of <code class="computeroutput"><span class="identifier">memcpy</span></code>,
+ and consequently it cannot be used to copy between overlapping memory regions.
+ </p>
+</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 &#169; 2003-2017 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="overload8.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_copy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload10.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_size.html b/doc/html/boost_asio/reference/buffer_size.html
new file mode 100644
index 0000000000..72e89e2444
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_size.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_size</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffer_copy/overload30.html" title="buffer_copy (30 of 30 overloads)">
+<link rel="next" href="buffer_size/overload1.html" title="buffer_size (1 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffer_copy/overload30.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer_size/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffer_size"></a><a class="link" href="buffer_size.html" title="buffer_size">buffer_size</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp135254400"></a>
+The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span></code> function determines the total
+ number of bytes in a buffer or buffer sequence.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_size/overload1.html" title="buffer_size (1 of 5 overloads)">buffer_size</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_size/overload1.html" title="buffer_size (1 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_size/overload2.html" title="buffer_size (2 of 5 overloads)">buffer_size</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_size/overload2.html" title="buffer_size (2 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_size/overload3.html" title="buffer_size (3 of 5 overloads)">buffer_size</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_size/overload3.html" title="buffer_size (3 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_size/overload4.html" title="buffer_size (4 of 5 overloads)">buffer_size</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_size/overload4.html" title="buffer_size (4 of 5 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="buffer_size/overload5.html" title="buffer_size (5 of 5 overloads)">buffer_size</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffer_size/overload5.html" title="buffer_size (5 of 5 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffer_size.requirements"></a></span><a class="link" href="buffer_size.html#boost_asio.reference.buffer_size.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffer_copy/overload30.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffer_size/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_size/overload1.html b/doc/html/boost_asio/reference/buffer_size/overload1.html
new file mode 100644
index 0000000000..33c78cf55c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_size/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_size (1 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_size.html" title="buffer_size">
+<link rel="prev" href="../buffer_size.html" title="buffer_size">
+<link rel="next" href="overload2.html" title="buffer_size (2 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_size.overload1"></a><a class="link" href="overload1.html" title="buffer_size (1 of 5 overloads)">buffer_size
+ (1 of 5 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the number of bytes in a modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_size/overload2.html b/doc/html/boost_asio/reference/buffer_size/overload2.html
new file mode 100644
index 0000000000..b3c4a93246
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_size/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_size (2 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_size.html" title="buffer_size">
+<link rel="prev" href="overload1.html" title="buffer_size (1 of 5 overloads)">
+<link rel="next" href="overload3.html" title="buffer_size (3 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_size.overload2"></a><a class="link" href="overload2.html" title="buffer_size (2 of 5 overloads)">buffer_size
+ (2 of 5 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the number of bytes in a modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_size/overload3.html b/doc/html/boost_asio/reference/buffer_size/overload3.html
new file mode 100644
index 0000000000..027cd1ff27
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_size/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_size (3 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_size.html" title="buffer_size">
+<link rel="prev" href="overload2.html" title="buffer_size (2 of 5 overloads)">
+<link rel="next" href="overload4.html" title="buffer_size (4 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_size.overload3"></a><a class="link" href="overload3.html" title="buffer_size (3 of 5 overloads)">buffer_size
+ (3 of 5 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the number of bytes in a non-modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_size/overload4.html b/doc/html/boost_asio/reference/buffer_size/overload4.html
new file mode 100644
index 0000000000..d94ff857e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_size/overload4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_size (4 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_size.html" title="buffer_size">
+<link rel="prev" href="overload3.html" title="buffer_size (3 of 5 overloads)">
+<link rel="next" href="overload5.html" title="buffer_size (5 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_size.overload4"></a><a class="link" href="overload4.html" title="buffer_size (4 of 5 overloads)">buffer_size
+ (4 of 5 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the number of bytes in a non-modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffers_1</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffer_size/overload5.html b/doc/html/boost_asio/reference/buffer_size/overload5.html
new file mode 100644
index 0000000000..f7d5dba89a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffer_size/overload5.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffer_size (5 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffer_size.html" title="buffer_size">
+<link rel="prev" href="overload4.html" title="buffer_size (4 of 5 overloads)">
+<link rel="next" href="../buffered_read_stream.html" title="buffered_read_stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffer_size.overload5"></a><a class="link" href="overload5.html" title="buffer_size (5 of 5 overloads)">buffer_size
+ (5 of 5 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the total number of bytes in a buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">BufferSequence</span></code> template
+ parameter may meet either of the <code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code>
+ or <code class="computeroutput"><span class="identifier">MutableBufferSequence</span></code>
+ type requirements.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffer_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream.html b/doc/html/boost_asio/reference/buffered_read_stream.html
new file mode 100644
index 0000000000..d616d93914
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream.html
@@ -0,0 +1,367 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffer_size/overload5.html" title="buffer_size (5 of 5 overloads)">
+<link rel="next" href="buffered_read_stream/async_fill.html" title="buffered_read_stream::async_fill">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffer_size/overload5.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_read_stream/async_fill.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffered_read_stream"></a><a class="link" href="buffered_read_stream.html" title="buffered_read_stream">buffered_read_stream</a>
+</h3></div></div></div>
+<p>
+ Adds buffering to the read-related operations of a stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">buffered_read_stream</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffered_read_stream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.types"></a></span><a class="link" href="buffered_read_stream.html#boost_asio.reference.buffered_read_stream.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/lowest_layer_type.html" title="buffered_read_stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/next_layer_type.html" title="buffered_read_stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the next layer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffered_read_stream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.member_functions"></a></span><a class="link" href="buffered_read_stream.html#boost_asio.reference.buffered_read_stream.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/async_fill.html" title="buffered_read_stream::async_fill"><span class="bold"><strong>async_fill</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous fill.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/async_read_some.html" title="buffered_read_stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read. The buffer into which the data will
+ be read must be valid for the lifetime of the asynchronous operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/async_write_some.html" title="buffered_read_stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write. The data being written must be valid
+ for the lifetime of the asynchronous operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/buffered_read_stream.html" title="buffered_read_stream::buffered_read_stream"><span class="bold"><strong>buffered_read_stream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct, passing the specified argument to initialise the next
+ layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/close.html" title="buffered_read_stream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/fill.html" title="buffered_read_stream::fill"><span class="bold"><strong>fill</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Fill the buffer with some data. Returns the number of bytes placed
+ in the buffer as a result of the operation. Throws an exception
+ on failure.
+ </p>
+ <p>
+ Fill the buffer with some data. Returns the number of bytes placed
+ in the buffer as a result of the operation, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/get_io_service.html" title="buffered_read_stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/in_avail.html" title="buffered_read_stream::in_avail"><span class="bold"><strong>in_avail</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/lowest_layer.html" title="buffered_read_stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/next_layer.html" title="buffered_read_stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the next layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/peek.html" title="buffered_read_stream::peek"><span class="bold"><strong>peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at the incoming data on the stream. Returns the number of
+ bytes read. Throws an exception on failure.
+ </p>
+ <p>
+ Peek at the incoming data on the stream. Returns the number of
+ bytes read, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/read_some.html" title="buffered_read_stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream. Returns the number of bytes read.
+ Throws an exception on failure.
+ </p>
+ <p>
+ Read some data from the stream. Returns the number of bytes read
+ or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/write_some.html" title="buffered_read_stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data to the stream. Returns the number of bytes
+ written. Throws an exception on failure.
+ </p>
+ <p>
+ Write the given data to the stream. Returns the number of bytes
+ written, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffered_read_stream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.data_members"></a></span><a class="link" href="buffered_read_stream.html#boost_asio.reference.buffered_read_stream.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="buffered_read_stream/default_buffer_size.html" title="buffered_read_stream::default_buffer_size"><span class="bold"><strong>default_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The default buffer size.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="buffered_read_stream.html" title="buffered_read_stream"><code class="computeroutput"><span class="identifier">buffered_read_stream</span></code></a> class template
+ can be used to add buffering to the synchronous and asynchronous read operations
+ of a stream.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffered_read_stream.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.thread_safety"></a></span><a class="link" href="buffered_read_stream.html#boost_asio.reference.buffered_read_stream.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffered_read_stream.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.requirements"></a></span><a class="link" href="buffered_read_stream.html#boost_asio.reference.buffered_read_stream.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_read_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffer_size/overload5.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_read_stream/async_fill.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/async_fill.html b/doc/html/boost_asio/reference/buffered_read_stream/async_fill.html
new file mode 100644
index 0000000000..b38d000f2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/async_fill.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::async_fill</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="next" href="async_read_some.html" title="buffered_read_stream::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.async_fill"></a><a class="link" href="async_fill.html" title="buffered_read_stream::async_fill">buffered_read_stream::async_fill</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135463808"></a>
+Start an asynchronous fill.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_fill</span><span class="special">(</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffered_read_stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/async_read_some.html b/doc/html/boost_asio/reference/buffered_read_stream/async_read_some.html
new file mode 100644
index 0000000000..345088f840
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/async_read_some.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="async_fill.html" title="buffered_read_stream::async_fill">
+<link rel="next" href="async_write_some.html" title="buffered_read_stream::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_fill.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.async_read_some"></a><a class="link" href="async_read_some.html" title="buffered_read_stream::async_read_some">buffered_read_stream::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135475488"></a>
+Start an asynchronous read. The buffer
+ into which the data will be read must be valid for the lifetime of the
+ asynchronous operation.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_fill.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/async_write_some.html b/doc/html/boost_asio/reference/buffered_read_stream/async_write_some.html
new file mode 100644
index 0000000000..f98d268624
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/async_write_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="async_read_some.html" title="buffered_read_stream::async_read_some">
+<link rel="next" href="buffered_read_stream.html" title="buffered_read_stream::buffered_read_stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_read_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.async_write_some"></a><a class="link" href="async_write_some.html" title="buffered_read_stream::async_write_some">buffered_read_stream::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135492640"></a>
+Start an asynchronous write. The data
+ being written must be valid for the lifetime of the asynchronous operation.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_read_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream.html b/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream.html
new file mode 100644
index 0000000000..47544f9fe0
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::buffered_read_stream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="async_write_some.html" title="buffered_read_stream::async_write_some">
+<link rel="next" href="buffered_read_stream/overload1.html" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_read_stream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.buffered_read_stream"></a><a class="link" href="buffered_read_stream.html" title="buffered_read_stream::buffered_read_stream">buffered_read_stream::buffered_read_stream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135509776"></a>
+Construct, passing the specified
+ argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <a class="link" href="buffered_read_stream/overload1.html" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">buffered_read_stream</a><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffered_read_stream/overload1.html" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<a class="link" href="buffered_read_stream/overload2.html" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">buffered_read_stream</a><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffered_read_stream/overload2.html" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_read_stream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload1.html
new file mode 100644
index 0000000000..b311523bb3
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::buffered_read_stream (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream::buffered_read_stream">
+<link rel="prev" href="../buffered_read_stream.html" title="buffered_read_stream::buffered_read_stream">
+<link rel="next" href="overload2.html" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffered_read_stream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.buffered_read_stream.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">buffered_read_stream::buffered_read_stream
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct, passing the specified argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">buffered_read_stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffered_read_stream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload2.html
new file mode 100644
index 0000000000..3d34a60354
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/buffered_read_stream/overload2.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::buffered_read_stream (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream::buffered_read_stream">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::buffered_read_stream (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="buffered_read_stream::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.buffered_read_stream.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">buffered_read_stream::buffered_read_stream
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct, passing the specified argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">buffered_read_stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/close.html b/doc/html/boost_asio/reference/buffered_read_stream/close.html
new file mode 100644
index 0000000000..58818db0d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="buffered_read_stream/overload2.html" title="buffered_read_stream::buffered_read_stream (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="buffered_read_stream::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffered_read_stream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.close"></a><a class="link" href="close.html" title="buffered_read_stream::close">buffered_read_stream::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135557792"></a>
+Close the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="buffered_read_stream::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="buffered_read_stream::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="buffered_read_stream::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="buffered_read_stream::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="buffered_read_stream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/close/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/close/overload1.html
new file mode 100644
index 0000000000..811b5638ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/close/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="buffered_read_stream::close">
+<link rel="prev" href="../close.html" title="buffered_read_stream::close">
+<link rel="next" href="overload2.html" title="buffered_read_stream::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.close.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::close (1 of 2 overloads)">buffered_read_stream::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/close/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/close/overload2.html
new file mode 100644
index 0000000000..b41fbecdee
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/close/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="buffered_read_stream::close">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::close (1 of 2 overloads)">
+<link rel="next" href="../default_buffer_size.html" title="buffered_read_stream::default_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.close.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::close (2 of 2 overloads)">buffered_read_stream::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the stream.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/default_buffer_size.html b/doc/html/boost_asio/reference/buffered_read_stream/default_buffer_size.html
new file mode 100644
index 0000000000..e670a8b036
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/default_buffer_size.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::default_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="close/overload2.html" title="buffered_read_stream::close (2 of 2 overloads)">
+<link rel="next" href="fill.html" title="buffered_read_stream::fill">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.default_buffer_size"></a><a class="link" href="default_buffer_size.html" title="buffered_read_stream::default_buffer_size">buffered_read_stream::default_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135592768"></a>
+The default buffer size.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">default_buffer_size</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/fill.html b/doc/html/boost_asio/reference/buffered_read_stream/fill.html
new file mode 100644
index 0000000000..a9a33c83c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/fill.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::fill</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="default_buffer_size.html" title="buffered_read_stream::default_buffer_size">
+<link rel="next" href="fill/overload1.html" title="buffered_read_stream::fill (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="default_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.fill"></a><a class="link" href="fill.html" title="buffered_read_stream::fill">buffered_read_stream::fill</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135602384"></a>
+Fill the buffer with some data. Returns the number
+ of bytes placed in the buffer as a result of the operation. Throws an exception
+ on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="fill/overload1.html" title="buffered_read_stream::fill (1 of 2 overloads)">fill</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="fill/overload1.html" title="buffered_read_stream::fill (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Fill the buffer with some data. Returns the number of bytes placed in the
+ buffer as a result of the operation, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="fill/overload2.html" title="buffered_read_stream::fill (2 of 2 overloads)">fill</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="fill/overload2.html" title="buffered_read_stream::fill (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="default_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/fill/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/fill/overload1.html
new file mode 100644
index 0000000000..f1f3c5bdd6
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/fill/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::fill (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../fill.html" title="buffered_read_stream::fill">
+<link rel="prev" href="../fill.html" title="buffered_read_stream::fill">
+<link rel="next" href="overload2.html" title="buffered_read_stream::fill (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../fill.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.fill.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::fill (1 of 2 overloads)">buffered_read_stream::fill
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Fill the buffer with some data. Returns the number of bytes placed in
+ the buffer as a result of the operation. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../fill.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/fill/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/fill/overload2.html
new file mode 100644
index 0000000000..046ff43087
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/fill/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::fill (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../fill.html" title="buffered_read_stream::fill">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::fill (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="buffered_read_stream::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.fill.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::fill (2 of 2 overloads)">buffered_read_stream::fill
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Fill the buffer with some data. Returns the number of bytes placed in
+ the buffer as a result of the operation, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/get_io_service.html b/doc/html/boost_asio/reference/buffered_read_stream/get_io_service.html
new file mode 100644
index 0000000000..58e2471273
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/get_io_service.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="fill/overload2.html" title="buffered_read_stream::fill (2 of 2 overloads)">
+<link rel="next" href="in_avail.html" title="buffered_read_stream::in_avail">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fill/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.get_io_service"></a><a class="link" href="get_io_service.html" title="buffered_read_stream::get_io_service">buffered_read_stream::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135638800"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="fill/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/in_avail.html b/doc/html/boost_asio/reference/buffered_read_stream/in_avail.html
new file mode 100644
index 0000000000..ead1a8654a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/in_avail.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::in_avail</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="get_io_service.html" title="buffered_read_stream::get_io_service">
+<link rel="next" href="in_avail/overload1.html" title="buffered_read_stream::in_avail (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.in_avail"></a><a class="link" href="in_avail.html" title="buffered_read_stream::in_avail">buffered_read_stream::in_avail</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135649552"></a>
+Determine the amount of data that may be read
+ without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="in_avail/overload1.html" title="buffered_read_stream::in_avail (1 of 2 overloads)">in_avail</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="in_avail/overload1.html" title="buffered_read_stream::in_avail (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="in_avail/overload2.html" title="buffered_read_stream::in_avail (2 of 2 overloads)">in_avail</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="in_avail/overload2.html" title="buffered_read_stream::in_avail (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload1.html
new file mode 100644
index 0000000000..52eb591d0a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::in_avail (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../in_avail.html" title="buffered_read_stream::in_avail">
+<link rel="prev" href="../in_avail.html" title="buffered_read_stream::in_avail">
+<link rel="next" href="overload2.html" title="buffered_read_stream::in_avail (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../in_avail.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.in_avail.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::in_avail (1 of 2 overloads)">buffered_read_stream::in_avail
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../in_avail.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload2.html
new file mode 100644
index 0000000000..ce99183c81
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/in_avail/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::in_avail (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../in_avail.html" title="buffered_read_stream::in_avail">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::in_avail (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="buffered_read_stream::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.in_avail.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::in_avail (2 of 2 overloads)">buffered_read_stream::in_avail
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer.html b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer.html
new file mode 100644
index 0000000000..c2be746ca5
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="in_avail/overload2.html" title="buffered_read_stream::in_avail (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="in_avail/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.lowest_layer"></a><a class="link" href="lowest_layer.html" title="buffered_read_stream::lowest_layer">buffered_read_stream::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135684272"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="in_avail/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload1.html
new file mode 100644
index 0000000000..177deeb65d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="buffered_read_stream::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="buffered_read_stream::lowest_layer">
+<link rel="next" href="overload2.html" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">buffered_read_stream::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload2.html
new file mode 100644
index 0000000000..4de9bac535
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="buffered_read_stream::lowest_layer">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="buffered_read_stream::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">buffered_read_stream::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer_type.html b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer_type.html
new file mode 100644
index 0000000000..69f08e0c2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/lowest_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="lowest_layer/overload2.html" title="buffered_read_stream::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="next_layer.html" title="buffered_read_stream::next_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="buffered_read_stream::lowest_layer_type">buffered_read_stream::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135713088"></a>
+The type of the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffered_read_stream.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.buffered_read_stream.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_read_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/next_layer.html b/doc/html/boost_asio/reference/buffered_read_stream/next_layer.html
new file mode 100644
index 0000000000..24f416f88e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/next_layer.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::next_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="lowest_layer_type.html" title="buffered_read_stream::lowest_layer_type">
+<link rel="next" href="next_layer_type.html" title="buffered_read_stream::next_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.next_layer"></a><a class="link" href="next_layer.html" title="buffered_read_stream::next_layer">buffered_read_stream::next_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135726704"></a>
+Get a reference to the next layer.
+ </p>
+<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/next_layer_type.html b/doc/html/boost_asio/reference/buffered_read_stream/next_layer_type.html
new file mode 100644
index 0000000000..7aac4b5fe7
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/next_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::next_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="next_layer.html" title="buffered_read_stream::next_layer">
+<link rel="next" href="peek.html" title="buffered_read_stream::peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.next_layer_type"></a><a class="link" href="next_layer_type.html" title="buffered_read_stream::next_layer_type">buffered_read_stream::next_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135733408"></a>
+The type of the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffered_read_stream.next_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_read_stream.next_layer_type.requirements"></a></span><a class="link" href="next_layer_type.html#boost_asio.reference.buffered_read_stream.next_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_read_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="next_layer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/peek.html b/doc/html/boost_asio/reference/buffered_read_stream/peek.html
new file mode 100644
index 0000000000..2ddf6fb8ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/peek.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="next_layer_type.html" title="buffered_read_stream::next_layer_type">
+<link rel="next" href="peek/overload1.html" title="buffered_read_stream::peek (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.peek"></a><a class="link" href="peek.html" title="buffered_read_stream::peek">buffered_read_stream::peek</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135748224"></a>
+Peek at the incoming data on the stream. Returns
+ the number of bytes read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="peek/overload1.html" title="buffered_read_stream::peek (1 of 2 overloads)">peek</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="peek/overload1.html" title="buffered_read_stream::peek (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes read,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="peek/overload2.html" title="buffered_read_stream::peek (2 of 2 overloads)">peek</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="peek/overload2.html" title="buffered_read_stream::peek (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/peek/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/peek/overload1.html
new file mode 100644
index 0000000000..258fa7746e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/peek/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::peek (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../peek.html" title="buffered_read_stream::peek">
+<link rel="prev" href="../peek.html" title="buffered_read_stream::peek">
+<link rel="next" href="overload2.html" title="buffered_read_stream::peek (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../peek.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.peek.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::peek (1 of 2 overloads)">buffered_read_stream::peek
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes
+ read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../peek.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/peek/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/peek/overload2.html
new file mode 100644
index 0000000000..379fcdbe73
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/peek/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::peek (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../peek.html" title="buffered_read_stream::peek">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::peek (1 of 2 overloads)">
+<link rel="next" href="../read_some.html" title="buffered_read_stream::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.peek.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::peek (2 of 2 overloads)">buffered_read_stream::peek
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes
+ read, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/read_some.html b/doc/html/boost_asio/reference/buffered_read_stream/read_some.html
new file mode 100644
index 0000000000..d21a3c347e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/read_some.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="peek/overload2.html" title="buffered_read_stream::peek (2 of 2 overloads)">
+<link rel="next" href="read_some/overload1.html" title="buffered_read_stream::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="peek/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.read_some"></a><a class="link" href="read_some.html" title="buffered_read_stream::read_some">buffered_read_stream::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135811088"></a>
+Read some data from the stream. Returns the
+ number of bytes read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="buffered_read_stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="buffered_read_stream::read_some (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Read some data from the stream. Returns the number of bytes read or 0 if
+ an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="buffered_read_stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="buffered_read_stream::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="peek/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/read_some/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/read_some/overload1.html
new file mode 100644
index 0000000000..1f62f66a58
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/read_some/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="buffered_read_stream::read_some">
+<link rel="prev" href="../read_some.html" title="buffered_read_stream::read_some">
+<link rel="next" href="overload2.html" title="buffered_read_stream::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.read_some.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::read_some (1 of 2 overloads)">buffered_read_stream::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream. Returns the number of bytes read. Throws
+ an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/read_some/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/read_some/overload2.html
new file mode 100644
index 0000000000..a0ebcb9f73
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/read_some/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="buffered_read_stream::read_some">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::read_some (1 of 2 overloads)">
+<link rel="next" href="../write_some.html" title="buffered_read_stream::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.read_some.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::read_some (2 of 2 overloads)">buffered_read_stream::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream. Returns the number of bytes read or 0
+ if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/write_some.html b/doc/html/boost_asio/reference/buffered_read_stream/write_some.html
new file mode 100644
index 0000000000..34c05f2cd0
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/write_some.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_read_stream.html" title="buffered_read_stream">
+<link rel="prev" href="read_some/overload2.html" title="buffered_read_stream::read_some (2 of 2 overloads)">
+<link rel="next" href="write_some/overload1.html" title="buffered_read_stream::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_read_stream.write_some"></a><a class="link" href="write_some.html" title="buffered_read_stream::write_some">buffered_read_stream::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp135873616"></a>
+Write the given data to the stream. Returns
+ the number of bytes written. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="buffered_read_stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="buffered_read_stream::write_some (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Write the given data to the stream. Returns the number of bytes written,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="buffered_read_stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="buffered_read_stream::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_read_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/write_some/overload1.html b/doc/html/boost_asio/reference/buffered_read_stream/write_some/overload1.html
new file mode 100644
index 0000000000..d803063097
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/write_some/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="buffered_read_stream::write_some">
+<link rel="prev" href="../write_some.html" title="buffered_read_stream::write_some">
+<link rel="next" href="overload2.html" title="buffered_read_stream::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.write_some.overload1"></a><a class="link" href="overload1.html" title="buffered_read_stream::write_some (1 of 2 overloads)">buffered_read_stream::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write the given data to the stream. Returns the number of bytes written.
+ Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_read_stream/write_some/overload2.html b/doc/html/boost_asio/reference/buffered_read_stream/write_some/overload2.html
new file mode 100644
index 0000000000..63562edf60
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_read_stream/write_some/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_read_stream::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="buffered_read_stream::write_some">
+<link rel="prev" href="overload1.html" title="buffered_read_stream::write_some (1 of 2 overloads)">
+<link rel="next" href="../../buffered_stream.html" title="buffered_stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../buffered_stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_read_stream.write_some.overload2"></a><a class="link" href="overload2.html" title="buffered_read_stream::write_some (2 of 2 overloads)">buffered_read_stream::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write the given data to the stream. Returns the number of bytes written,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../buffered_stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream.html b/doc/html/boost_asio/reference/buffered_stream.html
new file mode 100644
index 0000000000..c541748449
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream.html
@@ -0,0 +1,363 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffered_read_stream/write_some/overload2.html" title="buffered_read_stream::write_some (2 of 2 overloads)">
+<link rel="next" href="buffered_stream/async_fill.html" title="buffered_stream::async_fill">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffered_read_stream/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_stream/async_fill.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffered_stream"></a><a class="link" href="buffered_stream.html" title="buffered_stream">buffered_stream</a>
+</h3></div></div></div>
+<p>
+ Adds buffering to the read- and write-related operations of a stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">buffered_stream</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffered_stream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_stream.types"></a></span><a class="link" href="buffered_stream.html#boost_asio.reference.buffered_stream.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/lowest_layer_type.html" title="buffered_stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/next_layer_type.html" title="buffered_stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the next layer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffered_stream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_stream.member_functions"></a></span><a class="link" href="buffered_stream.html#boost_asio.reference.buffered_stream.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/async_fill.html" title="buffered_stream::async_fill"><span class="bold"><strong>async_fill</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous fill.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/async_flush.html" title="buffered_stream::async_flush"><span class="bold"><strong>async_flush</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous flush.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/async_read_some.html" title="buffered_stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read. The buffer into which the data will
+ be read must be valid for the lifetime of the asynchronous operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/async_write_some.html" title="buffered_stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write. The data being written must be valid
+ for the lifetime of the asynchronous operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/buffered_stream.html" title="buffered_stream::buffered_stream"><span class="bold"><strong>buffered_stream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct, passing the specified argument to initialise the next
+ layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/close.html" title="buffered_stream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/fill.html" title="buffered_stream::fill"><span class="bold"><strong>fill</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Fill the buffer with some data. Returns the number of bytes placed
+ in the buffer as a result of the operation. Throws an exception
+ on failure.
+ </p>
+ <p>
+ Fill the buffer with some data. Returns the number of bytes placed
+ in the buffer as a result of the operation, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/flush.html" title="buffered_stream::flush"><span class="bold"><strong>flush</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation.
+ Throws an exception on failure.
+ </p>
+ <p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation,
+ or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/get_io_service.html" title="buffered_stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/in_avail.html" title="buffered_stream::in_avail"><span class="bold"><strong>in_avail</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/lowest_layer.html" title="buffered_stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/next_layer.html" title="buffered_stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the next layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/peek.html" title="buffered_stream::peek"><span class="bold"><strong>peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at the incoming data on the stream. Returns the number of
+ bytes read. Throws an exception on failure.
+ </p>
+ <p>
+ Peek at the incoming data on the stream. Returns the number of
+ bytes read, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/read_some.html" title="buffered_stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream. Returns the number of bytes read.
+ Throws an exception on failure.
+ </p>
+ <p>
+ Read some data from the stream. Returns the number of bytes read
+ or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_stream/write_some.html" title="buffered_stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data to the stream. Returns the number of bytes
+ written. Throws an exception on failure.
+ </p>
+ <p>
+ Write the given data to the stream. Returns the number of bytes
+ written, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="buffered_stream.html" title="buffered_stream"><code class="computeroutput"><span class="identifier">buffered_stream</span></code></a>
+ class template can be used to add buffering to the synchronous and asynchronous
+ read and write operations of a stream.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffered_stream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_stream.thread_safety"></a></span><a class="link" href="buffered_stream.html#boost_asio.reference.buffered_stream.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffered_stream.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_stream.requirements"></a></span><a class="link" href="buffered_stream.html#boost_asio.reference.buffered_stream.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffered_read_stream/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_stream/async_fill.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/async_fill.html b/doc/html/boost_asio/reference/buffered_stream/async_fill.html
new file mode 100644
index 0000000000..a9ef334482
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/async_fill.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::async_fill</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="../buffered_stream.html" title="buffered_stream">
+<link rel="next" href="async_flush.html" title="buffered_stream::async_flush">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffered_stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_flush.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.async_fill"></a><a class="link" href="async_fill.html" title="buffered_stream::async_fill">buffered_stream::async_fill</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136034640"></a>
+Start an asynchronous fill.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_fill</span><span class="special">(</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffered_stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_flush.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/async_flush.html b/doc/html/boost_asio/reference/buffered_stream/async_flush.html
new file mode 100644
index 0000000000..0d627fc731
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/async_flush.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::async_flush</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="async_fill.html" title="buffered_stream::async_fill">
+<link rel="next" href="async_read_some.html" title="buffered_stream::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_fill.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.async_flush"></a><a class="link" href="async_flush.html" title="buffered_stream::async_flush">buffered_stream::async_flush</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136046240"></a>
+Start an asynchronous flush.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_flush</span><span class="special">(</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_fill.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/async_read_some.html b/doc/html/boost_asio/reference/buffered_stream/async_read_some.html
new file mode 100644
index 0000000000..68e9d3cf48
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/async_read_some.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="async_flush.html" title="buffered_stream::async_flush">
+<link rel="next" href="async_write_some.html" title="buffered_stream::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_flush.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.async_read_some"></a><a class="link" href="async_read_some.html" title="buffered_stream::async_read_some">buffered_stream::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136057840"></a>
+Start an asynchronous read. The buffer into
+ which the data will be read must be valid for the lifetime of the asynchronous
+ operation.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_flush.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/async_write_some.html b/doc/html/boost_asio/reference/buffered_stream/async_write_some.html
new file mode 100644
index 0000000000..3944b9259c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/async_write_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="async_read_some.html" title="buffered_stream::async_read_some">
+<link rel="next" href="buffered_stream.html" title="buffered_stream::buffered_stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.async_write_some"></a><a class="link" href="async_write_some.html" title="buffered_stream::async_write_some">buffered_stream::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136074928"></a>
+Start an asynchronous write. The data being
+ written must be valid for the lifetime of the asynchronous operation.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/buffered_stream.html b/doc/html/boost_asio/reference/buffered_stream/buffered_stream.html
new file mode 100644
index 0000000000..25c74292fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/buffered_stream.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::buffered_stream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="async_write_some.html" title="buffered_stream::async_write_some">
+<link rel="next" href="buffered_stream/overload1.html" title="buffered_stream::buffered_stream (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_stream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.buffered_stream"></a><a class="link" href="buffered_stream.html" title="buffered_stream::buffered_stream">buffered_stream::buffered_stream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136091984"></a>
+Construct, passing the specified argument
+ to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <a class="link" href="buffered_stream/overload1.html" title="buffered_stream::buffered_stream (1 of 2 overloads)">buffered_stream</a><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffered_stream/overload1.html" title="buffered_stream::buffered_stream (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <a class="link" href="buffered_stream/overload2.html" title="buffered_stream::buffered_stream (2 of 2 overloads)">buffered_stream</a><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_buffer_size</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_buffer_size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffered_stream/overload2.html" title="buffered_stream::buffered_stream (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_stream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload1.html b/doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload1.html
new file mode 100644
index 0000000000..abe0d79100
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::buffered_stream (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream::buffered_stream">
+<link rel="prev" href="../buffered_stream.html" title="buffered_stream::buffered_stream">
+<link rel="next" href="overload2.html" title="buffered_stream::buffered_stream (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffered_stream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.buffered_stream.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::buffered_stream (1 of 2 overloads)">buffered_stream::buffered_stream
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct, passing the specified argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">buffered_stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffered_stream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload2.html b/doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload2.html
new file mode 100644
index 0000000000..8da19e3ca1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/buffered_stream/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::buffered_stream (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream::buffered_stream">
+<link rel="prev" href="overload1.html" title="buffered_stream::buffered_stream (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="buffered_stream::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.buffered_stream.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::buffered_stream (2 of 2 overloads)">buffered_stream::buffered_stream
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct, passing the specified argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">buffered_stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_buffer_size</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_buffer_size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/close.html b/doc/html/boost_asio/reference/buffered_stream/close.html
new file mode 100644
index 0000000000..3b2a2a0d2b
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="buffered_stream/overload2.html" title="buffered_stream::buffered_stream (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="buffered_stream::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffered_stream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.close"></a><a class="link" href="close.html" title="buffered_stream::close">buffered_stream::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136146208"></a>
+Close the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="buffered_stream::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="buffered_stream::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="buffered_stream::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="buffered_stream::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="buffered_stream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/close/overload1.html b/doc/html/boost_asio/reference/buffered_stream/close/overload1.html
new file mode 100644
index 0000000000..4b27b5433a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/close/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="buffered_stream::close">
+<link rel="prev" href="../close.html" title="buffered_stream::close">
+<link rel="next" href="overload2.html" title="buffered_stream::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.close.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::close (1 of 2 overloads)">buffered_stream::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/close/overload2.html b/doc/html/boost_asio/reference/buffered_stream/close/overload2.html
new file mode 100644
index 0000000000..df291cdebc
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/close/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="buffered_stream::close">
+<link rel="prev" href="overload1.html" title="buffered_stream::close (1 of 2 overloads)">
+<link rel="next" href="../fill.html" title="buffered_stream::fill">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fill.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.close.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::close (2 of 2 overloads)">buffered_stream::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the stream.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fill.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/fill.html b/doc/html/boost_asio/reference/buffered_stream/fill.html
new file mode 100644
index 0000000000..4db8b469f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/fill.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::fill</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="close/overload2.html" title="buffered_stream::close (2 of 2 overloads)">
+<link rel="next" href="fill/overload1.html" title="buffered_stream::fill (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.fill"></a><a class="link" href="fill.html" title="buffered_stream::fill">buffered_stream::fill</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136180880"></a>
+Fill the buffer with some data. Returns the number of
+ bytes placed in the buffer as a result of the operation. Throws an exception
+ on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="fill/overload1.html" title="buffered_stream::fill (1 of 2 overloads)">fill</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="fill/overload1.html" title="buffered_stream::fill (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Fill the buffer with some data. Returns the number of bytes placed in the
+ buffer as a result of the operation, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="fill/overload2.html" title="buffered_stream::fill (2 of 2 overloads)">fill</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="fill/overload2.html" title="buffered_stream::fill (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fill/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/fill/overload1.html b/doc/html/boost_asio/reference/buffered_stream/fill/overload1.html
new file mode 100644
index 0000000000..fdb7b57703
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/fill/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::fill (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../fill.html" title="buffered_stream::fill">
+<link rel="prev" href="../fill.html" title="buffered_stream::fill">
+<link rel="next" href="overload2.html" title="buffered_stream::fill (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../fill.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.fill.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::fill (1 of 2 overloads)">buffered_stream::fill
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Fill the buffer with some data. Returns the number of bytes placed in
+ the buffer as a result of the operation. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../fill.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/fill/overload2.html b/doc/html/boost_asio/reference/buffered_stream/fill/overload2.html
new file mode 100644
index 0000000000..3b0ab04b9b
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/fill/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::fill (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../fill.html" title="buffered_stream::fill">
+<link rel="prev" href="overload1.html" title="buffered_stream::fill (1 of 2 overloads)">
+<link rel="next" href="../flush.html" title="buffered_stream::flush">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../flush.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.fill.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::fill (2 of 2 overloads)">buffered_stream::fill
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Fill the buffer with some data. Returns the number of bytes placed in
+ the buffer as a result of the operation, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">fill</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fill.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../flush.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/flush.html b/doc/html/boost_asio/reference/buffered_stream/flush.html
new file mode 100644
index 0000000000..6bd7297288
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/flush.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::flush</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="fill/overload2.html" title="buffered_stream::fill (2 of 2 overloads)">
+<link rel="next" href="flush/overload1.html" title="buffered_stream::flush (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fill/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flush/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.flush"></a><a class="link" href="flush.html" title="buffered_stream::flush">buffered_stream::flush</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136216848"></a>
+Flush all data from the buffer to the next layer. Returns
+ the number of bytes written to the next layer on the last write operation.
+ Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="flush/overload1.html" title="buffered_stream::flush (1 of 2 overloads)">flush</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="flush/overload1.html" title="buffered_stream::flush (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Flush all data from the buffer to the next layer. Returns the number of
+ bytes written to the next layer on the last write operation, or 0 if an
+ error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="flush/overload2.html" title="buffered_stream::flush (2 of 2 overloads)">flush</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="flush/overload2.html" title="buffered_stream::flush (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="fill/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flush/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/flush/overload1.html b/doc/html/boost_asio/reference/buffered_stream/flush/overload1.html
new file mode 100644
index 0000000000..2d817a3663
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/flush/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::flush (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../flush.html" title="buffered_stream::flush">
+<link rel="prev" href="../flush.html" title="buffered_stream::flush">
+<link rel="next" href="overload2.html" title="buffered_stream::flush (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../flush.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.flush.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::flush (1 of 2 overloads)">buffered_stream::flush
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation. Throws
+ an exception on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../flush.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/flush/overload2.html b/doc/html/boost_asio/reference/buffered_stream/flush/overload2.html
new file mode 100644
index 0000000000..2aaf135038
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/flush/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::flush (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../flush.html" title="buffered_stream::flush">
+<link rel="prev" href="overload1.html" title="buffered_stream::flush (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="buffered_stream::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.flush.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::flush (2 of 2 overloads)">buffered_stream::flush
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation, or 0
+ if an error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/get_io_service.html b/doc/html/boost_asio/reference/buffered_stream/get_io_service.html
new file mode 100644
index 0000000000..0b6ac56146
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/get_io_service.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="flush/overload2.html" title="buffered_stream::flush (2 of 2 overloads)">
+<link rel="next" href="in_avail.html" title="buffered_stream::in_avail">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flush/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.get_io_service"></a><a class="link" href="get_io_service.html" title="buffered_stream::get_io_service">buffered_stream::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136253056"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="flush/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/in_avail.html b/doc/html/boost_asio/reference/buffered_stream/in_avail.html
new file mode 100644
index 0000000000..74f78034e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/in_avail.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::in_avail</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="get_io_service.html" title="buffered_stream::get_io_service">
+<link rel="next" href="in_avail/overload1.html" title="buffered_stream::in_avail (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.in_avail"></a><a class="link" href="in_avail.html" title="buffered_stream::in_avail">buffered_stream::in_avail</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136263744"></a>
+Determine the amount of data that may be read without
+ blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="in_avail/overload1.html" title="buffered_stream::in_avail (1 of 2 overloads)">in_avail</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="in_avail/overload1.html" title="buffered_stream::in_avail (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="in_avail/overload2.html" title="buffered_stream::in_avail (2 of 2 overloads)">in_avail</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="in_avail/overload2.html" title="buffered_stream::in_avail (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/in_avail/overload1.html b/doc/html/boost_asio/reference/buffered_stream/in_avail/overload1.html
new file mode 100644
index 0000000000..a93774b5de
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/in_avail/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::in_avail (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../in_avail.html" title="buffered_stream::in_avail">
+<link rel="prev" href="../in_avail.html" title="buffered_stream::in_avail">
+<link rel="next" href="overload2.html" title="buffered_stream::in_avail (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../in_avail.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.in_avail.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::in_avail (1 of 2 overloads)">buffered_stream::in_avail
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../in_avail.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/in_avail/overload2.html b/doc/html/boost_asio/reference/buffered_stream/in_avail/overload2.html
new file mode 100644
index 0000000000..498d435f23
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/in_avail/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::in_avail (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../in_avail.html" title="buffered_stream::in_avail">
+<link rel="prev" href="overload1.html" title="buffered_stream::in_avail (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="buffered_stream::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.in_avail.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::in_avail (2 of 2 overloads)">buffered_stream::in_avail
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/lowest_layer.html b/doc/html/boost_asio/reference/buffered_stream/lowest_layer.html
new file mode 100644
index 0000000000..221d6b2abe
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="in_avail/overload2.html" title="buffered_stream::in_avail (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="buffered_stream::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="in_avail/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.lowest_layer"></a><a class="link" href="lowest_layer.html" title="buffered_stream::lowest_layer">buffered_stream::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136298256"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="buffered_stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="buffered_stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="buffered_stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="buffered_stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="in_avail/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload1.html b/doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload1.html
new file mode 100644
index 0000000000..b1a8237a5f
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="buffered_stream::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="buffered_stream::lowest_layer">
+<link rel="next" href="overload2.html" title="buffered_stream::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::lowest_layer (1 of 2 overloads)">buffered_stream::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload2.html b/doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload2.html
new file mode 100644
index 0000000000..b4bf0375aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/lowest_layer/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="buffered_stream::lowest_layer">
+<link rel="prev" href="overload1.html" title="buffered_stream::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="buffered_stream::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::lowest_layer (2 of 2 overloads)">buffered_stream::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/lowest_layer_type.html b/doc/html/boost_asio/reference/buffered_stream/lowest_layer_type.html
new file mode 100644
index 0000000000..269cac3d8d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/lowest_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="lowest_layer/overload2.html" title="buffered_stream::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="next_layer.html" title="buffered_stream::next_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="buffered_stream::lowest_layer_type">buffered_stream::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136326928"></a>
+The type of the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffered_stream.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_stream.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.buffered_stream.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/next_layer.html b/doc/html/boost_asio/reference/buffered_stream/next_layer.html
new file mode 100644
index 0000000000..3fd5013d72
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/next_layer.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::next_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="lowest_layer_type.html" title="buffered_stream::lowest_layer_type">
+<link rel="next" href="next_layer_type.html" title="buffered_stream::next_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.next_layer"></a><a class="link" href="next_layer.html" title="buffered_stream::next_layer">buffered_stream::next_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136340400"></a>
+Get a reference to the next layer.
+ </p>
+<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/next_layer_type.html b/doc/html/boost_asio/reference/buffered_stream/next_layer_type.html
new file mode 100644
index 0000000000..9268c0d3a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/next_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::next_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="next_layer.html" title="buffered_stream::next_layer">
+<link rel="next" href="peek.html" title="buffered_stream::peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.next_layer_type"></a><a class="link" href="next_layer_type.html" title="buffered_stream::next_layer_type">buffered_stream::next_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136347104"></a>
+The type of the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffered_stream.next_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_stream.next_layer_type.requirements"></a></span><a class="link" href="next_layer_type.html#boost_asio.reference.buffered_stream.next_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="next_layer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/peek.html b/doc/html/boost_asio/reference/buffered_stream/peek.html
new file mode 100644
index 0000000000..5b9b7d4725
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/peek.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="next_layer_type.html" title="buffered_stream::next_layer_type">
+<link rel="next" href="peek/overload1.html" title="buffered_stream::peek (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.peek"></a><a class="link" href="peek.html" title="buffered_stream::peek">buffered_stream::peek</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136361936"></a>
+Peek at the incoming data on the stream. Returns the
+ number of bytes read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="peek/overload1.html" title="buffered_stream::peek (1 of 2 overloads)">peek</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="peek/overload1.html" title="buffered_stream::peek (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes read,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="peek/overload2.html" title="buffered_stream::peek (2 of 2 overloads)">peek</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="peek/overload2.html" title="buffered_stream::peek (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/peek/overload1.html b/doc/html/boost_asio/reference/buffered_stream/peek/overload1.html
new file mode 100644
index 0000000000..a53dbdb629
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/peek/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::peek (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../peek.html" title="buffered_stream::peek">
+<link rel="prev" href="../peek.html" title="buffered_stream::peek">
+<link rel="next" href="overload2.html" title="buffered_stream::peek (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../peek.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.peek.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::peek (1 of 2 overloads)">buffered_stream::peek
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes
+ read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../peek.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/peek/overload2.html b/doc/html/boost_asio/reference/buffered_stream/peek/overload2.html
new file mode 100644
index 0000000000..88832a68d8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/peek/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::peek (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../peek.html" title="buffered_stream::peek">
+<link rel="prev" href="overload1.html" title="buffered_stream::peek (1 of 2 overloads)">
+<link rel="next" href="../read_some.html" title="buffered_stream::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.peek.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::peek (2 of 2 overloads)">buffered_stream::peek
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes
+ read, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/read_some.html b/doc/html/boost_asio/reference/buffered_stream/read_some.html
new file mode 100644
index 0000000000..bb36fcd1d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/read_some.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="peek/overload2.html" title="buffered_stream::peek (2 of 2 overloads)">
+<link rel="next" href="read_some/overload1.html" title="buffered_stream::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="peek/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.read_some"></a><a class="link" href="read_some.html" title="buffered_stream::read_some">buffered_stream::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136424240"></a>
+Read some data from the stream. Returns the number
+ of bytes read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="buffered_stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="buffered_stream::read_some (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Read some data from the stream. Returns the number of bytes read or 0 if
+ an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="buffered_stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="buffered_stream::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="peek/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/read_some/overload1.html b/doc/html/boost_asio/reference/buffered_stream/read_some/overload1.html
new file mode 100644
index 0000000000..3e46305ebe
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/read_some/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="buffered_stream::read_some">
+<link rel="prev" href="../read_some.html" title="buffered_stream::read_some">
+<link rel="next" href="overload2.html" title="buffered_stream::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.read_some.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::read_some (1 of 2 overloads)">buffered_stream::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream. Returns the number of bytes read. Throws
+ an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/read_some/overload2.html b/doc/html/boost_asio/reference/buffered_stream/read_some/overload2.html
new file mode 100644
index 0000000000..569359d6a1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/read_some/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="buffered_stream::read_some">
+<link rel="prev" href="overload1.html" title="buffered_stream::read_some (1 of 2 overloads)">
+<link rel="next" href="../write_some.html" title="buffered_stream::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.read_some.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::read_some (2 of 2 overloads)">buffered_stream::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream. Returns the number of bytes read or 0
+ if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/write_some.html b/doc/html/boost_asio/reference/buffered_stream/write_some.html
new file mode 100644
index 0000000000..515a32b8f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/write_some.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_stream.html" title="buffered_stream">
+<link rel="prev" href="read_some/overload2.html" title="buffered_stream::read_some (2 of 2 overloads)">
+<link rel="next" href="write_some/overload1.html" title="buffered_stream::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_stream.write_some"></a><a class="link" href="write_some.html" title="buffered_stream::write_some">buffered_stream::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136487072"></a>
+Write the given data to the stream. Returns the
+ number of bytes written. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="buffered_stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="buffered_stream::write_some (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Write the given data to the stream. Returns the number of bytes written,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="buffered_stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="buffered_stream::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/write_some/overload1.html b/doc/html/boost_asio/reference/buffered_stream/write_some/overload1.html
new file mode 100644
index 0000000000..893fa5a533
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/write_some/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="buffered_stream::write_some">
+<link rel="prev" href="../write_some.html" title="buffered_stream::write_some">
+<link rel="next" href="overload2.html" title="buffered_stream::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.write_some.overload1"></a><a class="link" href="overload1.html" title="buffered_stream::write_some (1 of 2 overloads)">buffered_stream::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write the given data to the stream. Returns the number of bytes written.
+ Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_stream/write_some/overload2.html b/doc/html/boost_asio/reference/buffered_stream/write_some/overload2.html
new file mode 100644
index 0000000000..7ca62c409d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_stream/write_some/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_stream::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="buffered_stream::write_some">
+<link rel="prev" href="overload1.html" title="buffered_stream::write_some (1 of 2 overloads)">
+<link rel="next" href="../../buffered_write_stream.html" title="buffered_write_stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../buffered_write_stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_stream.write_some.overload2"></a><a class="link" href="overload2.html" title="buffered_stream::write_some (2 of 2 overloads)">buffered_stream::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write the given data to the stream. Returns the number of bytes written,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../buffered_write_stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream.html b/doc/html/boost_asio/reference/buffered_write_stream.html
new file mode 100644
index 0000000000..d2e3995325
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream.html
@@ -0,0 +1,369 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffered_stream/write_some/overload2.html" title="buffered_stream::write_some (2 of 2 overloads)">
+<link rel="next" href="buffered_write_stream/async_flush.html" title="buffered_write_stream::async_flush">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffered_stream/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_write_stream/async_flush.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffered_write_stream"></a><a class="link" href="buffered_write_stream.html" title="buffered_write_stream">buffered_write_stream</a>
+</h3></div></div></div>
+<p>
+ Adds buffering to the write-related operations of a stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">buffered_write_stream</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffered_write_stream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.types"></a></span><a class="link" href="buffered_write_stream.html#boost_asio.reference.buffered_write_stream.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/lowest_layer_type.html" title="buffered_write_stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/next_layer_type.html" title="buffered_write_stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the next layer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffered_write_stream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.member_functions"></a></span><a class="link" href="buffered_write_stream.html#boost_asio.reference.buffered_write_stream.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/async_flush.html" title="buffered_write_stream::async_flush"><span class="bold"><strong>async_flush</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous flush.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/async_read_some.html" title="buffered_write_stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read. The buffer into which the data will
+ be read must be valid for the lifetime of the asynchronous operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/async_write_some.html" title="buffered_write_stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write. The data being written must be valid
+ for the lifetime of the asynchronous operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/buffered_write_stream.html" title="buffered_write_stream::buffered_write_stream"><span class="bold"><strong>buffered_write_stream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct, passing the specified argument to initialise the next
+ layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/close.html" title="buffered_write_stream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/flush.html" title="buffered_write_stream::flush"><span class="bold"><strong>flush</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation.
+ Throws an exception on failure.
+ </p>
+ <p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation,
+ or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/get_io_service.html" title="buffered_write_stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/in_avail.html" title="buffered_write_stream::in_avail"><span class="bold"><strong>in_avail</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/lowest_layer.html" title="buffered_write_stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/next_layer.html" title="buffered_write_stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the next layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/peek.html" title="buffered_write_stream::peek"><span class="bold"><strong>peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at the incoming data on the stream. Returns the number of
+ bytes read. Throws an exception on failure.
+ </p>
+ <p>
+ Peek at the incoming data on the stream. Returns the number of
+ bytes read, or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/read_some.html" title="buffered_write_stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream. Returns the number of bytes read.
+ Throws an exception on failure.
+ </p>
+ <p>
+ Read some data from the stream. Returns the number of bytes read
+ or 0 if an error occurred.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/write_some.html" title="buffered_write_stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data to the stream. Returns the number of bytes
+ written. Throws an exception on failure.
+ </p>
+ <p>
+ Write the given data to the stream. Returns the number of bytes
+ written, or 0 if an error occurred and the error handler did not
+ throw.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffered_write_stream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.data_members"></a></span><a class="link" href="buffered_write_stream.html#boost_asio.reference.buffered_write_stream.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="buffered_write_stream/default_buffer_size.html" title="buffered_write_stream::default_buffer_size"><span class="bold"><strong>default_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The default buffer size.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="buffered_write_stream.html" title="buffered_write_stream"><code class="computeroutput"><span class="identifier">buffered_write_stream</span></code></a> class template
+ can be used to add buffering to the synchronous and asynchronous write operations
+ of a stream.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffered_write_stream.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.thread_safety"></a></span><a class="link" href="buffered_write_stream.html#boost_asio.reference.buffered_write_stream.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.buffered_write_stream.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.requirements"></a></span><a class="link" href="buffered_write_stream.html#boost_asio.reference.buffered_write_stream.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_write_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffered_stream/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_write_stream/async_flush.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/async_flush.html b/doc/html/boost_asio/reference/buffered_write_stream/async_flush.html
new file mode 100644
index 0000000000..94bc20120c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/async_flush.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::async_flush</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="next" href="async_read_some.html" title="buffered_write_stream::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.async_flush"></a><a class="link" href="async_flush.html" title="buffered_write_stream::async_flush">buffered_write_stream::async_flush</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136651616"></a>
+Start an asynchronous flush.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_flush</span><span class="special">(</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffered_write_stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/async_read_some.html b/doc/html/boost_asio/reference/buffered_write_stream/async_read_some.html
new file mode 100644
index 0000000000..dcb7208cd2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/async_read_some.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="async_flush.html" title="buffered_write_stream::async_flush">
+<link rel="next" href="async_write_some.html" title="buffered_write_stream::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_flush.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.async_read_some"></a><a class="link" href="async_read_some.html" title="buffered_write_stream::async_read_some">buffered_write_stream::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136663216"></a>
+Start an asynchronous read. The buffer
+ into which the data will be read must be valid for the lifetime of the
+ asynchronous operation.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_flush.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/async_write_some.html b/doc/html/boost_asio/reference/buffered_write_stream/async_write_some.html
new file mode 100644
index 0000000000..d133e9d1ae
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/async_write_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="async_read_some.html" title="buffered_write_stream::async_read_some">
+<link rel="next" href="buffered_write_stream.html" title="buffered_write_stream::buffered_write_stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_write_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.async_write_some"></a><a class="link" href="async_write_some.html" title="buffered_write_stream::async_write_some">buffered_write_stream::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136680368"></a>
+Start an asynchronous write. The data
+ being written must be valid for the lifetime of the asynchronous operation.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_write_stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream.html b/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream.html
new file mode 100644
index 0000000000..11cb698b0a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::buffered_write_stream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="async_write_some.html" title="buffered_write_stream::async_write_some">
+<link rel="next" href="buffered_write_stream/overload1.html" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_write_stream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.buffered_write_stream"></a><a class="link" href="buffered_write_stream.html" title="buffered_write_stream::buffered_write_stream">buffered_write_stream::buffered_write_stream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136697520"></a>
+Construct, passing the specified
+ argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <a class="link" href="buffered_write_stream/overload1.html" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">buffered_write_stream</a><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffered_write_stream/overload1.html" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<a class="link" href="buffered_write_stream/overload2.html" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">buffered_write_stream</a><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="buffered_write_stream/overload2.html" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffered_write_stream/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload1.html
new file mode 100644
index 0000000000..d10ce02e06
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::buffered_write_stream (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream::buffered_write_stream">
+<link rel="prev" href="../buffered_write_stream.html" title="buffered_write_stream::buffered_write_stream">
+<link rel="next" href="overload2.html" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffered_write_stream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.buffered_write_stream.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">buffered_write_stream::buffered_write_stream
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct, passing the specified argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">buffered_write_stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffered_write_stream.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload2.html
new file mode 100644
index 0000000000..8d119a1f32
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/buffered_write_stream/overload2.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::buffered_write_stream (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream::buffered_write_stream">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::buffered_write_stream (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="buffered_write_stream::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.buffered_write_stream.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">buffered_write_stream::buffered_write_stream
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct, passing the specified argument to initialise the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">buffered_write_stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">buffer_size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/close.html b/doc/html/boost_asio/reference/buffered_write_stream/close.html
new file mode 100644
index 0000000000..5afe95cbca
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="buffered_write_stream/overload2.html" title="buffered_write_stream::buffered_write_stream (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="buffered_write_stream::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffered_write_stream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.close"></a><a class="link" href="close.html" title="buffered_write_stream::close">buffered_write_stream::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136745616"></a>
+Close the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="buffered_write_stream::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="buffered_write_stream::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="buffered_write_stream::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="buffered_write_stream::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="buffered_write_stream/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/close/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/close/overload1.html
new file mode 100644
index 0000000000..c777b48e40
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/close/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="buffered_write_stream::close">
+<link rel="prev" href="../close.html" title="buffered_write_stream::close">
+<link rel="next" href="overload2.html" title="buffered_write_stream::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.close.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::close (1 of 2 overloads)">buffered_write_stream::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/close/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/close/overload2.html
new file mode 100644
index 0000000000..8341fc8fe8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/close/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="buffered_write_stream::close">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::close (1 of 2 overloads)">
+<link rel="next" href="../default_buffer_size.html" title="buffered_write_stream::default_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.close.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::close (2 of 2 overloads)">buffered_write_stream::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the stream.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_buffer_size.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/default_buffer_size.html b/doc/html/boost_asio/reference/buffered_write_stream/default_buffer_size.html
new file mode 100644
index 0000000000..066aef126d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/default_buffer_size.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::default_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="close/overload2.html" title="buffered_write_stream::close (2 of 2 overloads)">
+<link rel="next" href="flush.html" title="buffered_write_stream::flush">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flush.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.default_buffer_size"></a><a class="link" href="default_buffer_size.html" title="buffered_write_stream::default_buffer_size">buffered_write_stream::default_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136780512"></a>
+The default buffer size.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">default_buffer_size</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flush.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/flush.html b/doc/html/boost_asio/reference/buffered_write_stream/flush.html
new file mode 100644
index 0000000000..4badf81f50
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/flush.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::flush</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="default_buffer_size.html" title="buffered_write_stream::default_buffer_size">
+<link rel="next" href="flush/overload1.html" title="buffered_write_stream::flush (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="default_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flush/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.flush"></a><a class="link" href="flush.html" title="buffered_write_stream::flush">buffered_write_stream::flush</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136790352"></a>
+Flush all data from the buffer to the next layer.
+ Returns the number of bytes written to the next layer on the last write
+ operation. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="flush/overload1.html" title="buffered_write_stream::flush (1 of 2 overloads)">flush</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="flush/overload1.html" title="buffered_write_stream::flush (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Flush all data from the buffer to the next layer. Returns the number of
+ bytes written to the next layer on the last write operation, or 0 if an
+ error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="flush/overload2.html" title="buffered_write_stream::flush (2 of 2 overloads)">flush</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="flush/overload2.html" title="buffered_write_stream::flush (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="default_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flush/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/flush/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/flush/overload1.html
new file mode 100644
index 0000000000..f545137c7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/flush/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::flush (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../flush.html" title="buffered_write_stream::flush">
+<link rel="prev" href="../flush.html" title="buffered_write_stream::flush">
+<link rel="next" href="overload2.html" title="buffered_write_stream::flush (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../flush.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.flush.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::flush (1 of 2 overloads)">buffered_write_stream::flush
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation. Throws
+ an exception on failure.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../flush.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/flush/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/flush/overload2.html
new file mode 100644
index 0000000000..1f678905ab
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/flush/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::flush (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../flush.html" title="buffered_write_stream::flush">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::flush (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="buffered_write_stream::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.flush.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::flush (2 of 2 overloads)">buffered_write_stream::flush
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Flush all data from the buffer to the next layer. Returns the number
+ of bytes written to the next layer on the last write operation, or 0
+ if an error occurred.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">flush</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../flush.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/get_io_service.html b/doc/html/boost_asio/reference/buffered_write_stream/get_io_service.html
new file mode 100644
index 0000000000..1bac694700
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/get_io_service.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="flush/overload2.html" title="buffered_write_stream::flush (2 of 2 overloads)">
+<link rel="next" href="in_avail.html" title="buffered_write_stream::in_avail">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flush/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.get_io_service"></a><a class="link" href="get_io_service.html" title="buffered_write_stream::get_io_service">buffered_write_stream::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136826752"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="flush/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/in_avail.html b/doc/html/boost_asio/reference/buffered_write_stream/in_avail.html
new file mode 100644
index 0000000000..67b3debb71
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/in_avail.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::in_avail</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="get_io_service.html" title="buffered_write_stream::get_io_service">
+<link rel="next" href="in_avail/overload1.html" title="buffered_write_stream::in_avail (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.in_avail"></a><a class="link" href="in_avail.html" title="buffered_write_stream::in_avail">buffered_write_stream::in_avail</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136837600"></a>
+Determine the amount of data that may be read
+ without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="in_avail/overload1.html" title="buffered_write_stream::in_avail (1 of 2 overloads)">in_avail</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="in_avail/overload1.html" title="buffered_write_stream::in_avail (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="in_avail/overload2.html" title="buffered_write_stream::in_avail (2 of 2 overloads)">in_avail</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="in_avail/overload2.html" title="buffered_write_stream::in_avail (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_avail/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload1.html
new file mode 100644
index 0000000000..896df309ba
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::in_avail (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../in_avail.html" title="buffered_write_stream::in_avail">
+<link rel="prev" href="../in_avail.html" title="buffered_write_stream::in_avail">
+<link rel="next" href="overload2.html" title="buffered_write_stream::in_avail (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../in_avail.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.in_avail.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::in_avail (1 of 2 overloads)">buffered_write_stream::in_avail
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../in_avail.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload2.html
new file mode 100644
index 0000000000..79e39d56f2
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/in_avail/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::in_avail (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../in_avail.html" title="buffered_write_stream::in_avail">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::in_avail (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer.html" title="buffered_write_stream::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.in_avail.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::in_avail (2 of 2 overloads)">buffered_write_stream::in_avail
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Determine the amount of data that may be read without blocking.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">in_avail</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../in_avail.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer.html b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer.html
new file mode 100644
index 0000000000..3800991ecf
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="in_avail/overload2.html" title="buffered_write_stream::in_avail (2 of 2 overloads)">
+<link rel="next" href="lowest_layer/overload1.html" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="in_avail/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.lowest_layer"></a><a class="link" href="lowest_layer.html" title="buffered_write_stream::lowest_layer">buffered_write_stream::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136872320"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="in_avail/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload1.html
new file mode 100644
index 0000000000..34354933b3
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="buffered_write_stream::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="buffered_write_stream::lowest_layer">
+<link rel="next" href="overload2.html" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">buffered_write_stream::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload2.html
new file mode 100644
index 0000000000..53af659c6d
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="buffered_write_stream::lowest_layer">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="buffered_write_stream::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">buffered_write_stream::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer_type.html b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer_type.html
new file mode 100644
index 0000000000..f213ca1ad9
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/lowest_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="lowest_layer/overload2.html" title="buffered_write_stream::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="next_layer.html" title="buffered_write_stream::next_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="buffered_write_stream::lowest_layer_type">buffered_write_stream::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136901216"></a>
+The type of the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffered_write_stream.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.buffered_write_stream.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_write_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/next_layer.html b/doc/html/boost_asio/reference/buffered_write_stream/next_layer.html
new file mode 100644
index 0000000000..59a9188185
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/next_layer.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::next_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="lowest_layer_type.html" title="buffered_write_stream::lowest_layer_type">
+<link rel="next" href="next_layer_type.html" title="buffered_write_stream::next_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.next_layer"></a><a class="link" href="next_layer.html" title="buffered_write_stream::next_layer">buffered_write_stream::next_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136914784"></a>
+Get a reference to the next layer.
+ </p>
+<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/next_layer_type.html b/doc/html/boost_asio/reference/buffered_write_stream/next_layer_type.html
new file mode 100644
index 0000000000..e4b74d079a
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/next_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::next_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="next_layer.html" title="buffered_write_stream::next_layer">
+<link rel="next" href="peek.html" title="buffered_write_stream::peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.next_layer_type"></a><a class="link" href="next_layer_type.html" title="buffered_write_stream::next_layer_type">buffered_write_stream::next_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136921488"></a>
+The type of the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffered_write_stream.next_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffered_write_stream.next_layer_type.requirements"></a></span><a class="link" href="next_layer_type.html#boost_asio.reference.buffered_write_stream.next_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffered_write_stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="next_layer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/peek.html b/doc/html/boost_asio/reference/buffered_write_stream/peek.html
new file mode 100644
index 0000000000..d1bf5d4438
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/peek.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="next_layer_type.html" title="buffered_write_stream::next_layer_type">
+<link rel="next" href="peek/overload1.html" title="buffered_write_stream::peek (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.peek"></a><a class="link" href="peek.html" title="buffered_write_stream::peek">buffered_write_stream::peek</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136936368"></a>
+Peek at the incoming data on the stream. Returns
+ the number of bytes read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="peek/overload1.html" title="buffered_write_stream::peek (1 of 2 overloads)">peek</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="peek/overload1.html" title="buffered_write_stream::peek (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes read,
+ or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="peek/overload2.html" title="buffered_write_stream::peek (2 of 2 overloads)">peek</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="peek/overload2.html" title="buffered_write_stream::peek (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="peek/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/peek/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/peek/overload1.html
new file mode 100644
index 0000000000..14884aa9a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/peek/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::peek (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../peek.html" title="buffered_write_stream::peek">
+<link rel="prev" href="../peek.html" title="buffered_write_stream::peek">
+<link rel="next" href="overload2.html" title="buffered_write_stream::peek (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../peek.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.peek.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::peek (1 of 2 overloads)">buffered_write_stream::peek
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes
+ read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../peek.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/peek/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/peek/overload2.html
new file mode 100644
index 0000000000..315a2ba602
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/peek/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::peek (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../peek.html" title="buffered_write_stream::peek">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::peek (1 of 2 overloads)">
+<link rel="next" href="../read_some.html" title="buffered_write_stream::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.peek.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::peek (2 of 2 overloads)">buffered_write_stream::peek
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Peek at the incoming data on the stream. Returns the number of bytes
+ read, or 0 if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">peek</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../peek.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/read_some.html b/doc/html/boost_asio/reference/buffered_write_stream/read_some.html
new file mode 100644
index 0000000000..5c743c8ee4
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/read_some.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="peek/overload2.html" title="buffered_write_stream::peek (2 of 2 overloads)">
+<link rel="next" href="read_some/overload1.html" title="buffered_write_stream::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="peek/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.read_some"></a><a class="link" href="read_some.html" title="buffered_write_stream::read_some">buffered_write_stream::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp136999040"></a>
+Read some data from the stream. Returns the
+ number of bytes read. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="buffered_write_stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="buffered_write_stream::read_some (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Read some data from the stream. Returns the number of bytes read or 0 if
+ an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="buffered_write_stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="buffered_write_stream::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="peek/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/read_some/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/read_some/overload1.html
new file mode 100644
index 0000000000..f698498eb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/read_some/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="buffered_write_stream::read_some">
+<link rel="prev" href="../read_some.html" title="buffered_write_stream::read_some">
+<link rel="next" href="overload2.html" title="buffered_write_stream::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.read_some.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::read_some (1 of 2 overloads)">buffered_write_stream::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream. Returns the number of bytes read. Throws
+ an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/read_some/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/read_some/overload2.html
new file mode 100644
index 0000000000..a680b30c87
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/read_some/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="buffered_write_stream::read_some">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::read_some (1 of 2 overloads)">
+<link rel="next" href="../write_some.html" title="buffered_write_stream::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.read_some.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::read_some (2 of 2 overloads)">buffered_write_stream::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream. Returns the number of bytes read or 0
+ if an error occurred.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/write_some.html b/doc/html/boost_asio/reference/buffered_write_stream/write_some.html
new file mode 100644
index 0000000000..3714ddc937
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/write_some.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffered_write_stream.html" title="buffered_write_stream">
+<link rel="prev" href="read_some/overload2.html" title="buffered_write_stream::read_some (2 of 2 overloads)">
+<link rel="next" href="write_some/overload1.html" title="buffered_write_stream::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffered_write_stream.write_some"></a><a class="link" href="write_some.html" title="buffered_write_stream::write_some">buffered_write_stream::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137061616"></a>
+Write the given data to the stream. Returns
+ the number of bytes written. Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="buffered_write_stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="buffered_write_stream::write_some (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Write the given data to the stream. Returns the number of bytes written,
+ or 0 if an error occurred and the error handler did not throw.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="buffered_write_stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="buffered_write_stream::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffered_write_stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/write_some/overload1.html b/doc/html/boost_asio/reference/buffered_write_stream/write_some/overload1.html
new file mode 100644
index 0000000000..dde3bf9817
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/write_some/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="buffered_write_stream::write_some">
+<link rel="prev" href="../write_some.html" title="buffered_write_stream::write_some">
+<link rel="next" href="overload2.html" title="buffered_write_stream::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.write_some.overload1"></a><a class="link" href="overload1.html" title="buffered_write_stream::write_some (1 of 2 overloads)">buffered_write_stream::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write the given data to the stream. Returns the number of bytes written.
+ Throws an exception on failure.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffered_write_stream/write_some/overload2.html b/doc/html/boost_asio/reference/buffered_write_stream/write_some/overload2.html
new file mode 100644
index 0000000000..e4dede21f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffered_write_stream/write_some/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffered_write_stream::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="buffered_write_stream::write_some">
+<link rel="prev" href="overload1.html" title="buffered_write_stream::write_some (1 of 2 overloads)">
+<link rel="next" href="../../buffers_begin.html" title="buffers_begin">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../buffers_begin.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffered_write_stream.write_some.overload2"></a><a class="link" href="overload2.html" title="buffered_write_stream::write_some (2 of 2 overloads)">buffered_write_stream::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write the given data to the stream. Returns the number of bytes written,
+ or 0 if an error occurred and the error handler did not throw.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../buffers_begin.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_begin.html b/doc/html/boost_asio/reference/buffers_begin.html
new file mode 100644
index 0000000000..c2e574bf84
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_begin.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_begin</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffered_write_stream/write_some/overload2.html" title="buffered_write_stream::write_some (2 of 2 overloads)">
+<link rel="next" href="buffers_end.html" title="buffers_end">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffered_write_stream/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_end.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffers_begin"></a><a class="link" href="buffers_begin.html" title="buffers_begin">buffers_begin</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp137124528"></a>
+Construct an iterator representing the beginning of the buffers'
+ data.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
+<span class="identifier">buffers_iterator</span><span class="special">&lt;</span> <span class="identifier">BufferSequence</span> <span class="special">&gt;</span> <span class="identifier">buffers_begin</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffers_begin.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_begin.requirements"></a></span><a class="link" href="buffers_begin.html#boost_asio.reference.buffers_begin.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffered_write_stream/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_end.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_end.html b/doc/html/boost_asio/reference/buffers_end.html
new file mode 100644
index 0000000000..b01285a253
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_end.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_end</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffers_begin.html" title="buffers_begin">
+<link rel="next" href="buffers_iterator.html" title="buffers_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffers_begin.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_iterator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffers_end"></a><a class="link" href="buffers_end.html" title="buffers_end">buffers_end</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp137144128"></a>
+Construct an iterator representing the end of the buffers' data.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">&gt;</span>
+<span class="identifier">buffers_iterator</span><span class="special">&lt;</span> <span class="identifier">BufferSequence</span> <span class="special">&gt;</span> <span class="identifier">buffers_end</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffers_end.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_end.requirements"></a></span><a class="link" href="buffers_end.html#boost_asio.reference.buffers_end.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffers_begin.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_iterator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator.html b/doc/html/boost_asio/reference/buffers_iterator.html
new file mode 100644
index 0000000000..eb3d697940
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator.html
@@ -0,0 +1,416 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffers_end.html" title="buffers_end">
+<link rel="next" href="buffers_iterator/begin.html" title="buffers_iterator::begin">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffers_end.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_iterator/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.buffers_iterator"></a><a class="link" href="buffers_iterator.html" title="buffers_iterator">buffers_iterator</a>
+</h3></div></div></div>
+<p>
+ A random access iterator over the bytes in a buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">BufferSequence</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ByteType</span> <span class="special">=</span> <span class="keyword">char</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">buffers_iterator</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.buffers_iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.types"></a></span><a class="link" href="buffers_iterator.html#boost_asio.reference.buffers_iterator.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/difference_type.html" title="buffers_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used for the distance between two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/iterator_category.html" title="buffers_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator category.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/pointer.html" title="buffers_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator-&gt;() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/reference.html" title="buffers_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator*() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/value_type.html" title="buffers_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the value pointed to by the iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffers_iterator.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.member_functions"></a></span><a class="link" href="buffers_iterator.html#boost_asio.reference.buffers_iterator.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/begin.html" title="buffers_iterator::begin"><span class="bold"><strong>begin</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an iterator representing the beginning of the buffers'
+ data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/buffers_iterator.html" title="buffers_iterator::buffers_iterator"><span class="bold"><strong>buffers_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor. Creates an iterator in an undefined state.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/end.html" title="buffers_iterator::end"><span class="bold"><strong>end</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an iterator representing the end of the buffers' data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator__star_.html" title="buffers_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_plus__plus_.html" title="buffers_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Increment operator (prefix).
+ </p>
+ <p>
+ Increment operator (postfix).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_plus__eq_.html" title="buffers_iterator::operator+="><span class="bold"><strong>operator+=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Addition operator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_minus__minus_.html" title="buffers_iterator::operator--"><span class="bold"><strong>operator--</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Decrement operator (prefix).
+ </p>
+ <p>
+ Decrement operator (postfix).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_minus__eq_.html" title="buffers_iterator::operator-="><span class="bold"><strong>operator-=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Subtraction operator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_arrow_.html" title="buffers_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_lb__rb_.html" title="buffers_iterator::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Access an individual element.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffers_iterator.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.friends"></a></span><a class="link" href="buffers_iterator.html#boost_asio.reference.buffers_iterator.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_not__eq_.html" title="buffers_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_plus_.html" title="buffers_iterator::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Addition operator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_minus_.html" title="buffers_iterator::operator-"><span class="bold"><strong>operator-</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Subtraction operator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_lt_.html" title="buffers_iterator::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_lt__eq_.html" title="buffers_iterator::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_eq__eq_.html" title="buffers_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_gt_.html" title="buffers_iterator::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="buffers_iterator/operator_gt__eq_.html" title="buffers_iterator::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two iterators.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.buffers_iterator.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.requirements"></a></span><a class="link" href="buffers_iterator.html#boost_asio.reference.buffers_iterator.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffers_end.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_iterator/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/begin.html b/doc/html/boost_asio/reference/buffers_iterator/begin.html
new file mode 100644
index 0000000000..c019d87511
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/begin.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::begin</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="next" href="buffers_iterator.html" title="buffers_iterator::buffers_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.begin"></a><a class="link" href="begin.html" title="buffers_iterator::begin">buffers_iterator::begin</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137280496"></a>
+Construct an iterator representing the beginning of
+ the buffers' data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">buffers_iterator</span> <span class="identifier">begin</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../buffers_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="buffers_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/buffers_iterator.html b/doc/html/boost_asio/reference/buffers_iterator/buffers_iterator.html
new file mode 100644
index 0000000000..883809858f
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/buffers_iterator.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::buffers_iterator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="begin.html" title="buffers_iterator::begin">
+<link rel="next" href="difference_type.html" title="buffers_iterator::difference_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="difference_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.buffers_iterator"></a><a class="link" href="buffers_iterator.html" title="buffers_iterator::buffers_iterator">buffers_iterator::buffers_iterator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137290624"></a>
+Default constructor. Creates an iterator
+ in an undefined state.
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="difference_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/difference_type.html b/doc/html/boost_asio/reference/buffers_iterator/difference_type.html
new file mode 100644
index 0000000000..4d60655136
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/difference_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::difference_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="buffers_iterator.html" title="buffers_iterator::buffers_iterator">
+<link rel="next" href="end.html" title="buffers_iterator::end">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffers_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.difference_type"></a><a class="link" href="difference_type.html" title="buffers_iterator::difference_type">buffers_iterator::difference_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137295984"></a>
+The type used for the distance between two
+ iterators.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.difference_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.difference_type.requirements"></a></span><a class="link" href="difference_type.html#boost_asio.reference.buffers_iterator.difference_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffers_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/end.html b/doc/html/boost_asio/reference/buffers_iterator/end.html
new file mode 100644
index 0000000000..f9bc9de6fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/end.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::end</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="difference_type.html" title="buffers_iterator::difference_type">
+<link rel="next" href="iterator_category.html" title="buffers_iterator::iterator_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="difference_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.end"></a><a class="link" href="end.html" title="buffers_iterator::end">buffers_iterator::end</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137309488"></a>
+Construct an iterator representing the end of the buffers'
+ data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">buffers_iterator</span> <span class="identifier">end</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="difference_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/iterator_category.html b/doc/html/boost_asio/reference/buffers_iterator/iterator_category.html
new file mode 100644
index 0000000000..0ac64f703f
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/iterator_category.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::iterator_category</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="end.html" title="buffers_iterator::end">
+<link rel="next" href="operator__star_.html" title="buffers_iterator::operator *">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__star_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.iterator_category"></a><a class="link" href="iterator_category.html" title="buffers_iterator::iterator_category">buffers_iterator::iterator_category</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137319440"></a>
+The iterator category.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">random_access_iterator_tag</span> <span class="identifier">iterator_category</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.iterator_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.iterator_category.requirements"></a></span><a class="link" href="iterator_category.html#boost_asio.reference.buffers_iterator.iterator_category.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__star_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator__star_.html b/doc/html/boost_asio/reference/buffers_iterator/operator__star_.html
new file mode 100644
index 0000000000..d362e92711
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator__star_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator *</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="iterator_category.html" title="buffers_iterator::iterator_category">
+<link rel="next" href="operator_not__eq_.html" title="buffers_iterator::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iterator_category.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator__star_"></a><a class="link" href="operator__star_.html" title="buffers_iterator::operator *">buffers_iterator::operator
+ *</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137332832"></a>
+Dereference an iterator.
+ </p>
+<pre class="programlisting"><span class="identifier">reference</span> <span class="keyword">operator</span> <span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="iterator_category.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_arrow_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_arrow_.html
new file mode 100644
index 0000000000..bf70724efc
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_arrow_.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator-&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_minus__eq_.html" title="buffers_iterator::operator-=">
+<link rel="next" href="operator_lt_.html" title="buffers_iterator::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_minus__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_arrow_"></a><a class="link" href="operator_arrow_.html" title="buffers_iterator::operator-&gt;">buffers_iterator::operator-&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137554240"></a>
+Dereference an iterator.
+ </p>
+<pre class="programlisting"><span class="identifier">pointer</span> <span class="keyword">operator</span><span class="special">-&gt;()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_minus__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_eq__eq_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_eq__eq_.html
new file mode 100644
index 0000000000..8df25588ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_lt__eq_.html" title="buffers_iterator::operator&lt;=">
+<link rel="next" href="operator_gt_.html" title="buffers_iterator::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="buffers_iterator::operator==">buffers_iterator::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137599312"></a>
+Test two iterators for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.buffers_iterator.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_gt_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_gt_.html
new file mode 100644
index 0000000000..615978a525
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_eq__eq_.html" title="buffers_iterator::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="buffers_iterator::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_gt_"></a><a class="link" href="operator_gt_.html" title="buffers_iterator::operator&gt;">buffers_iterator::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137618272"></a>
+Compare two iterators.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.buffers_iterator.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_gt__eq_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_gt__eq_.html
new file mode 100644
index 0000000000..2e907dbfe1
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_gt_.html" title="buffers_iterator::operator&gt;">
+<link rel="next" href="operator_lb__rb_.html" title="buffers_iterator::operator[]">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="buffers_iterator::operator&gt;=">buffers_iterator::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137637024"></a>
+Compare two iterators.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.buffers_iterator.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_lb__rb_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_lb__rb_.html
new file mode 100644
index 0000000000..10a5fa2d34
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_lb__rb_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator[]</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_gt__eq_.html" title="buffers_iterator::operator&gt;=">
+<link rel="next" href="pointer.html" title="buffers_iterator::pointer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pointer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_lb__rb_"></a><a class="link" href="operator_lb__rb_.html" title="buffers_iterator::operator[]">buffers_iterator::operator[]</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137655968"></a>
+Access an individual element.
+ </p>
+<pre class="programlisting"><span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">[](</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pointer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_lt_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_lt_.html
new file mode 100644
index 0000000000..330a3ee131
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_arrow_.html" title="buffers_iterator::operator-&gt;">
+<link rel="next" href="operator_lt__eq_.html" title="buffers_iterator::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_arrow_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_lt_"></a><a class="link" href="operator_lt_.html" title="buffers_iterator::operator&lt;">buffers_iterator::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137561504"></a>
+Compare two iterators.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.buffers_iterator.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_arrow_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_lt__eq_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_lt__eq_.html
new file mode 100644
index 0000000000..d271a4cae5
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_lt_.html" title="buffers_iterator::operator&lt;">
+<link rel="next" href="operator_eq__eq_.html" title="buffers_iterator::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="buffers_iterator::operator&lt;=">buffers_iterator::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137580400"></a>
+Compare two iterators.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.buffers_iterator.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus_.html
new file mode 100644
index 0000000000..9971ef227b
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus_.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator-</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_plus__eq_.html" title="buffers_iterator::operator+=">
+<link rel="next" href="operator_minus_/overload1.html" title="buffers_iterator::operator- (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_plus__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_minus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus_"></a><a class="link" href="operator_minus_.html" title="buffers_iterator::operator-">buffers_iterator::operator-</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137455296"></a>
+Subtraction operator.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <a class="link" href="operator_minus_/overload1.html" title="buffers_iterator::operator- (1 of 2 overloads)">operator-</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_minus_/overload1.html" title="buffers_iterator::operator- (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">friend</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <a class="link" href="operator_minus_/overload2.html" title="buffers_iterator::operator- (2 of 2 overloads)">operator-</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_minus_/overload2.html" title="buffers_iterator::operator- (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_plus__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_minus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload1.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload1.html
new file mode 100644
index 0000000000..da43199142
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload1.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator- (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_minus_.html" title="buffers_iterator::operator-">
+<link rel="prev" href="../operator_minus_.html" title="buffers_iterator::operator-">
+<link rel="next" href="overload2.html" title="buffers_iterator::operator- (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_minus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload1"></a><a class="link" href="overload1.html" title="buffers_iterator::operator- (1 of 2 overloads)">buffers_iterator::operator-
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Subtraction operator.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">-(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_minus_.overload1.requirements"></a></span><a class="link" href="overload1.html#boost_asio.reference.buffers_iterator.operator_minus_.overload1.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../operator_minus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload2.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload2.html
new file mode 100644
index 0000000000..770312dfa3
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus_/overload2.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator- (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_minus_.html" title="buffers_iterator::operator-">
+<link rel="prev" href="overload1.html" title="buffers_iterator::operator- (1 of 2 overloads)">
+<link rel="next" href="../operator_minus__minus_.html" title="buffers_iterator::operator--">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload2"></a><a class="link" href="overload2.html" title="buffers_iterator::operator- (2 of 2 overloads)">buffers_iterator::operator-
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Subtraction operator.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="keyword">operator</span><span class="special">-(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_minus_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_minus_.overload2.requirements"></a></span><a class="link" href="overload2.html#boost_asio.reference.buffers_iterator.operator_minus_.overload2.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus__eq_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__eq_.html
new file mode 100644
index 0000000000..8b31da39e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator-=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_minus__minus_/overload2.html" title="buffers_iterator::operator-- (2 of 2 overloads)">
+<link rel="next" href="operator_arrow_.html" title="buffers_iterator::operator-&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_minus__minus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_arrow_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus__eq_"></a><a class="link" href="operator_minus__eq_.html" title="buffers_iterator::operator-=">buffers_iterator::operator-=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137544448"></a>
+Subtraction operator.
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">-=(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_minus__minus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_arrow_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_.html
new file mode 100644
index 0000000000..ee8435aefd
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator--</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_minus_/overload2.html" title="buffers_iterator::operator- (2 of 2 overloads)">
+<link rel="next" href="operator_minus__minus_/overload1.html" title="buffers_iterator::operator-- (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_minus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_minus__minus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus__minus_"></a><a class="link" href="operator_minus__minus_.html" title="buffers_iterator::operator--">buffers_iterator::operator--</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137518128"></a>
+Decrement operator (prefix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <a class="link" href="operator_minus__minus_/overload1.html" title="buffers_iterator::operator-- (1 of 2 overloads)">operator--</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_minus__minus_/overload1.html" title="buffers_iterator::operator-- (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Decrement operator (postfix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <a class="link" href="operator_minus__minus_/overload2.html" title="buffers_iterator::operator-- (2 of 2 overloads)">operator--</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_minus__minus_/overload2.html" title="buffers_iterator::operator-- (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_minus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_minus__minus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload1.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload1.html
new file mode 100644
index 0000000000..a50d615183
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator-- (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_minus__minus_.html" title="buffers_iterator::operator--">
+<link rel="prev" href="../operator_minus__minus_.html" title="buffers_iterator::operator--">
+<link rel="next" href="overload2.html" title="buffers_iterator::operator-- (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus__minus_.overload1"></a><a class="link" href="overload1.html" title="buffers_iterator::operator-- (1 of 2 overloads)">buffers_iterator::operator--
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Decrement operator (prefix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">--();</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload2.html b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload2.html
new file mode 100644
index 0000000000..32875e23f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_minus__minus_/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator-- (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_minus__minus_.html" title="buffers_iterator::operator--">
+<link rel="prev" href="overload1.html" title="buffers_iterator::operator-- (1 of 2 overloads)">
+<link rel="next" href="../operator_minus__eq_.html" title="buffers_iterator::operator-=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_minus__eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_minus__minus_.overload2"></a><a class="link" href="overload2.html" title="buffers_iterator::operator-- (2 of 2 overloads)">buffers_iterator::operator--
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Decrement operator (postfix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">--(</span>
+ <span class="keyword">int</span> <span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_minus__minus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_minus__eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_not__eq_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_not__eq_.html
new file mode 100644
index 0000000000..4f1ae52938
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator__star_.html" title="buffers_iterator::operator *">
+<link rel="next" href="operator_plus_.html" title="buffers_iterator::operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator__star_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="buffers_iterator::operator!=">buffers_iterator::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137340224"></a>
+Test two iterators for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.buffers_iterator.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator__star_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus_.html
new file mode 100644
index 0000000000..eca5ed7ba8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus_.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator+</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_not__eq_.html" title="buffers_iterator::operator!=">
+<link rel="next" href="operator_plus_/overload1.html" title="buffers_iterator::operator+ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus_"></a><a class="link" href="operator_plus_.html" title="buffers_iterator::operator+">buffers_iterator::operator+</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137358960"></a>
+Addition operator.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <a class="link" href="operator_plus_/overload1.html" title="buffers_iterator::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload1.html" title="buffers_iterator::operator+ (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <a class="link" href="operator_plus_/overload2.html" title="buffers_iterator::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload2.html" title="buffers_iterator::operator+ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload1.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload1.html
new file mode 100644
index 0000000000..d708b1c66c
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload1.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator+ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="buffers_iterator::operator+">
+<link rel="prev" href="../operator_plus_.html" title="buffers_iterator::operator+">
+<link rel="next" href="overload2.html" title="buffers_iterator::operator+ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload1"></a><a class="link" href="overload1.html" title="buffers_iterator::operator+ (1 of 2 overloads)">buffers_iterator::operator+
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Addition operator.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_plus_.overload1.requirements"></a></span><a class="link" href="overload1.html#boost_asio.reference.buffers_iterator.operator_plus_.overload1.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload2.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload2.html
new file mode 100644
index 0000000000..aa8788f808
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus_/overload2.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator+ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="buffers_iterator::operator+">
+<link rel="prev" href="overload1.html" title="buffers_iterator::operator+ (1 of 2 overloads)">
+<link rel="next" href="../operator_plus__plus_.html" title="buffers_iterator::operator++">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload2"></a><a class="link" href="overload2.html" title="buffers_iterator::operator+ (2 of 2 overloads)">buffers_iterator::operator+
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Addition operator.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="identifier">iter</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.operator_plus_.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.operator_plus_.overload2.requirements"></a></span><a class="link" href="overload2.html#boost_asio.reference.buffers_iterator.operator_plus_.overload2.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus__eq_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__eq_.html
new file mode 100644
index 0000000000..b46ec080cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator+=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_plus__plus_/overload2.html" title="buffers_iterator::operator++ (2 of 2 overloads)">
+<link rel="next" href="operator_minus_.html" title="buffers_iterator::operator-">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_plus__plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_minus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus__eq_"></a><a class="link" href="operator_plus__eq_.html" title="buffers_iterator::operator+=">buffers_iterator::operator+=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137445536"></a>
+Addition operator.
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">+=(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_plus__plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_minus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_.html
new file mode 100644
index 0000000000..5a278840a6
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator++</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_plus_/overload2.html" title="buffers_iterator::operator+ (2 of 2 overloads)">
+<link rel="next" href="operator_plus__plus_/overload1.html" title="buffers_iterator::operator++ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus__plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus__plus_"></a><a class="link" href="operator_plus__plus_.html" title="buffers_iterator::operator++">buffers_iterator::operator++</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137419392"></a>
+Increment operator (prefix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <a class="link" href="operator_plus__plus_/overload1.html" title="buffers_iterator::operator++ (1 of 2 overloads)">operator++</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus__plus_/overload1.html" title="buffers_iterator::operator++ (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Increment operator (postfix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <a class="link" href="operator_plus__plus_/overload2.html" title="buffers_iterator::operator++ (2 of 2 overloads)">operator++</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus__plus_/overload2.html" title="buffers_iterator::operator++ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus__plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload1.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload1.html
new file mode 100644
index 0000000000..9be2f4bcd7
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator++ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus__plus_.html" title="buffers_iterator::operator++">
+<link rel="prev" href="../operator_plus__plus_.html" title="buffers_iterator::operator++">
+<link rel="next" href="overload2.html" title="buffers_iterator::operator++ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus__plus_.overload1"></a><a class="link" href="overload1.html" title="buffers_iterator::operator++ (1 of 2 overloads)">buffers_iterator::operator++
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Increment operator (prefix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload2.html b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload2.html
new file mode 100644
index 0000000000..1aee400570
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/operator_plus__plus_/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::operator++ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus__plus_.html" title="buffers_iterator::operator++">
+<link rel="prev" href="overload1.html" title="buffers_iterator::operator++ (1 of 2 overloads)">
+<link rel="next" href="../operator_plus__eq_.html" title="buffers_iterator::operator+=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus__eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.buffers_iterator.operator_plus__plus_.overload2"></a><a class="link" href="overload2.html" title="buffers_iterator::operator++ (2 of 2 overloads)">buffers_iterator::operator++
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Increment operator (postfix).
+ </p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span> <span class="keyword">operator</span><span class="special">++(</span>
+ <span class="keyword">int</span> <span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus__eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/pointer.html b/doc/html/boost_asio/reference/buffers_iterator/pointer.html
new file mode 100644
index 0000000000..b2e31331c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/pointer.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::pointer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="operator_lb__rb_.html" title="buffers_iterator::operator[]">
+<link rel="next" href="reference.html" title="buffers_iterator::reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.pointer"></a><a class="link" href="pointer.html" title="buffers_iterator::pointer">buffers_iterator::pointer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137666160"></a>
+The type of the result of applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">-&gt;()</span></code>
+ to the iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">const_or_non_const_ByteType</span> <span class="special">*</span> <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<p>
+ If the buffer sequence stores buffer objects that are convertible to <a class="link" href="../mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>,
+ this is a pointer to a non-const ByteType. Otherwise, a pointer to a const
+ ByteType.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.pointer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.pointer.requirements"></a></span><a class="link" href="pointer.html#boost_asio.reference.buffers_iterator.pointer.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lb__rb_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/reference.html b/doc/html/boost_asio/reference/buffers_iterator/reference.html
new file mode 100644
index 0000000000..35474b84f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/reference.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::reference</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="pointer.html" title="buffers_iterator::pointer">
+<link rel="next" href="value_type.html" title="buffers_iterator::value_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pointer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.reference"></a><a class="link" href="reference.html" title="buffers_iterator::reference">buffers_iterator::reference</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137683408"></a>
+The type of the result of applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>
+ to the iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">const_or_non_const_ByteType</span> <span class="special">&amp;</span> <span class="identifier">reference</span><span class="special">;</span>
+</pre>
+<p>
+ If the buffer sequence stores buffer objects that are convertible to <a class="link" href="../mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>,
+ this is a reference to a non-const ByteType. Otherwise, a reference to
+ a const ByteType.
+ </p>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.reference.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.reference.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.buffers_iterator.reference.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="pointer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/buffers_iterator/value_type.html b/doc/html/boost_asio/reference/buffers_iterator/value_type.html
new file mode 100644
index 0000000000..86411f6530
--- /dev/null
+++ b/doc/html/boost_asio/reference/buffers_iterator/value_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>buffers_iterator::value_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../buffers_iterator.html" title="buffers_iterator">
+<link rel="prev" href="reference.html" title="buffers_iterator::reference">
+<link rel="next" href="../connect.html" title="connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.buffers_iterator.value_type"></a><a class="link" href="value_type.html" title="buffers_iterator::value_type">buffers_iterator::value_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp137700544"></a>
+The type of the value pointed to by the iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ByteType</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.buffers_iterator.value_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.buffers_iterator.value_type.requirements"></a></span><a class="link" href="value_type.html#boost_asio.reference.buffers_iterator.value_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffers_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../buffers_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect.html b/doc/html/boost_asio/reference/connect.html
new file mode 100644
index 0000000000..f0d3a31d4d
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect.html
@@ -0,0 +1,145 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="buffers_iterator/value_type.html" title="buffers_iterator::value_type">
+<link rel="next" href="connect/overload1.html" title="connect (1 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="buffers_iterator/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.connect"></a><a class="link" href="connect.html" title="connect">connect</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp137712896"></a>
+Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload1.html" title="connect (1 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload1.html" title="connect (1 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload2.html" title="connect (2 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload2.html" title="connect (2 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload3.html" title="connect (3 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload3.html" title="connect (3 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload4.html" title="connect (4 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload4.html" title="connect (4 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload5.html" title="connect (5 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload5.html" title="connect (5 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload6.html" title="connect (6 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload6.html" title="connect (6 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload7.html" title="connect (7 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload7.html" title="connect (7 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <a class="link" href="connect/overload8.html" title="connect (8 of 8 overloads)">connect</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="connect/overload8.html" title="connect (8 of 8 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.connect.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.requirements"></a></span><a class="link" href="connect.html#boost_asio.reference.connect.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/connect.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="buffers_iterator/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload1.html b/doc/html/boost_asio/reference/connect/overload1.html
new file mode 100644
index 0000000000..4d8c346282
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload1.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (1 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="../connect.html" title="connect">
+<link rel="next" href="overload2.html" title="connect (2 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload1"></a><a class="link" href="overload1.html" title="connect (1 of 8 overloads)">connect (1
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.connect.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.connect.overload1.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.connect.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
+ Otherwise, contains the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.connect.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
+ This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.connect.overload1.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="../connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload2.html b/doc/html/boost_asio/reference/connect/overload2.html
new file mode 100644
index 0000000000..42a9e4f806
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload2.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (2 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload1.html" title="connect (1 of 8 overloads)">
+<link rel="next" href="overload3.html" title="connect (3 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload2"></a><a class="link" href="overload2.html" title="connect (2 of 8 overloads)">connect (2
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.connect.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the sequence is empty,
+ set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
+ the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.connect.overload2.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.connect.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
+ This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.connect.overload2.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload3.html b/doc/html/boost_asio/reference/connect/overload3.html
new file mode 100644
index 0000000000..7aa9b21001
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload3.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (3 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload2.html" title="connect (2 of 8 overloads)">
+<link rel="next" href="overload4.html" title="connect (4 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload3"></a><a class="link" href="overload3.html" title="connect (3 of 8 overloads)">connect (3
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.connect.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">end</span></dt>
+<dd><p>
+ An iterator pointing to the end of a sequence of endpoints.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.connect.overload3.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.connect.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
+ Otherwise, contains the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.connect.overload3.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload4.html b/doc/html/boost_asio/reference/connect/overload4.html
new file mode 100644
index 0000000000..afeb862b29
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload4.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (4 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload3.html" title="connect (3 of 8 overloads)">
+<link rel="next" href="overload5.html" title="connect (5 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload4"></a><a class="link" href="overload4.html" title="connect (4 of 8 overloads)">connect (4
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.connect.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">end</span></dt>
+<dd><p>
+ An iterator pointing to the end of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the sequence is empty,
+ set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
+ the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.connect.overload4.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload4.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload4.example"></a></span><a class="link" href="overload4.html#boost_asio.reference.connect.overload4.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload5.html b/doc/html/boost_asio/reference/connect/overload5.html
new file mode 100644
index 0000000000..d02cccd36c
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload5.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (5 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload4.html" title="connect (4 of 8 overloads)">
+<link rel="next" href="overload6.html" title="connect (6 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload5"></a><a class="link" href="overload5.html" title="connect (5 of 8 overloads)">connect (5
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.connect.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">connect_condition</span></dt>
+<dd>
+<p>
+ A function object that is called prior to each connection attempt.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
+ contains the result from the most recent connect operation. Before
+ the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
+ is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
+ parameter is an iterator pointing to the next endpoint to be tried.
+ The function object should return the next iterator, but is permitted
+ to return a different iterator so that endpoints may be skipped.
+ The implementation guarantees that the function object will never
+ be called with the end iterator.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.connect.overload5.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload5.exceptions"></a></span><a class="link" href="overload5.html#boost_asio.reference.connect.overload5.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
+ Otherwise, contains the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload5.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.connect.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
+ This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload5.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload5.example"></a></span><a class="link" href="overload5.html#boost_asio.reference.connect.overload5.example">Example</a>
+ </h6>
+<p>
+ The following connect condition function object can be used to output information
+ about the individual connection attempts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
+ function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">my_connect_condition</span><span class="special">());</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload6.html b/doc/html/boost_asio/reference/connect/overload6.html
new file mode 100644
index 0000000000..27b1f60941
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload6.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (6 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload5.html" title="connect (5 of 8 overloads)">
+<link rel="next" href="overload7.html" title="connect (7 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload6"></a><a class="link" href="overload6.html" title="connect (6 of 8 overloads)">connect (6
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.connect.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">connect_condition</span></dt>
+<dd>
+<p>
+ A function object that is called prior to each connection attempt.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
+ contains the result from the most recent connect operation. Before
+ the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
+ is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
+ parameter is an iterator pointing to the next endpoint to be tried.
+ The function object should return the next iterator, but is permitted
+ to return a different iterator so that endpoints may be skipped.
+ The implementation guarantees that the function object will never
+ be called with the end iterator.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the sequence is empty,
+ set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
+ the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.connect.overload6.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.connect.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload assumes that a default constructed object of type <code class="computeroutput"><span class="identifier">Iterator</span></code> represents the end of the sequence.
+ This is a valid assumption for iterator types such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload6.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload6.example"></a></span><a class="link" href="overload6.html#boost_asio.reference.connect.overload6.example">Example</a>
+ </h6>
+<p>
+ The following connect condition function object can be used to output information
+ about the individual connection attempts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
+ function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">my_connect_condition</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload7.html b/doc/html/boost_asio/reference/connect/overload7.html
new file mode 100644
index 0000000000..7217a477ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload7.html
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (7 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload6.html" title="connect (6 of 8 overloads)">
+<link rel="next" href="overload8.html" title="connect (8 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload7"></a><a class="link" href="overload7.html" title="connect (7 of 8 overloads)">connect (7
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.connect.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">end</span></dt>
+<dd><p>
+ An iterator pointing to the end of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">connect_condition</span></dt>
+<dd>
+<p>
+ A function object that is called prior to each connection attempt.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
+ contains the result from the most recent connect operation. Before
+ the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
+ is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
+ parameter is an iterator pointing to the next endpoint to be tried.
+ The function object should return the next iterator, but is permitted
+ to return a different iterator so that endpoints may be skipped.
+ The implementation guarantees that the function object will never
+ be called with the end iterator.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.connect.overload7.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload7.exceptions"></a></span><a class="link" href="overload7.html#boost_asio.reference.connect.overload7.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the sequence is empty, the associated <code class="computeroutput"><span class="identifier">error_code</span></code> is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>.
+ Otherwise, contains the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload7.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload7.example"></a></span><a class="link" href="overload7.html#boost_asio.reference.connect.overload7.example">Example</a>
+ </h6>
+<p>
+ The following connect condition function object can be used to output information
+ about the individual connection attempts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
+ function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">my_connect_condition</span><span class="special">());</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/connect/overload8.html b/doc/html/boost_asio/reference/connect/overload8.html
new file mode 100644
index 0000000000..b0374eec3d
--- /dev/null
+++ b/doc/html/boost_asio/reference/connect/overload8.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>connect (8 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../connect.html" title="connect">
+<link rel="prev" href="overload7.html" title="connect (7 of 8 overloads)">
+<link rel="next" href="../const_buffer.html" title="const_buffer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../const_buffer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.connect.overload8"></a><a class="link" href="overload8.html" title="connect (8 of 8 overloads)">connect (8
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Establishes a socket connection by trying each endpoint in a sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ConnectCondition</span><span class="special">&gt;</span>
+<span class="identifier">Iterator</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="identifier">ConnectCondition</span> <span class="identifier">connect_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function attempts to connect a socket to one of a sequence of endpoints.
+ It does this by repeated calls to the socket's <code class="computeroutput"><span class="identifier">connect</span></code>
+ member function, once for each endpoint in the sequence, until a connection
+ is successfully established.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.connect.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The socket to be connected. If the socket is already open, it will
+ be closed.
+ </p></dd>
+<dt><span class="term">begin</span></dt>
+<dd><p>
+ An iterator pointing to the start of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">end</span></dt>
+<dd><p>
+ An iterator pointing to the end of a sequence of endpoints.
+ </p></dd>
+<dt><span class="term">connect_condition</span></dt>
+<dd>
+<p>
+ A function object that is called prior to each connection attempt.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">Iterator</span> <span class="identifier">connect_condition</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">ec</span></code> parameter
+ contains the result from the most recent connect operation. Before
+ the first connection attempt, <code class="computeroutput"><span class="identifier">ec</span></code>
+ is always set to indicate success. The <code class="computeroutput"><span class="identifier">next</span></code>
+ parameter is an iterator pointing to the next endpoint to be tried.
+ The function object should return the next iterator, but is permitted
+ to return a different iterator so that endpoints may be skipped.
+ The implementation guarantees that the function object will never
+ be called with the end iterator.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the sequence is empty,
+ set to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">not_found</span></code>. Otherwise, contains
+ the error from the last connection attempt.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.connect.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.connect.overload8.return_value">Return Value</a>
+ </h6>
+<p>
+ On success, an iterator denoting the successfully connected endpoint. Otherwise,
+ the end iterator.
+ </p>
+<h6>
+<a name="boost_asio.reference.connect.overload8.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.connect.overload8.example"></a></span><a class="link" href="overload8.html#boost_asio.reference.connect.overload8.example">Example</a>
+ </h6>
+<p>
+ The following connect condition function object can be used to output information
+ about the individual connection attempts:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">my_connect_condition</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">Iterator</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">Iterator</span> <span class="identifier">next</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Error: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ec</span><span class="special">.</span><span class="identifier">message</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Trying: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">next</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">next</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It would be used with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span></code>
+ function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">r</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">q</span><span class="special">(</span><span class="string">"host"</span><span class="special">,</span> <span class="string">"service"</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">q</span><span class="special">),</span> <span class="identifier">end</span><span class="special">;</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">i</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">i</span><span class="special">,</span> <span class="identifier">end</span><span class="special">,</span> <span class="identifier">my_connect_condition</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Connected to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">-&gt;</span><span class="identifier">endpoint</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../connect.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../const_buffer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer.html b/doc/html/boost_asio/reference/const_buffer.html
new file mode 100644
index 0000000000..04ad36c9ba
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer.html
@@ -0,0 +1,156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="connect/overload8.html" title="connect (8 of 8 overloads)">
+<link rel="next" href="const_buffer/const_buffer.html" title="const_buffer::const_buffer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffer/const_buffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.const_buffer"></a><a class="link" href="const_buffer.html" title="const_buffer">const_buffer</a>
+</h3></div></div></div>
+<p>
+ Holds a buffer that cannot be modified.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">const_buffer</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.const_buffer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffer.member_functions"></a></span><a class="link" href="const_buffer.html#boost_asio.reference.const_buffer.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="const_buffer/const_buffer.html" title="const_buffer::const_buffer"><span class="bold"><strong>const_buffer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an empty buffer.
+ </p>
+ <p>
+ Construct a buffer to represent a given memory range.
+ </p>
+ <p>
+ Construct a non-modifiable buffer from a modifiable one.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.const_buffer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffer.related_functions"></a></span><a class="link" href="const_buffer.html#boost_asio.reference.const_buffer.related_functions">Related
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="const_buffer/operator_plus_.html" title="const_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new non-modifiable buffer that is offset from the start
+ of another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="const_buffer.html" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>
+ class provides a safe representation of a buffer that cannot be modified.
+ It does not own the underlying data, and so is cheap to copy or assign.
+ </p>
+<h5>
+<a name="boost_asio.reference.const_buffer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffer.accessing_buffer_contents"></a></span><a class="link" href="const_buffer.html#boost_asio.reference.const_buffer.accessing_buffer_contents">Accessing
+ Buffer Contents</a>
+ </h5>
+<p>
+ The contents of a buffer may be accessed using the <a class="link" href="buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
+<span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<h5>
+<a name="boost_asio.reference.const_buffer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffer.requirements"></a></span><a class="link" href="const_buffer.html#boost_asio.reference.const_buffer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="connect/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffer/const_buffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/const_buffer.html b/doc/html/boost_asio/reference/const_buffer/const_buffer.html
new file mode 100644
index 0000000000..5ae4e2fe73
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/const_buffer.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::const_buffer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffer.html" title="const_buffer">
+<link rel="prev" href="../const_buffer.html" title="const_buffer">
+<link rel="next" href="const_buffer/overload1.html" title="const_buffer::const_buffer (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../const_buffer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffer.const_buffer"></a><a class="link" href="const_buffer.html" title="const_buffer::const_buffer">const_buffer::const_buffer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp138965552"></a>
+Construct an empty buffer.
+ </p>
+<pre class="programlisting"><a class="link" href="const_buffer/overload1.html" title="const_buffer::const_buffer (1 of 3 overloads)">const_buffer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="const_buffer/overload1.html" title="const_buffer::const_buffer (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a buffer to represent a given memory range.
+ </p>
+<pre class="programlisting"><a class="link" href="const_buffer/overload2.html" title="const_buffer::const_buffer (2 of 3 overloads)">const_buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="const_buffer/overload2.html" title="const_buffer::const_buffer (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a non-modifiable buffer from a modifiable one.
+ </p>
+<pre class="programlisting"><a class="link" href="const_buffer/overload3.html" title="const_buffer::const_buffer (3 of 3 overloads)">const_buffer</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="const_buffer/overload3.html" title="const_buffer::const_buffer (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../const_buffer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/const_buffer/overload1.html b/doc/html/boost_asio/reference/const_buffer/const_buffer/overload1.html
new file mode 100644
index 0000000000..c15a596840
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/const_buffer/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::const_buffer (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffer.html" title="const_buffer::const_buffer">
+<link rel="prev" href="../const_buffer.html" title="const_buffer::const_buffer">
+<link rel="next" href="overload2.html" title="const_buffer::const_buffer (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../const_buffer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffer.const_buffer.overload1"></a><a class="link" href="overload1.html" title="const_buffer::const_buffer (1 of 3 overloads)">const_buffer::const_buffer
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an empty buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../const_buffer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/const_buffer/overload2.html b/doc/html/boost_asio/reference/const_buffer/const_buffer/overload2.html
new file mode 100644
index 0000000000..68c949b165
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/const_buffer/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::const_buffer (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffer.html" title="const_buffer::const_buffer">
+<link rel="prev" href="overload1.html" title="const_buffer::const_buffer (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="const_buffer::const_buffer (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffer.const_buffer.overload2"></a><a class="link" href="overload2.html" title="const_buffer::const_buffer (2 of 3 overloads)">const_buffer::const_buffer
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a buffer to represent a given memory range.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/const_buffer/overload3.html b/doc/html/boost_asio/reference/const_buffer/const_buffer/overload3.html
new file mode 100644
index 0000000000..6cd54a2a80
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/const_buffer/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::const_buffer (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffer.html" title="const_buffer::const_buffer">
+<link rel="prev" href="overload2.html" title="const_buffer::const_buffer (2 of 3 overloads)">
+<link rel="next" href="../operator_plus_.html" title="const_buffer::operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffer.const_buffer.overload3"></a><a class="link" href="overload3.html" title="const_buffer::const_buffer (3 of 3 overloads)">const_buffer::const_buffer
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a non-modifiable buffer from a modifiable one.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/operator_plus_.html b/doc/html/boost_asio/reference/const_buffer/operator_plus_.html
new file mode 100644
index 0000000000..2fc77476ce
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/operator_plus_.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::operator+</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffer.html" title="const_buffer">
+<link rel="prev" href="const_buffer/overload3.html" title="const_buffer::const_buffer (3 of 3 overloads)">
+<link rel="next" href="operator_plus_/overload1.html" title="const_buffer::operator+ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_buffer/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffer.operator_plus_"></a><a class="link" href="operator_plus_.html" title="const_buffer::operator+">const_buffer::operator+</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139012192"></a>
+Create a new non-modifiable buffer that is offset
+ from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <a class="link" href="operator_plus_/overload1.html" title="const_buffer::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload1.html" title="const_buffer::operator+ (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">const_buffer</span> <a class="link" href="operator_plus_/overload2.html" title="const_buffer::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload2.html" title="const_buffer::operator+ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="const_buffer/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/operator_plus_/overload1.html b/doc/html/boost_asio/reference/const_buffer/operator_plus_/overload1.html
new file mode 100644
index 0000000000..d298f685b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/operator_plus_/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::operator+ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="const_buffer::operator+">
+<link rel="prev" href="../operator_plus_.html" title="const_buffer::operator+">
+<link rel="next" href="overload2.html" title="const_buffer::operator+ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffer.operator_plus_.overload1"></a><a class="link" href="overload1.html" title="const_buffer::operator+ (1 of 2 overloads)">const_buffer::operator+
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create a new non-modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffer/operator_plus_/overload2.html b/doc/html/boost_asio/reference/const_buffer/operator_plus_/overload2.html
new file mode 100644
index 0000000000..5d73c8bfe1
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffer/operator_plus_/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffer::operator+ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="const_buffer::operator+">
+<link rel="prev" href="overload1.html" title="const_buffer::operator+ (1 of 2 overloads)">
+<link rel="next" href="../../const_buffers_1.html" title="const_buffers_1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../const_buffers_1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffer.operator_plus_.overload2"></a><a class="link" href="overload2.html" title="const_buffer::operator+ (2 of 2 overloads)">const_buffer::operator+
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create a new non-modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../const_buffers_1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1.html b/doc/html/boost_asio/reference/const_buffers_1.html
new file mode 100644
index 0000000000..d49691c21a
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1.html
@@ -0,0 +1,207 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="const_buffer/operator_plus_/overload2.html" title="const_buffer::operator+ (2 of 2 overloads)">
+<link rel="next" href="const_buffers_1/begin.html" title="const_buffers_1::begin">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_buffer/operator_plus_/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_1/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.const_buffers_1"></a><a class="link" href="const_buffers_1.html" title="const_buffers_1">const_buffers_1</a>
+</h3></div></div></div>
+<p>
+ Adapts a single non-modifiable buffer so that it meets the requirements of
+ the ConstBufferSequence concept.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">const_buffers_1</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">const_buffer</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.const_buffers_1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.types"></a></span><a class="link" href="const_buffers_1.html#boost_asio.reference.const_buffers_1.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="const_buffers_1/const_iterator.html" title="const_buffers_1::const_iterator"><span class="bold"><strong>const_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A random-access iterator type that may be used to read elements.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="const_buffers_1/value_type.html" title="const_buffers_1::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type for each element in the list of buffers.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.const_buffers_1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.member_functions"></a></span><a class="link" href="const_buffers_1.html#boost_asio.reference.const_buffers_1.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="const_buffers_1/begin.html" title="const_buffers_1::begin"><span class="bold"><strong>begin</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a random-access iterator to the first element.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="const_buffers_1/const_buffers_1.html" title="const_buffers_1::const_buffers_1"><span class="bold"><strong>const_buffers_1</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent a given memory range.
+ </p>
+ <p>
+ Construct to represent a single non-modifiable buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="const_buffers_1/end.html" title="const_buffers_1::end"><span class="bold"><strong>end</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a random-access iterator for one past the last element.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.const_buffers_1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.related_functions"></a></span><a class="link" href="const_buffers_1.html#boost_asio.reference.const_buffers_1.related_functions">Related
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="const_buffers_1/operator_plus_.html" title="const_buffers_1::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new non-modifiable buffer that is offset from the start
+ of another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.const_buffers_1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.requirements"></a></span><a class="link" href="const_buffers_1.html#boost_asio.reference.const_buffers_1.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="const_buffer/operator_plus_/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_1/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/begin.html b/doc/html/boost_asio/reference/const_buffers_1/begin.html
new file mode 100644
index 0000000000..a6e7140b61
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/begin.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::begin</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="prev" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="next" href="const_buffers_1.html" title="const_buffers_1::const_buffers_1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffers_1.begin"></a><a class="link" href="begin.html" title="const_buffers_1::begin">const_buffers_1::begin</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139111792"></a>
+Get a random-access iterator to the first element.
+ </p>
+<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../const_buffers_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1.html b/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1.html
new file mode 100644
index 0000000000..93dfed09a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::const_buffers_1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="prev" href="begin.html" title="const_buffers_1::begin">
+<link rel="next" href="const_buffers_1/overload1.html" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_1/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffers_1.const_buffers_1"></a><a class="link" href="const_buffers_1.html" title="const_buffers_1::const_buffers_1">const_buffers_1::const_buffers_1</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139118896"></a>
+Construct to represent a given memory range.
+ </p>
+<pre class="programlisting"><a class="link" href="const_buffers_1/overload1.html" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">const_buffers_1</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="const_buffers_1/overload1.html" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct to represent a single non-modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="const_buffers_1/overload2.html" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">const_buffers_1</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="const_buffers_1/overload2.html" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_buffers_1/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload1.html b/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload1.html
new file mode 100644
index 0000000000..fda7719c3c
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::const_buffers_1 (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1::const_buffers_1">
+<link rel="prev" href="../const_buffers_1.html" title="const_buffers_1::const_buffers_1">
+<link rel="next" href="overload2.html" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../const_buffers_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffers_1.const_buffers_1.overload1"></a><a class="link" href="overload1.html" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">const_buffers_1::const_buffers_1
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct to represent a given memory range.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../const_buffers_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload2.html b/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload2.html
new file mode 100644
index 0000000000..e64d0fbed4
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/const_buffers_1/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::const_buffers_1 (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1::const_buffers_1">
+<link rel="prev" href="overload1.html" title="const_buffers_1::const_buffers_1 (1 of 2 overloads)">
+<link rel="next" href="../const_iterator.html" title="const_buffers_1::const_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../const_iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffers_1.const_buffers_1.overload2"></a><a class="link" href="overload2.html" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">const_buffers_1::const_buffers_1
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct to represent a single non-modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffers_1</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../const_iterator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/const_iterator.html b/doc/html/boost_asio/reference/const_buffers_1/const_iterator.html
new file mode 100644
index 0000000000..36c99bd0a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/const_iterator.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::const_iterator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="prev" href="const_buffers_1/overload2.html" title="const_buffers_1::const_buffers_1 (2 of 2 overloads)">
+<link rel="next" href="end.html" title="const_buffers_1::end">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_buffers_1/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffers_1.const_iterator"></a><a class="link" href="const_iterator.html" title="const_buffers_1::const_iterator">const_buffers_1::const_iterator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139158112"></a>
+A random-access iterator type that may be
+ used to read elements.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">*</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.const_buffers_1.const_iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.const_iterator.requirements"></a></span><a class="link" href="const_iterator.html#boost_asio.reference.const_buffers_1.const_iterator.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="const_buffers_1/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/end.html b/doc/html/boost_asio/reference/const_buffers_1/end.html
new file mode 100644
index 0000000000..81fca82a0f
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/end.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::end</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="prev" href="const_iterator.html" title="const_buffers_1::const_iterator">
+<link rel="next" href="operator_plus_.html" title="const_buffers_1::operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffers_1.end"></a><a class="link" href="end.html" title="const_buffers_1::end">const_buffers_1::end</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139171904"></a>
+Get a random-access iterator for one past the last element.
+ </p>
+<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="const_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/operator_plus_.html b/doc/html/boost_asio/reference/const_buffers_1/operator_plus_.html
new file mode 100644
index 0000000000..21dec37bd2
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/operator_plus_.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::operator+</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="prev" href="end.html" title="const_buffers_1::end">
+<link rel="next" href="operator_plus_/overload1.html" title="const_buffers_1::operator+ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffers_1.operator_plus_"></a><a class="link" href="operator_plus_.html" title="const_buffers_1::operator+">const_buffers_1::operator+</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139179008"></a>
+Create a new non-modifiable buffer that is offset
+ from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <a class="link" href="operator_plus_/overload1.html" title="const_buffers_1::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload1.html" title="const_buffers_1::operator+ (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">const_buffer</span> <a class="link" href="operator_plus_/overload2.html" title="const_buffers_1::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload2.html" title="const_buffers_1::operator+ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload1.html b/doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload1.html
new file mode 100644
index 0000000000..f9dfdd1b51
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::operator+ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="const_buffers_1::operator+">
+<link rel="prev" href="../operator_plus_.html" title="const_buffers_1::operator+">
+<link rel="next" href="overload2.html" title="const_buffers_1::operator+ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffers_1.operator_plus_.overload1"></a><a class="link" href="overload1.html" title="const_buffers_1::operator+ (1 of 2 overloads)">const_buffers_1::operator+
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from const_buffer.</em></span>
+ </p>
+<p>
+ Create a new non-modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload2.html b/doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload2.html
new file mode 100644
index 0000000000..dd1b388e2c
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/operator_plus_/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::operator+ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="const_buffers_1::operator+">
+<link rel="prev" href="overload1.html" title="const_buffers_1::operator+ (1 of 2 overloads)">
+<link rel="next" href="../value_type.html" title="const_buffers_1::value_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../value_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.const_buffers_1.operator_plus_.overload2"></a><a class="link" href="overload2.html" title="const_buffers_1::operator+ (2 of 2 overloads)">const_buffers_1::operator+
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from const_buffer.</em></span>
+ </p>
+<p>
+ Create a new non-modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">const_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../value_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/const_buffers_1/value_type.html b/doc/html/boost_asio/reference/const_buffers_1/value_type.html
new file mode 100644
index 0000000000..e14168efcf
--- /dev/null
+++ b/doc/html/boost_asio/reference/const_buffers_1/value_type.html
@@ -0,0 +1,157 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>const_buffers_1::value_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../const_buffers_1.html" title="const_buffers_1">
+<link rel="prev" href="operator_plus_/overload2.html" title="const_buffers_1::operator+ (2 of 2 overloads)">
+<link rel="next" href="../coroutine.html" title="coroutine">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../coroutine.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.const_buffers_1.value_type"></a><a class="link" href="value_type.html" title="const_buffers_1::value_type">const_buffers_1::value_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139226672"></a>
+The type for each element in the list of buffers.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">const_buffer</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.const_buffers_1.value_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.member_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.const_buffers_1.value_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../const_buffer/const_buffer.html" title="const_buffer::const_buffer"><span class="bold"><strong>const_buffer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an empty buffer.
+ </p>
+ <p>
+ Construct a buffer to represent a given memory range.
+ </p>
+ <p>
+ Construct a non-modifiable buffer from a modifiable one.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.const_buffers_1.value_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.related_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.const_buffers_1.value_type.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../const_buffer/operator_plus_.html" title="const_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new non-modifiable buffer that is offset from the start
+ of another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../const_buffer.html" title="const_buffer"><code class="computeroutput"><span class="identifier">const_buffer</span></code></a>
+ class provides a safe representation of a buffer that cannot be modified.
+ It does not own the underlying data, and so is cheap to copy or assign.
+ </p>
+<h6>
+<a name="boost_asio.reference.const_buffers_1.value_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.accessing_buffer_contents"></a></span><a class="link" href="value_type.html#boost_asio.reference.const_buffers_1.value_type.accessing_buffer_contents">Accessing
+ Buffer Contents</a>
+ </h6>
+<p>
+ The contents of a buffer may be accessed using the <a class="link" href="../buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="../buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">const_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
+<span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<h6>
+<a name="boost_asio.reference.const_buffers_1.value_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.const_buffers_1.value_type.requirements"></a></span><a class="link" href="value_type.html#boost_asio.reference.const_buffers_1.value_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../const_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../coroutine.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/coroutine.html b/doc/html/boost_asio/reference/coroutine.html
new file mode 100644
index 0000000000..72dad624a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/coroutine.html
@@ -0,0 +1,454 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>coroutine</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="const_buffers_1/value_type.html" title="const_buffers_1::value_type">
+<link rel="next" href="coroutine/coroutine.html" title="coroutine::coroutine">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_buffers_1/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="coroutine/coroutine.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.coroutine"></a><a class="link" href="coroutine.html" title="coroutine">coroutine</a>
+</h3></div></div></div>
+<p>
+ Provides support for implementing stackless coroutines.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">coroutine</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.coroutine.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.coroutine.member_functions"></a></span><a class="link" href="coroutine.html#boost_asio.reference.coroutine.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="coroutine/coroutine.html" title="coroutine::coroutine"><span class="bold"><strong>coroutine</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructs a coroutine in its initial state.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="coroutine/is_child.html" title="coroutine::is_child"><span class="bold"><strong>is_child</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns true if the coroutine is the child of a fork.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="coroutine/is_complete.html" title="coroutine::is_complete"><span class="bold"><strong>is_complete</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns true if the coroutine has reached its terminal state.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="coroutine/is_parent.html" title="coroutine::is_parent"><span class="bold"><strong>is_parent</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns true if the coroutine is the parent of a fork.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">coroutine</span></code> class may be
+ used to implement stackless coroutines. The class itself is used to store
+ the current state of the coroutine.
+ </p>
+<p>
+ Coroutines are copy-constructible and assignable, and the space overhead
+ is a single int. They can be used as a base class:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">session</span> <span class="special">:</span> <span class="identifier">coroutine</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ or as a data member:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">session</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">coroutine</span> <span class="identifier">coro_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ or even bound in as a function argument using lambdas or <code class="computeroutput"><span class="identifier">bind</span><span class="special">()</span></code>. The important thing is that as the application
+ maintains a copy of the object for as long as the coroutine must be kept
+ alive.
+ </p>
+<h5>
+<a name="boost_asio.reference.coroutine.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.coroutine.pseudo_keywords"></a></span><a class="link" href="coroutine.html#boost_asio.reference.coroutine.pseudo_keywords">Pseudo-keywords</a>
+ </h5>
+<p>
+ A coroutine is used in conjunction with certain "pseudo-keywords",
+ which are implemented as macros. These macros are defined by a header file:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">yield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ and may conversely be undefined as follows:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">unyield</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ <span class="bold"><strong>reenter</strong></span>
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">reenter</span></code> macro is used
+ to define the body of a coroutine. It takes a single argument: a pointer
+ or reference to a coroutine object. For example, if the base class is a coroutine
+ object you may write:
+ </p>
+<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span> <span class="identifier">coroutine</span> <span class="identifier">body</span> <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ and if a data member or other variable you can write:
+ </p>
+<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="identifier">coro_</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span> <span class="identifier">coroutine</span> <span class="identifier">body</span> <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ When <code class="computeroutput"><span class="identifier">reenter</span></code> is executed
+ at runtime, control jumps to the location of the last <code class="computeroutput"><span class="identifier">yield</span></code>
+ or <code class="computeroutput"><span class="identifier">fork</span></code>.
+ </p>
+<p>
+ The coroutine body may also be a single statement, such as:
+ </p>
+<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span> <span class="keyword">for</span> <span class="special">(;;)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <span class="bold"><strong>Limitation:</strong></span> The <code class="computeroutput"><span class="identifier">reenter</span></code>
+ macro is implemented using a switch. This means that you must take care when
+ using local variables within the coroutine body. The local variable is not
+ allowed in a position where reentering the coroutine could bypass the variable
+ definition.
+ </p>
+<p>
+ <span class="bold"><strong>yield <span class="emphasis"><em>statement</em></span></strong></span>
+ </p>
+<p>
+ This form of the <code class="computeroutput"><span class="identifier">yield</span></code> keyword
+ is often used with asynchronous operations:
+ </p>
+<pre class="programlisting"><span class="identifier">yield</span> <span class="identifier">socket_</span><span class="special">-&gt;</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer_</span><span class="special">),</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+</pre>
+<p>
+ This divides into four logical steps:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">yield</span></code> saves the current
+ state of the coroutine.
+ </li>
+<li class="listitem">
+ The statement initiates the asynchronous operation.
+ </li>
+<li class="listitem">
+ The resume point is defined immediately following the statement.
+ </li>
+<li class="listitem">
+ Control is transferred to the end of the coroutine body.
+ </li>
+</ul></div>
+<p>
+ When the asynchronous operation completes, the function object is invoked
+ and <code class="computeroutput"><span class="identifier">reenter</span></code> causes control
+ to transfer to the resume point. It is important to remember to carry the
+ coroutine state forward with the asynchronous operation. In the above snippet,
+ the current class is a function object object with a coroutine object as
+ base class or data member.
+ </p>
+<p>
+ The statement may also be a compound statement, and this permits us to define
+ local variables with limited scope:
+ </p>
+<pre class="programlisting"><span class="identifier">yield</span>
+<span class="special">{</span>
+ <span class="identifier">mutable_buffers_1</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">buffer_</span><span class="special">);</span>
+ <span class="identifier">socket_</span><span class="special">-&gt;</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <span class="bold"><strong>yield return <span class="emphasis"><em>expression</em></span> ;</strong></span>
+ </p>
+<p>
+ This form of <code class="computeroutput"><span class="identifier">yield</span></code> is often
+ used in generators or coroutine-based parsers. For example, the function
+ object:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">interleave</span> <span class="special">:</span> <span class="identifier">coroutine</span>
+<span class="special">{</span>
+ <span class="identifier">istream</span><span class="special">&amp;</span> <span class="identifier">is1</span><span class="special">;</span>
+ <span class="identifier">istream</span><span class="special">&amp;</span> <span class="identifier">is2</span><span class="special">;</span>
+ <span class="keyword">char</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span> <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">yield</span> <span class="keyword">return</span> <span class="identifier">is1</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="identifier">yield</span> <span class="keyword">return</span> <span class="identifier">is2</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ defines a trivial coroutine that interleaves the characters from two input
+ streams.
+ </p>
+<p>
+ This type of <code class="computeroutput"><span class="identifier">yield</span></code> divides
+ into three logical steps:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">yield</span></code> saves the current
+ state of the coroutine.
+ </li>
+<li class="listitem">
+ The resume point is defined immediately following the semicolon.
+ </li>
+<li class="listitem">
+ The value of the expression is returned from the function.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>yield ;</strong></span>
+ </p>
+<p>
+ This form of <code class="computeroutput"><span class="identifier">yield</span></code> is equivalent
+ to the following steps:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">yield</span></code> saves the current
+ state of the coroutine.
+ </li>
+<li class="listitem">
+ The resume point is defined immediately following the semicolon.
+ </li>
+<li class="listitem">
+ Control is transferred to the end of the coroutine body.
+ </li>
+</ul></div>
+<p>
+ This form might be applied when coroutines are used for cooperative threading
+ and scheduling is explicitly managed. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">task</span> <span class="special">:</span> <span class="identifier">coroutine</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()()</span>
+ <span class="special">{</span>
+ <span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">while</span> <span class="special">(...</span> <span class="keyword">not</span> <span class="identifier">finished</span> <span class="special">...)</span>
+ <span class="special">{</span>
+ <span class="special">...</span> <span class="keyword">do</span> <span class="identifier">something</span> <span class="special">...</span>
+ <span class="identifier">yield</span><span class="special">;</span>
+ <span class="special">...</span> <span class="keyword">do</span> <span class="identifier">some</span> <span class="identifier">more</span> <span class="special">...</span>
+ <span class="identifier">yield</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="special">...</span>
+<span class="special">};</span>
+<span class="special">...</span>
+<span class="identifier">task</span> <span class="identifier">t1</span><span class="special">,</span> <span class="identifier">t2</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(;;)</span>
+<span class="special">{</span>
+ <span class="identifier">t1</span><span class="special">();</span>
+ <span class="identifier">t2</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <span class="bold"><strong>yield break ;</strong></span>
+ </p>
+<p>
+ The final form of <code class="computeroutput"><span class="identifier">yield</span></code> is
+ used to explicitly terminate the coroutine. This form is comprised of two
+ steps:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">yield</span></code> sets the coroutine
+ state to indicate termination.
+ </li>
+<li class="listitem">
+ Control is transferred to the end of the coroutine body.
+ </li>
+</ul></div>
+<p>
+ Once terminated, calls to <code class="computeroutput"><span class="identifier">is_complete</span><span class="special">()</span></code> return true and the coroutine cannot be
+ reentered.
+ </p>
+<p>
+ Note that a coroutine may also be implicitly terminated if the coroutine
+ body is exited without a yield, e.g. by return, throw or by running to the
+ end of the body.
+ </p>
+<p>
+ <span class="bold"><strong>fork <span class="emphasis"><em>statement</em></span></strong></span>
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">fork</span></code> pseudo-keyword is
+ used when "forking" a coroutine, i.e. splitting it into two (or
+ more) copies. One use of <code class="computeroutput"><span class="identifier">fork</span></code>
+ is in a server, where a new coroutine is created to handle each client connection:
+ </p>
+<pre class="programlisting"><span class="identifier">reenter</span> <span class="special">(</span><span class="keyword">this</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">do</span>
+ <span class="special">{</span>
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service_</span><span class="special">));</span>
+ <span class="identifier">yield</span> <span class="identifier">acceptor</span><span class="special">-&gt;</span><span class="identifier">async_accept</span><span class="special">(*</span><span class="identifier">socket_</span><span class="special">,</span> <span class="special">*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="identifier">fork</span> <span class="identifier">server</span><span class="special">(*</span><span class="keyword">this</span><span class="special">)();</span>
+ <span class="special">}</span> <span class="keyword">while</span> <span class="special">(</span><span class="identifier">is_parent</span><span class="special">());</span>
+ <span class="special">...</span> <span class="identifier">client</span><span class="special">-</span><span class="identifier">specific</span> <span class="identifier">handling</span> <span class="identifier">follows</span> <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The logical steps involved in a <code class="computeroutput"><span class="identifier">fork</span></code>
+ are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">fork</span></code> saves the current
+ state of the coroutine.
+ </li>
+<li class="listitem">
+ The statement creates a copy of the coroutine and either executes it
+ immediately or schedules it for later execution.
+ </li>
+<li class="listitem">
+ The resume point is defined immediately following the semicolon.
+ </li>
+<li class="listitem">
+ For the "parent", control immediately continues from the next
+ line.
+ </li>
+</ul></div>
+<p>
+ The functions <code class="computeroutput"><span class="identifier">is_parent</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">is_child</span><span class="special">()</span></code>
+ can be used to differentiate between parent and child. You would use these
+ functions to alter subsequent control flow.
+ </p>
+<p>
+ Note that <code class="computeroutput"><span class="identifier">fork</span></code> doesn't do
+ the actual forking by itself. It is the application's responsibility to create
+ a clone of the coroutine and call it. The clone can be called immediately,
+ as above, or scheduled for delayed execution using something like <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.coroutine.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.coroutine.alternate_macro_names"></a></span><a class="link" href="coroutine.html#boost_asio.reference.coroutine.alternate_macro_names">Alternate
+ macro names</a>
+ </h5>
+<p>
+ If preferred, an application can use macro names that follow a more typical
+ naming convention, rather than the pseudo-keywords. These are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ASIO_CORO_REENTER</span></code>
+ instead of <code class="computeroutput"><span class="identifier">reenter</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ASIO_CORO_YIELD</span></code>
+ instead of <code class="computeroutput"><span class="identifier">yield</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">BOOST_ASIO_CORO_FORK</span></code>
+ instead of <code class="computeroutput"><span class="identifier">fork</span></code>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.reference.coroutine.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.coroutine.requirements"></a></span><a class="link" href="coroutine.html#boost_asio.reference.coroutine.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/coroutine.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="const_buffers_1/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="coroutine/coroutine.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/coroutine/coroutine.html b/doc/html/boost_asio/reference/coroutine/coroutine.html
new file mode 100644
index 0000000000..e04ff9fd5b
--- /dev/null
+++ b/doc/html/boost_asio/reference/coroutine/coroutine.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>coroutine::coroutine</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../coroutine.html" title="coroutine">
+<link rel="prev" href="../coroutine.html" title="coroutine">
+<link rel="next" href="is_child.html" title="coroutine::is_child">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../coroutine.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.coroutine.coroutine"></a><a class="link" href="coroutine.html" title="coroutine::coroutine">coroutine::coroutine</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139574464"></a>
+Constructs a coroutine in its initial state.
+ </p>
+<pre class="programlisting"><span class="identifier">coroutine</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../coroutine.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_child.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/coroutine/is_child.html b/doc/html/boost_asio/reference/coroutine/is_child.html
new file mode 100644
index 0000000000..d66f5fb7dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/coroutine/is_child.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>coroutine::is_child</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../coroutine.html" title="coroutine">
+<link rel="prev" href="coroutine.html" title="coroutine::coroutine">
+<link rel="next" href="is_complete.html" title="coroutine::is_complete">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="coroutine.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_complete.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.coroutine.is_child"></a><a class="link" href="is_child.html" title="coroutine::is_child">coroutine::is_child</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139579696"></a>
+Returns true if the coroutine is the child of a fork.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_child</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="coroutine.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_complete.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/coroutine/is_complete.html b/doc/html/boost_asio/reference/coroutine/is_complete.html
new file mode 100644
index 0000000000..cb8bd8ddb0
--- /dev/null
+++ b/doc/html/boost_asio/reference/coroutine/is_complete.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>coroutine::is_complete</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../coroutine.html" title="coroutine">
+<link rel="prev" href="is_child.html" title="coroutine::is_child">
+<link rel="next" href="is_parent.html" title="coroutine::is_parent">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_child.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_parent.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.coroutine.is_complete"></a><a class="link" href="is_complete.html" title="coroutine::is_complete">coroutine::is_complete</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139586944"></a>
+Returns true if the coroutine has reached its terminal
+ state.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_complete</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_child.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_parent.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/coroutine/is_parent.html b/doc/html/boost_asio/reference/coroutine/is_parent.html
new file mode 100644
index 0000000000..eeb2860adf
--- /dev/null
+++ b/doc/html/boost_asio/reference/coroutine/is_parent.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>coroutine::is_parent</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../coroutine.html" title="coroutine">
+<link rel="prev" href="is_complete.html" title="coroutine::is_complete">
+<link rel="next" href="../datagram_socket_service.html" title="datagram_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_complete.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.coroutine.is_parent"></a><a class="link" href="is_parent.html" title="coroutine::is_parent">coroutine::is_parent</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139594192"></a>
+Returns true if the coroutine is the parent of a fork.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_parent</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_complete.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../coroutine.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service.html b/doc/html/boost_asio/reference/datagram_socket_service.html
new file mode 100644
index 0000000000..637868c3c7
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service.html
@@ -0,0 +1,627 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="coroutine/is_parent.html" title="coroutine::is_parent">
+<link rel="next" href="datagram_socket_service/assign.html" title="datagram_socket_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="coroutine/is_parent.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="datagram_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.datagram_socket_service"></a><a class="link" href="datagram_socket_service.html" title="datagram_socket_service">datagram_socket_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a datagram socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">datagram_socket_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.datagram_socket_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.types"></a></span><a class="link" href="datagram_socket_service.html#boost_asio.reference.datagram_socket_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/endpoint_type.html" title="datagram_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/implementation_type.html" title="datagram_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a datagram socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/native_handle_type.html" title="datagram_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/native_type.html" title="datagram_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/protocol_type.html" title="datagram_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.datagram_socket_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.member_functions"></a></span><a class="link" href="datagram_socket_service.html#boost_asio.reference.datagram_socket_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/assign.html" title="datagram_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to a datagram socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/async_connect.html" title="datagram_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/async_receive.html" title="datagram_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/async_receive_from.html" title="datagram_socket_service::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive that will get the endpoint of the
+ sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/async_send.html" title="datagram_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/async_send_to.html" title="datagram_socket_service::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/at_mark.html" title="datagram_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/available.html" title="datagram_socket_service::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/bind.html" title="datagram_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/cancel.html" title="datagram_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/close.html" title="datagram_socket_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a datagram socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/connect.html" title="datagram_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the datagram socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/construct.html" title="datagram_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new datagram socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/converting_move_construct.html" title="datagram_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new datagram socket implementation from another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/datagram_socket_service.html" title="datagram_socket_service::datagram_socket_service"><span class="bold"><strong>datagram_socket_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new datagram socket service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/destroy.html" title="datagram_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a datagram socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/get_io_service.html" title="datagram_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/get_option.html" title="datagram_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/io_control.html" title="datagram_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/is_open.html" title="datagram_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/local_endpoint.html" title="datagram_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/move_assign.html" title="datagram_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another datagram socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/move_construct.html" title="datagram_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new datagram socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/native.html" title="datagram_socket_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/native_handle.html" title="datagram_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/native_non_blocking.html" title="datagram_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/non_blocking.html" title="datagram_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/open.html" title="datagram_socket_service::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/receive.html" title="datagram_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data from the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/receive_from.html" title="datagram_socket_service::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/remote_endpoint.html" title="datagram_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/send.html" title="datagram_socket_service::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send the given data to the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/send_to.html" title="datagram_socket_service::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a datagram to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/set_option.html" title="datagram_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/shutdown.html" title="datagram_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.datagram_socket_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.data_members"></a></span><a class="link" href="datagram_socket_service.html#boost_asio.reference.datagram_socket_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="datagram_socket_service/id.html" title="datagram_socket_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.datagram_socket_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.requirements"></a></span><a class="link" href="datagram_socket_service.html#boost_asio.reference.datagram_socket_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="coroutine/is_parent.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="datagram_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/assign.html b/doc/html/boost_asio/reference/datagram_socket_service/assign.html
new file mode 100644
index 0000000000..a7c31706a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/assign.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="next" href="async_connect.html" title="datagram_socket_service::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.assign"></a><a class="link" href="assign.html" title="datagram_socket_service::assign">datagram_socket_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139780656"></a>
+Assign an existing native socket to a datagram
+ socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../datagram_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/async_connect.html b/doc/html/boost_asio/reference/datagram_socket_service/async_connect.html
new file mode 100644
index 0000000000..338b61b8c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/async_connect.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="assign.html" title="datagram_socket_service::assign">
+<link rel="next" href="async_receive.html" title="datagram_socket_service::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.async_connect"></a><a class="link" href="async_connect.html" title="datagram_socket_service::async_connect">datagram_socket_service::async_connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139802784"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/async_receive.html b/doc/html/boost_asio/reference/datagram_socket_service/async_receive.html
new file mode 100644
index 0000000000..abc309d884
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/async_receive.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="async_connect.html" title="datagram_socket_service::async_connect">
+<link rel="next" href="async_receive_from.html" title="datagram_socket_service::async_receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.async_receive"></a><a class="link" href="async_receive.html" title="datagram_socket_service::async_receive">datagram_socket_service::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139820432"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/async_receive_from.html b/doc/html/boost_asio/reference/datagram_socket_service/async_receive_from.html
new file mode 100644
index 0000000000..f1c9794411
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/async_receive_from.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::async_receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="async_receive.html" title="datagram_socket_service::async_receive">
+<link rel="next" href="async_send.html" title="datagram_socket_service::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.async_receive_from"></a><a class="link" href="async_receive_from.html" title="datagram_socket_service::async_receive_from">datagram_socket_service::async_receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139843008"></a>
+Start an asynchronous receive
+ that will get the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/async_send.html b/doc/html/boost_asio/reference/datagram_socket_service/async_send.html
new file mode 100644
index 0000000000..33fdff25f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/async_send.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="async_receive_from.html" title="datagram_socket_service::async_receive_from">
+<link rel="next" href="async_send_to.html" title="datagram_socket_service::async_send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.async_send"></a><a class="link" href="async_send.html" title="datagram_socket_service::async_send">datagram_socket_service::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139868272"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/async_send_to.html b/doc/html/boost_asio/reference/datagram_socket_service/async_send_to.html
new file mode 100644
index 0000000000..f572fc0e24
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/async_send_to.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::async_send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="async_send.html" title="datagram_socket_service::async_send">
+<link rel="next" href="at_mark.html" title="datagram_socket_service::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.async_send_to"></a><a class="link" href="async_send_to.html" title="datagram_socket_service::async_send_to">datagram_socket_service::async_send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139890816"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/at_mark.html b/doc/html/boost_asio/reference/datagram_socket_service/at_mark.html
new file mode 100644
index 0000000000..fda82399dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/at_mark.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="async_send_to.html" title="datagram_socket_service::async_send_to">
+<link rel="next" href="available.html" title="datagram_socket_service::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.at_mark"></a><a class="link" href="at_mark.html" title="datagram_socket_service::at_mark">datagram_socket_service::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139916704"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="async_send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/available.html b/doc/html/boost_asio/reference/datagram_socket_service/available.html
new file mode 100644
index 0000000000..37eb11e413
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/available.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="at_mark.html" title="datagram_socket_service::at_mark">
+<link rel="next" href="bind.html" title="datagram_socket_service::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.available"></a><a class="link" href="available.html" title="datagram_socket_service::available">datagram_socket_service::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139931824"></a>
+Determine the number of bytes available
+ for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/bind.html b/doc/html/boost_asio/reference/datagram_socket_service/bind.html
new file mode 100644
index 0000000000..a062912a00
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/bind.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="available.html" title="datagram_socket_service::available">
+<link rel="next" href="cancel.html" title="datagram_socket_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.bind"></a><a class="link" href="bind.html" title="datagram_socket_service::bind">datagram_socket_service::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139948256"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/cancel.html b/doc/html/boost_asio/reference/datagram_socket_service/cancel.html
new file mode 100644
index 0000000000..33d9575e28
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="bind.html" title="datagram_socket_service::bind">
+<link rel="next" href="close.html" title="datagram_socket_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.cancel"></a><a class="link" href="cancel.html" title="datagram_socket_service::cancel">datagram_socket_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139966992"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/close.html b/doc/html/boost_asio/reference/datagram_socket_service/close.html
new file mode 100644
index 0000000000..0f3997e392
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="cancel.html" title="datagram_socket_service::cancel">
+<link rel="next" href="connect.html" title="datagram_socket_service::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.close"></a><a class="link" href="close.html" title="datagram_socket_service::close">datagram_socket_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139982544"></a>
+Close a datagram socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/connect.html b/doc/html/boost_asio/reference/datagram_socket_service/connect.html
new file mode 100644
index 0000000000..85e1a031dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/connect.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="close.html" title="datagram_socket_service::close">
+<link rel="next" href="construct.html" title="datagram_socket_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.connect"></a><a class="link" href="connect.html" title="datagram_socket_service::connect">datagram_socket_service::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp139998064"></a>
+Connect the datagram socket to the specified
+ endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/construct.html b/doc/html/boost_asio/reference/datagram_socket_service/construct.html
new file mode 100644
index 0000000000..2e264e0a91
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="connect.html" title="datagram_socket_service::connect">
+<link rel="next" href="converting_move_construct.html" title="datagram_socket_service::converting_move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.construct"></a><a class="link" href="construct.html" title="datagram_socket_service::construct">datagram_socket_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140016896"></a>
+Construct a new datagram socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/converting_move_construct.html b/doc/html/boost_asio/reference/datagram_socket_service/converting_move_construct.html
new file mode 100644
index 0000000000..2e81d481d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/converting_move_construct.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::converting_move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="construct.html" title="datagram_socket_service::construct">
+<link rel="next" href="datagram_socket_service.html" title="datagram_socket_service::datagram_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="datagram_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.converting_move_construct"></a><a class="link" href="converting_move_construct.html" title="datagram_socket_service::converting_move_construct">datagram_socket_service::converting_move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140025616"></a>
+Move-construct a new datagram
+ socket implementation from another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">datagram_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">datagram_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="datagram_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/datagram_socket_service.html b/doc/html/boost_asio/reference/datagram_socket_service/datagram_socket_service.html
new file mode 100644
index 0000000000..8ecc21b258
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/datagram_socket_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::datagram_socket_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="converting_move_construct.html" title="datagram_socket_service::converting_move_construct">
+<link rel="next" href="destroy.html" title="datagram_socket_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.datagram_socket_service"></a><a class="link" href="datagram_socket_service.html" title="datagram_socket_service::datagram_socket_service">datagram_socket_service::datagram_socket_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140058096"></a>
+Construct a new datagram
+ socket service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">datagram_socket_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/destroy.html b/doc/html/boost_asio/reference/datagram_socket_service/destroy.html
new file mode 100644
index 0000000000..f6b93c9c20
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="datagram_socket_service.html" title="datagram_socket_service::datagram_socket_service">
+<link rel="next" href="endpoint_type.html" title="datagram_socket_service::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="datagram_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.destroy"></a><a class="link" href="destroy.html" title="datagram_socket_service::destroy">datagram_socket_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140069904"></a>
+Destroy a datagram socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="datagram_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/endpoint_type.html b/doc/html/boost_asio/reference/datagram_socket_service/endpoint_type.html
new file mode 100644
index 0000000000..3cd5e44421
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="destroy.html" title="datagram_socket_service::destroy">
+<link rel="next" href="get_io_service.html" title="datagram_socket_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.endpoint_type"></a><a class="link" href="endpoint_type.html" title="datagram_socket_service::endpoint_type">datagram_socket_service::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140078688"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.datagram_socket_service.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.datagram_socket_service.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/get_io_service.html b/doc/html/boost_asio/reference/datagram_socket_service/get_io_service.html
new file mode 100644
index 0000000000..4225642c45
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="endpoint_type.html" title="datagram_socket_service::endpoint_type">
+<link rel="next" href="get_option.html" title="datagram_socket_service::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.get_io_service"></a><a class="link" href="get_io_service.html" title="datagram_socket_service::get_io_service">datagram_socket_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp140093040"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/get_option.html b/doc/html/boost_asio/reference/datagram_socket_service/get_option.html
new file mode 100644
index 0000000000..7c3f719303
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/get_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="get_io_service.html" title="datagram_socket_service::get_io_service">
+<link rel="next" href="id.html" title="datagram_socket_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.get_option"></a><a class="link" href="get_option.html" title="datagram_socket_service::get_option">datagram_socket_service::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140103792"></a>
+Get a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/id.html b/doc/html/boost_asio/reference/datagram_socket_service/id.html
new file mode 100644
index 0000000000..057e61bdde
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="get_option.html" title="datagram_socket_service::get_option">
+<link rel="next" href="implementation_type.html" title="datagram_socket_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.id"></a><a class="link" href="id.html" title="datagram_socket_service::id">datagram_socket_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140127152"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/implementation_type.html b/doc/html/boost_asio/reference/datagram_socket_service/implementation_type.html
new file mode 100644
index 0000000000..a7f53f50d8
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/implementation_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="id.html" title="datagram_socket_service::id">
+<link rel="next" href="io_control.html" title="datagram_socket_service::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.implementation_type"></a><a class="link" href="implementation_type.html" title="datagram_socket_service::implementation_type">datagram_socket_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140137040"></a>
+The type of a datagram socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.datagram_socket_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.datagram_socket_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/io_control.html b/doc/html/boost_asio/reference/datagram_socket_service/io_control.html
new file mode 100644
index 0000000000..9c432bde8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/io_control.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="implementation_type.html" title="datagram_socket_service::implementation_type">
+<link rel="next" href="is_open.html" title="datagram_socket_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.io_control"></a><a class="link" href="io_control.html" title="datagram_socket_service::io_control">datagram_socket_service::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140149568"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/is_open.html b/doc/html/boost_asio/reference/datagram_socket_service/is_open.html
new file mode 100644
index 0000000000..427a94d8ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="io_control.html" title="datagram_socket_service::io_control">
+<link rel="next" href="local_endpoint.html" title="datagram_socket_service::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.is_open"></a><a class="link" href="is_open.html" title="datagram_socket_service::is_open">datagram_socket_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140171008"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/local_endpoint.html b/doc/html/boost_asio/reference/datagram_socket_service/local_endpoint.html
new file mode 100644
index 0000000000..c583c49998
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/local_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="is_open.html" title="datagram_socket_service::is_open">
+<link rel="next" href="move_assign.html" title="datagram_socket_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.local_endpoint"></a><a class="link" href="local_endpoint.html" title="datagram_socket_service::local_endpoint">datagram_socket_service::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140181520"></a>
+Get the local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/move_assign.html b/doc/html/boost_asio/reference/datagram_socket_service/move_assign.html
new file mode 100644
index 0000000000..5a0316df70
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="local_endpoint.html" title="datagram_socket_service::local_endpoint">
+<link rel="next" href="move_construct.html" title="datagram_socket_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.move_assign"></a><a class="link" href="move_assign.html" title="datagram_socket_service::move_assign">datagram_socket_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140196816"></a>
+Move-assign from another datagram socket
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">datagram_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/move_construct.html b/doc/html/boost_asio/reference/datagram_socket_service/move_construct.html
new file mode 100644
index 0000000000..ed015e75e7
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="move_assign.html" title="datagram_socket_service::move_assign">
+<link rel="next" href="native.html" title="datagram_socket_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.move_construct"></a><a class="link" href="move_construct.html" title="datagram_socket_service::move_construct">datagram_socket_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140210720"></a>
+Move-construct a new datagram socket
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native.html b/doc/html/boost_asio/reference/datagram_socket_service/native.html
new file mode 100644
index 0000000000..e1291de483
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="move_construct.html" title="datagram_socket_service::move_construct">
+<link rel="next" href="native_handle.html" title="datagram_socket_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native"></a><a class="link" href="native.html" title="datagram_socket_service::native">datagram_socket_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140222016"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native_handle.html b/doc/html/boost_asio/reference/datagram_socket_service/native_handle.html
new file mode 100644
index 0000000000..1223be2414
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="native.html" title="datagram_socket_service::native">
+<link rel="next" href="native_handle_type.html" title="datagram_socket_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native_handle"></a><a class="link" href="native_handle.html" title="datagram_socket_service::native_handle">datagram_socket_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140232416"></a>
+Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native_handle_type.html b/doc/html/boost_asio/reference/datagram_socket_service/native_handle_type.html
new file mode 100644
index 0000000000..9208e837aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="native_handle.html" title="datagram_socket_service::native_handle">
+<link rel="next" href="native_non_blocking.html" title="datagram_socket_service::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="datagram_socket_service::native_handle_type">datagram_socket_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140241104"></a>
+The native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.datagram_socket_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.datagram_socket_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking.html b/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking.html
new file mode 100644
index 0000000000..a4a21ada9f
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="native_handle_type.html" title="datagram_socket_service::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="datagram_socket_service::native_non_blocking">datagram_socket_service::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140253632"></a>
+Gets the non-blocking mode of
+ the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload2.html" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..e80b3adeae
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native_non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="datagram_socket_service::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="datagram_socket_service::native_non_blocking">
+<link rel="next" href="overload2.html" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">datagram_socket_service::native_non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..6ca7d1da0d
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native_non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native_non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="datagram_socket_service::native_non_blocking">
+<link rel="prev" href="overload1.html" title="datagram_socket_service::native_non_blocking (1 of 2 overloads)">
+<link rel="next" href="../native_type.html" title="datagram_socket_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">datagram_socket_service::native_non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/native_type.html b/doc/html/boost_asio/reference/datagram_socket_service/native_type.html
new file mode 100644
index 0000000000..c62bb98aea
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="native_non_blocking/overload2.html" title="datagram_socket_service::native_non_blocking (2 of 2 overloads)">
+<link rel="next" href="non_blocking.html" title="datagram_socket_service::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.native_type"></a><a class="link" href="native_type.html" title="datagram_socket_service::native_type">datagram_socket_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140308112"></a>
+(Deprecated: Use native_handle_type.)
+ The native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.datagram_socket_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.datagram_socket_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/non_blocking.html b/doc/html/boost_asio/reference/datagram_socket_service/non_blocking.html
new file mode 100644
index 0000000000..5cf5b0866d
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/non_blocking.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="native_type.html" title="datagram_socket_service::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="datagram_socket_service::non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.non_blocking"></a><a class="link" href="non_blocking.html" title="datagram_socket_service::non_blocking">datagram_socket_service::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140320560"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="datagram_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="datagram_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload2.html" title="datagram_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="datagram_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload1.html b/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload1.html
new file mode 100644
index 0000000000..7b848cfcb5
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="datagram_socket_service::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="datagram_socket_service::non_blocking">
+<link rel="next" href="overload2.html" title="datagram_socket_service::non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.datagram_socket_service.non_blocking.overload1"></a><a class="link" href="overload1.html" title="datagram_socket_service::non_blocking (1 of 2 overloads)">datagram_socket_service::non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload2.html b/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload2.html
new file mode 100644
index 0000000000..6aa3a836d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="datagram_socket_service::non_blocking">
+<link rel="prev" href="overload1.html" title="datagram_socket_service::non_blocking (1 of 2 overloads)">
+<link rel="next" href="../open.html" title="datagram_socket_service::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.datagram_socket_service.non_blocking.overload2"></a><a class="link" href="overload2.html" title="datagram_socket_service::non_blocking (2 of 2 overloads)">datagram_socket_service::non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/open.html b/doc/html/boost_asio/reference/datagram_socket_service/open.html
new file mode 100644
index 0000000000..88f34789e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/open.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="non_blocking/overload2.html" title="datagram_socket_service::non_blocking (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="datagram_socket_service::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.open"></a><a class="link" href="open.html" title="datagram_socket_service::open">datagram_socket_service::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140374528"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/protocol_type.html b/doc/html/boost_asio/reference/datagram_socket_service/protocol_type.html
new file mode 100644
index 0000000000..a9f97cf9a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="open.html" title="datagram_socket_service::open">
+<link rel="next" href="receive.html" title="datagram_socket_service::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.protocol_type"></a><a class="link" href="protocol_type.html" title="datagram_socket_service::protocol_type">datagram_socket_service::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140393344"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.datagram_socket_service.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.datagram_socket_service.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.datagram_socket_service.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/datagram_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/receive.html b/doc/html/boost_asio/reference/datagram_socket_service/receive.html
new file mode 100644
index 0000000000..a2543c48cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/receive.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="protocol_type.html" title="datagram_socket_service::protocol_type">
+<link rel="next" href="receive_from.html" title="datagram_socket_service::receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.receive"></a><a class="link" href="receive.html" title="datagram_socket_service::receive">datagram_socket_service::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140405792"></a>
+Receive some data from the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/receive_from.html b/doc/html/boost_asio/reference/datagram_socket_service/receive_from.html
new file mode 100644
index 0000000000..373fb5a33f
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/receive_from.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="receive.html" title="datagram_socket_service::receive">
+<link rel="next" href="remote_endpoint.html" title="datagram_socket_service::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.receive_from"></a><a class="link" href="receive_from.html" title="datagram_socket_service::receive_from">datagram_socket_service::receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140429824"></a>
+Receive a datagram with the endpoint
+ of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/remote_endpoint.html b/doc/html/boost_asio/reference/datagram_socket_service/remote_endpoint.html
new file mode 100644
index 0000000000..15f9dc9dea
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/remote_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="receive_from.html" title="datagram_socket_service::receive_from">
+<link rel="next" href="send.html" title="datagram_socket_service::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="datagram_socket_service::remote_endpoint">datagram_socket_service::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140456560"></a>
+Get the remote endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/send.html b/doc/html/boost_asio/reference/datagram_socket_service/send.html
new file mode 100644
index 0000000000..aa6abc91cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/send.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="remote_endpoint.html" title="datagram_socket_service::remote_endpoint">
+<link rel="next" href="send_to.html" title="datagram_socket_service::send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.send"></a><a class="link" href="send.html" title="datagram_socket_service::send">datagram_socket_service::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140471696"></a>
+Send the given data to the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/send_to.html b/doc/html/boost_asio/reference/datagram_socket_service/send_to.html
new file mode 100644
index 0000000000..cc2afc0e18
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/send_to.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="send.html" title="datagram_socket_service::send">
+<link rel="next" href="set_option.html" title="datagram_socket_service::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.send_to"></a><a class="link" href="send_to.html" title="datagram_socket_service::send_to">datagram_socket_service::send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140495760"></a>
+Send a datagram to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/set_option.html b/doc/html/boost_asio/reference/datagram_socket_service/set_option.html
new file mode 100644
index 0000000000..c0f5ff6b88
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/set_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="send_to.html" title="datagram_socket_service::send_to">
+<link rel="next" href="shutdown.html" title="datagram_socket_service::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.set_option"></a><a class="link" href="set_option.html" title="datagram_socket_service::set_option">datagram_socket_service::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140523008"></a>
+Set a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/datagram_socket_service/shutdown.html b/doc/html/boost_asio/reference/datagram_socket_service/shutdown.html
new file mode 100644
index 0000000000..2218a1c12c
--- /dev/null
+++ b/doc/html/boost_asio/reference/datagram_socket_service/shutdown.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>datagram_socket_service::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_socket_service.html" title="datagram_socket_service">
+<link rel="prev" href="set_option.html" title="datagram_socket_service::set_option">
+<link rel="next" href="../deadline_timer.html" title="deadline_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../deadline_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.datagram_socket_service.shutdown"></a><a class="link" href="shutdown.html" title="datagram_socket_service::shutdown">datagram_socket_service::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140545152"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../deadline_timer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer.html b/doc/html/boost_asio/reference/deadline_timer.html
new file mode 100644
index 0000000000..27f46813aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer.html
@@ -0,0 +1,480 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="datagram_socket_service/shutdown.html" title="datagram_socket_service::shutdown">
+<link rel="next" href="deadline_timer_service.html" title="deadline_timer_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="datagram_socket_service/shutdown.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deadline_timer_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.deadline_timer"></a><a class="link" href="deadline_timer.html" title="deadline_timer">deadline_timer</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp140563696"></a>
+Typedef for the typical usage of timer. Uses a UTC clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_deadline_timer</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span> <span class="special">&gt;</span> <span class="identifier">deadline_timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.types"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/duration_type.html" title="basic_deadline_timer::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/implementation_type.html" title="basic_deadline_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/service_type.html" title="basic_deadline_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/time_type.html" title="basic_deadline_timer::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/traits_type.html" title="basic_deadline_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.member_functions"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/basic_deadline_timer.html" title="basic_deadline_timer::basic_deadline_timer"><span class="bold"><strong>basic_deadline_timer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+ <p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/cancel.html" title="basic_deadline_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/cancel_one.html" title="basic_deadline_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/expires_at.html" title="basic_deadline_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/expires_from_now.html" title="basic_deadline_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the timer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/get_io_service.html" title="basic_deadline_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/wait.html" title="basic_deadline_timer::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the timer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.protected_member_functions"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/get_implementation.html" title="basic_deadline_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/get_service.html" title="basic_deadline_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.protected_data_members"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/implementation.html" title="basic_deadline_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_deadline_timer/service.html" title="basic_deadline_timer::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_deadline_timer.html" title="basic_deadline_timer"><code class="computeroutput"><span class="identifier">basic_deadline_timer</span></code></a> class template
+ provides the ability to perform a blocking or asynchronous wait for a timer
+ to expire.
+ </p>
+<p>
+ A deadline timer is always in one of two states: "expired" or "not
+ expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
+ the wait operation will complete immediately.
+ </p>
+<p>
+ Most applications will use the <a class="link" href="deadline_timer.html" title="deadline_timer"><code class="computeroutput"><span class="identifier">deadline_timer</span></code></a> typedef.
+ </p>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.thread_safety"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.examples"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.examples">Examples</a>
+ </h5>
+<p>
+ Performing a blocking wait:
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// Set an expiry time relative to now.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+
+<span class="comment">// Wait for the timer to expire.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Performing an asynchronous wait:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer expired.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a timer with an absolute expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_from_string</span><span class="special">(</span><span class="string">"2005-12-07 23:59:59.000"</span><span class="special">));</span>
+
+<span class="comment">// Start an asynchronous wait.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.changing_an_active_deadline_timer_s_expiry_time"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.changing_an_active_deadline_timer_s_expiry_time">Changing
+ an active deadline_timer's expiry time</a>
+ </h5>
+<p>
+ Changing the expiry time of a timer while there are pending asynchronous
+ waits causes those wait operations to be cancelled. To ensure that the action
+ associated with the timer is performed only once, use something like this:
+ used:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
+ <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Too late, timer has already expired!</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer was not cancelled, take necessary action.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_deadline_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ function cancels any pending asynchronous waits, and returns the number
+ of asynchronous waits that were cancelled. If it returns 0 then you were
+ too late and the wait handler has already been executed, or will soon
+ be executed. If it returns 1 then the wait handler was successfully cancelled.
+ </li>
+<li class="listitem">
+ If a wait handler is cancelled, the boost::system::error_code passed
+ to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer.requirements"></a></span><a class="link" href="deadline_timer.html#boost_asio.reference.deadline_timer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="datagram_socket_service/shutdown.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deadline_timer_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service.html b/doc/html/boost_asio/reference/deadline_timer_service.html
new file mode 100644
index 0000000000..4f7b66ce35
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service.html
@@ -0,0 +1,313 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="deadline_timer.html" title="deadline_timer">
+<link rel="next" href="deadline_timer_service/async_wait.html" title="deadline_timer_service::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="deadline_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deadline_timer_service/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.deadline_timer_service"></a><a class="link" href="deadline_timer_service.html" title="deadline_timer_service">deadline_timer_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a timer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">TimeType</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="TimeTraits.html" title="Time traits requirements">TimeTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">time_traits</span><span class="special">&lt;</span><span class="identifier">TimeType</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">deadline_timer_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.deadline_timer_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.types"></a></span><a class="link" href="deadline_timer_service.html#boost_asio.reference.deadline_timer_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/duration_type.html" title="deadline_timer_service::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/implementation_type.html" title="deadline_timer_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The implementation type of the deadline timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/time_type.html" title="deadline_timer_service::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/traits_type.html" title="deadline_timer_service::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.member_functions"></a></span><a class="link" href="deadline_timer_service.html#boost_asio.reference.deadline_timer_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/async_wait.html" title="deadline_timer_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/cancel.html" title="deadline_timer_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous wait operations associated with the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/cancel_one.html" title="deadline_timer_service::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous wait operation associated with the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/construct.html" title="deadline_timer_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new timer implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/deadline_timer_service.html" title="deadline_timer_service::deadline_timer_service"><span class="bold"><strong>deadline_timer_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new timer service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/destroy.html" title="deadline_timer_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a timer implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/expires_at.html" title="deadline_timer_service::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the expiry time for the timer as an absolute time.
+ </p>
+ <p>
+ Set the expiry time for the timer as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/expires_from_now.html" title="deadline_timer_service::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the expiry time for the timer relative to now.
+ </p>
+ <p>
+ Set the expiry time for the timer relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/get_io_service.html" title="deadline_timer_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/wait.html" title="deadline_timer_service::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.data_members"></a></span><a class="link" href="deadline_timer_service.html#boost_asio.reference.deadline_timer_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="deadline_timer_service/id.html" title="deadline_timer_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.deadline_timer_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.requirements"></a></span><a class="link" href="deadline_timer_service.html#boost_asio.reference.deadline_timer_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="deadline_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deadline_timer_service/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/async_wait.html b/doc/html/boost_asio/reference/deadline_timer_service/async_wait.html
new file mode 100644
index 0000000000..915c8ff676
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/async_wait.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="next" href="cancel.html" title="deadline_timer_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.async_wait"></a><a class="link" href="async_wait.html" title="deadline_timer_service::async_wait">deadline_timer_service::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140876688"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WaitHandler.html" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../deadline_timer_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/cancel.html b/doc/html/boost_asio/reference/deadline_timer_service/cancel.html
new file mode 100644
index 0000000000..4c055729bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="async_wait.html" title="deadline_timer_service::async_wait">
+<link rel="next" href="cancel_one.html" title="deadline_timer_service::cancel_one">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.cancel"></a><a class="link" href="cancel.html" title="deadline_timer_service::cancel">deadline_timer_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140890864"></a>
+Cancel any asynchronous wait operations associated
+ with the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/cancel_one.html b/doc/html/boost_asio/reference/deadline_timer_service/cancel_one.html
new file mode 100644
index 0000000000..824985a6cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/cancel_one.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::cancel_one</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="cancel.html" title="deadline_timer_service::cancel">
+<link rel="next" href="construct.html" title="deadline_timer_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.cancel_one"></a><a class="link" href="cancel_one.html" title="deadline_timer_service::cancel_one">deadline_timer_service::cancel_one</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140905296"></a>
+Cancels one asynchronous wait operation
+ associated with the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/construct.html b/doc/html/boost_asio/reference/deadline_timer_service/construct.html
new file mode 100644
index 0000000000..10f87de2f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="cancel_one.html" title="deadline_timer_service::cancel_one">
+<link rel="next" href="deadline_timer_service.html" title="deadline_timer_service::deadline_timer_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel_one.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deadline_timer_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.construct"></a><a class="link" href="construct.html" title="deadline_timer_service::construct">deadline_timer_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140919728"></a>
+Construct a new timer implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel_one.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="deadline_timer_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/deadline_timer_service.html b/doc/html/boost_asio/reference/deadline_timer_service/deadline_timer_service.html
new file mode 100644
index 0000000000..78e092cf48
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/deadline_timer_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::deadline_timer_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="construct.html" title="deadline_timer_service::construct">
+<link rel="next" href="destroy.html" title="deadline_timer_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.deadline_timer_service"></a><a class="link" href="deadline_timer_service.html" title="deadline_timer_service::deadline_timer_service">deadline_timer_service::deadline_timer_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140928432"></a>
+Construct a new timer service
+ for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">deadline_timer_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/destroy.html b/doc/html/boost_asio/reference/deadline_timer_service/destroy.html
new file mode 100644
index 0000000000..bf46948329
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="deadline_timer_service.html" title="deadline_timer_service::deadline_timer_service">
+<link rel="next" href="duration_type.html" title="deadline_timer_service::duration_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="deadline_timer_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.destroy"></a><a class="link" href="destroy.html" title="deadline_timer_service::destroy">deadline_timer_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140940336"></a>
+Destroy a timer implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="deadline_timer_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/duration_type.html b/doc/html/boost_asio/reference/deadline_timer_service/duration_type.html
new file mode 100644
index 0000000000..7aba024264
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/duration_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::duration_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="destroy.html" title="deadline_timer_service::destroy">
+<link rel="next" href="expires_at.html" title="deadline_timer_service::expires_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.duration_type"></a><a class="link" href="duration_type.html" title="deadline_timer_service::duration_type">deadline_timer_service::duration_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140949024"></a>
+The duration type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">duration_type</span> <span class="identifier">duration_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.deadline_timer_service.duration_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.duration_type.requirements"></a></span><a class="link" href="duration_type.html#boost_asio.reference.deadline_timer_service.duration_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/expires_at.html b/doc/html/boost_asio/reference/deadline_timer_service/expires_at.html
new file mode 100644
index 0000000000..6b8902a33d
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/expires_at.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::expires_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="duration_type.html" title="deadline_timer_service::duration_type">
+<link rel="next" href="expires_at/overload1.html" title="deadline_timer_service::expires_at (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.expires_at"></a><a class="link" href="expires_at.html" title="deadline_timer_service::expires_at">deadline_timer_service::expires_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp140962560"></a>
+Get the expiry time for the timer as an
+ absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <a class="link" href="expires_at/overload1.html" title="deadline_timer_service::expires_at (1 of 2 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload1.html" title="deadline_timer_service::expires_at (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the expiry time for the timer as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_at/overload2.html" title="deadline_timer_service::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload2.html" title="deadline_timer_service::expires_at (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload1.html b/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload1.html
new file mode 100644
index 0000000000..a1ac390c68
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::expires_at (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="deadline_timer_service::expires_at">
+<link rel="prev" href="../expires_at.html" title="deadline_timer_service::expires_at">
+<link rel="next" href="overload2.html" title="deadline_timer_service::expires_at (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.deadline_timer_service.expires_at.overload1"></a><a class="link" href="overload1.html" title="deadline_timer_service::expires_at (1 of 2 overloads)">deadline_timer_service::expires_at
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the expiry time for the timer as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_type</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload2.html b/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload2.html
new file mode 100644
index 0000000000..15ef9a1fa2
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/expires_at/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::expires_at (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="deadline_timer_service::expires_at">
+<link rel="prev" href="overload1.html" title="deadline_timer_service::expires_at (1 of 2 overloads)">
+<link rel="next" href="../expires_from_now.html" title="deadline_timer_service::expires_from_now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.deadline_timer_service.expires_at.overload2"></a><a class="link" href="overload2.html" title="deadline_timer_service::expires_at (2 of 2 overloads)">deadline_timer_service::expires_at
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the expiry time for the timer as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now.html b/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now.html
new file mode 100644
index 0000000000..5c5dcf9103
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::expires_from_now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="expires_at/overload2.html" title="deadline_timer_service::expires_at (2 of 2 overloads)">
+<link rel="next" href="expires_from_now/overload1.html" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.expires_from_now"></a><a class="link" href="expires_from_now.html" title="deadline_timer_service::expires_from_now">deadline_timer_service::expires_from_now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141017120"></a>
+Get the expiry time for the timer
+ relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <a class="link" href="expires_from_now/overload1.html" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload1.html" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the expiry time for the timer relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_from_now/overload2.html" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload2.html" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload1.html b/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload1.html
new file mode 100644
index 0000000000..deebc7eb89
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::expires_from_now (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="deadline_timer_service::expires_from_now">
+<link rel="prev" href="../expires_from_now.html" title="deadline_timer_service::expires_from_now">
+<link rel="next" href="overload2.html" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.deadline_timer_service.expires_from_now.overload1"></a><a class="link" href="overload1.html" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">deadline_timer_service::expires_from_now
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the expiry time for the timer relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration_type</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload2.html b/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload2.html
new file mode 100644
index 0000000000..676c852066
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/expires_from_now/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::expires_from_now (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="deadline_timer_service::expires_from_now">
+<link rel="prev" href="overload1.html" title="deadline_timer_service::expires_from_now (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="deadline_timer_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.deadline_timer_service.expires_from_now.overload2"></a><a class="link" href="overload2.html" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">deadline_timer_service::expires_from_now
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the expiry time for the timer relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/get_io_service.html b/doc/html/boost_asio/reference/deadline_timer_service/get_io_service.html
new file mode 100644
index 0000000000..4861f0e31e
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="expires_from_now/overload2.html" title="deadline_timer_service::expires_from_now (2 of 2 overloads)">
+<link rel="next" href="id.html" title="deadline_timer_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.get_io_service"></a><a class="link" href="get_io_service.html" title="deadline_timer_service::get_io_service">deadline_timer_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp141072640"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/id.html b/doc/html/boost_asio/reference/deadline_timer_service/id.html
new file mode 100644
index 0000000000..0bdb68f641
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="get_io_service.html" title="deadline_timer_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="deadline_timer_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.id"></a><a class="link" href="id.html" title="deadline_timer_service::id">deadline_timer_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141083392"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/implementation_type.html b/doc/html/boost_asio/reference/deadline_timer_service/implementation_type.html
new file mode 100644
index 0000000000..436da60097
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="id.html" title="deadline_timer_service::id">
+<link rel="next" href="time_type.html" title="deadline_timer_service::time_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.implementation_type"></a><a class="link" href="implementation_type.html" title="deadline_timer_service::implementation_type">deadline_timer_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141093280"></a>
+The implementation type of the
+ deadline timer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.deadline_timer_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.deadline_timer_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/time_type.html b/doc/html/boost_asio/reference/deadline_timer_service/time_type.html
new file mode 100644
index 0000000000..b1d20c7474
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/time_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::time_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="implementation_type.html" title="deadline_timer_service::implementation_type">
+<link rel="next" href="traits_type.html" title="deadline_timer_service::traits_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.time_type"></a><a class="link" href="time_type.html" title="deadline_timer_service::time_type">deadline_timer_service::time_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141105760"></a>
+The time type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">time_type</span> <span class="identifier">time_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.deadline_timer_service.time_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.time_type.requirements"></a></span><a class="link" href="time_type.html#boost_asio.reference.deadline_timer_service.time_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/traits_type.html b/doc/html/boost_asio/reference/deadline_timer_service/traits_type.html
new file mode 100644
index 0000000000..8e82d7bbf0
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/traits_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::traits_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="time_type.html" title="deadline_timer_service::time_type">
+<link rel="next" href="wait.html" title="deadline_timer_service::wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.traits_type"></a><a class="link" href="traits_type.html" title="deadline_timer_service::traits_type">deadline_timer_service::traits_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141119232"></a>
+The time traits type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">TimeTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.deadline_timer_service.traits_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.deadline_timer_service.traits_type.requirements"></a></span><a class="link" href="traits_type.html#boost_asio.reference.deadline_timer_service.traits_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/deadline_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/deadline_timer_service/wait.html b/doc/html/boost_asio/reference/deadline_timer_service/wait.html
new file mode 100644
index 0000000000..408f12b1c1
--- /dev/null
+++ b/doc/html/boost_asio/reference/deadline_timer_service/wait.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>deadline_timer_service::wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../deadline_timer_service.html" title="deadline_timer_service">
+<link rel="prev" href="traits_type.html" title="deadline_timer_service::traits_type">
+<link rel="next" href="../error__addrinfo_category.html" title="error::addrinfo_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error__addrinfo_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.deadline_timer_service.wait"></a><a class="link" href="wait.html" title="deadline_timer_service::wait">deadline_timer_service::wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141131616"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../deadline_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error__addrinfo_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__addrinfo_category.html b/doc/html/boost_asio/reference/error__addrinfo_category.html
new file mode 100644
index 0000000000..7e1a56ac95
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__addrinfo_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::addrinfo_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="deadline_timer_service/wait.html" title="deadline_timer_service::wait">
+<link rel="next" href="error__addrinfo_errors.html" title="error::addrinfo_errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="deadline_timer_service/wait.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__addrinfo_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__addrinfo_category"></a><a class="link" href="error__addrinfo_category.html" title="error::addrinfo_category">error::addrinfo_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141145040"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">addrinfo_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_addrinfo_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__addrinfo_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__addrinfo_category.requirements"></a></span><a class="link" href="error__addrinfo_category.html#boost_asio.reference.error__addrinfo_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="deadline_timer_service/wait.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__addrinfo_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__addrinfo_errors.html b/doc/html/boost_asio/reference/error__addrinfo_errors.html
new file mode 100644
index 0000000000..b0941fbcfd
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__addrinfo_errors.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::addrinfo_errors</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__addrinfo_category.html" title="error::addrinfo_category">
+<link rel="next" href="error__basic_errors.html" title="error::basic_errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__addrinfo_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__basic_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__addrinfo_errors"></a><a class="link" href="error__addrinfo_errors.html" title="error::addrinfo_errors">error::addrinfo_errors</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141165376"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">addrinfo_errors</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp141168560"></a>
+ <a class="indexterm" name="idp141169664"></a>
+ </p>
+<h5>
+<a name="boost_asio.reference.error__addrinfo_errors.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__addrinfo_errors.values"></a></span><a class="link" href="error__addrinfo_errors.html#boost_asio.reference.error__addrinfo_errors.values">Values</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">service_not_found</span></dt>
+<dd><p>
+ The service is not supported for the given socket type.
+ </p></dd>
+<dt><span class="term">socket_type_not_supported</span></dt>
+<dd><p>
+ The socket type is not supported.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.error__addrinfo_errors.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__addrinfo_errors.requirements"></a></span><a class="link" href="error__addrinfo_errors.html#boost_asio.reference.error__addrinfo_errors.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__addrinfo_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__basic_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__basic_errors.html b/doc/html/boost_asio/reference/error__basic_errors.html
new file mode 100644
index 0000000000..534f2915a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__basic_errors.html
@@ -0,0 +1,240 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::basic_errors</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__addrinfo_errors.html" title="error::addrinfo_errors">
+<link rel="next" href="error__get_addrinfo_category.html" title="error::get_addrinfo_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__addrinfo_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_addrinfo_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__basic_errors"></a><a class="link" href="error__basic_errors.html" title="error::basic_errors">error::basic_errors</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141185424"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">basic_errors</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp141188704"></a>
+ <a class="indexterm" name="idp141189808"></a>
+ <a class="indexterm" name="idp141190928"></a>
+ <a class="indexterm" name="idp141192032"></a>
+ <a class="indexterm" name="idp141193136"></a>
+ <a class="indexterm" name="idp141194240"></a>
+ <a class="indexterm" name="idp141195344"></a>
+ <a class="indexterm" name="idp141196448"></a>
+ <a class="indexterm" name="idp141197552"></a>
+ <a class="indexterm" name="idp141198656"></a>
+ <a class="indexterm" name="idp141199760"></a>
+ <a class="indexterm" name="idp141200864"></a>
+ <a class="indexterm" name="idp141201968"></a>
+ <a class="indexterm" name="idp141203072"></a>
+ <a class="indexterm" name="idp141204176"></a>
+ <a class="indexterm" name="idp141205280"></a>
+ <a class="indexterm" name="idp141206384"></a>
+ <a class="indexterm" name="idp141207488"></a>
+ <a class="indexterm" name="idp141208592"></a>
+ <a class="indexterm" name="idp141209696"></a>
+ <a class="indexterm" name="idp141210800"></a>
+ <a class="indexterm" name="idp141211904"></a>
+ <a class="indexterm" name="idp141213008"></a>
+ <a class="indexterm" name="idp141214112"></a>
+ <a class="indexterm" name="idp141215216"></a>
+ <a class="indexterm" name="idp141216320"></a>
+ <a class="indexterm" name="idp141217424"></a>
+ <a class="indexterm" name="idp141218528"></a>
+ <a class="indexterm" name="idp141219632"></a>
+ <a class="indexterm" name="idp141220736"></a>
+ <a class="indexterm" name="idp141221840"></a>
+ <a class="indexterm" name="idp141222944"></a>
+ <a class="indexterm" name="idp141224048"></a>
+ <a class="indexterm" name="idp141225152"></a>
+ </p>
+<h5>
+<a name="boost_asio.reference.error__basic_errors.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__basic_errors.values"></a></span><a class="link" href="error__basic_errors.html#boost_asio.reference.error__basic_errors.values">Values</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">access_denied</span></dt>
+<dd><p>
+ Permission denied.
+ </p></dd>
+<dt><span class="term">address_family_not_supported</span></dt>
+<dd><p>
+ Address family not supported by protocol.
+ </p></dd>
+<dt><span class="term">address_in_use</span></dt>
+<dd><p>
+ Address already in use.
+ </p></dd>
+<dt><span class="term">already_connected</span></dt>
+<dd><p>
+ Transport endpoint is already connected.
+ </p></dd>
+<dt><span class="term">already_started</span></dt>
+<dd><p>
+ Operation already in progress.
+ </p></dd>
+<dt><span class="term">broken_pipe</span></dt>
+<dd><p>
+ Broken pipe.
+ </p></dd>
+<dt><span class="term">connection_aborted</span></dt>
+<dd><p>
+ A connection has been aborted.
+ </p></dd>
+<dt><span class="term">connection_refused</span></dt>
+<dd><p>
+ Connection refused.
+ </p></dd>
+<dt><span class="term">connection_reset</span></dt>
+<dd><p>
+ Connection reset by peer.
+ </p></dd>
+<dt><span class="term">bad_descriptor</span></dt>
+<dd><p>
+ Bad file descriptor.
+ </p></dd>
+<dt><span class="term">fault</span></dt>
+<dd><p>
+ Bad address.
+ </p></dd>
+<dt><span class="term">host_unreachable</span></dt>
+<dd><p>
+ No route to host.
+ </p></dd>
+<dt><span class="term">in_progress</span></dt>
+<dd><p>
+ Operation now in progress.
+ </p></dd>
+<dt><span class="term">interrupted</span></dt>
+<dd><p>
+ Interrupted system call.
+ </p></dd>
+<dt><span class="term">invalid_argument</span></dt>
+<dd><p>
+ Invalid argument.
+ </p></dd>
+<dt><span class="term">message_size</span></dt>
+<dd><p>
+ Message too long.
+ </p></dd>
+<dt><span class="term">name_too_long</span></dt>
+<dd><p>
+ The name was too long.
+ </p></dd>
+<dt><span class="term">network_down</span></dt>
+<dd><p>
+ Network is down.
+ </p></dd>
+<dt><span class="term">network_reset</span></dt>
+<dd><p>
+ Network dropped connection on reset.
+ </p></dd>
+<dt><span class="term">network_unreachable</span></dt>
+<dd><p>
+ Network is unreachable.
+ </p></dd>
+<dt><span class="term">no_descriptors</span></dt>
+<dd><p>
+ Too many open files.
+ </p></dd>
+<dt><span class="term">no_buffer_space</span></dt>
+<dd><p>
+ No buffer space available.
+ </p></dd>
+<dt><span class="term">no_memory</span></dt>
+<dd><p>
+ Cannot allocate memory.
+ </p></dd>
+<dt><span class="term">no_permission</span></dt>
+<dd><p>
+ Operation not permitted.
+ </p></dd>
+<dt><span class="term">no_protocol_option</span></dt>
+<dd><p>
+ Protocol not available.
+ </p></dd>
+<dt><span class="term">no_such_device</span></dt>
+<dd><p>
+ No such device.
+ </p></dd>
+<dt><span class="term">not_connected</span></dt>
+<dd><p>
+ Transport endpoint is not connected.
+ </p></dd>
+<dt><span class="term">not_socket</span></dt>
+<dd><p>
+ Socket operation on non-socket.
+ </p></dd>
+<dt><span class="term">operation_aborted</span></dt>
+<dd><p>
+ Operation cancelled.
+ </p></dd>
+<dt><span class="term">operation_not_supported</span></dt>
+<dd><p>
+ Operation not supported.
+ </p></dd>
+<dt><span class="term">shut_down</span></dt>
+<dd><p>
+ Cannot send after transport endpoint shutdown.
+ </p></dd>
+<dt><span class="term">timed_out</span></dt>
+<dd><p>
+ Connection timed out.
+ </p></dd>
+<dt><span class="term">try_again</span></dt>
+<dd><p>
+ Resource temporarily unavailable.
+ </p></dd>
+<dt><span class="term">would_block</span></dt>
+<dd><p>
+ The socket is marked non-blocking and the requested operation would
+ block.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.error__basic_errors.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__basic_errors.requirements"></a></span><a class="link" href="error__basic_errors.html#boost_asio.reference.error__basic_errors.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__addrinfo_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_addrinfo_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__get_addrinfo_category.html b/doc/html/boost_asio/reference/error__get_addrinfo_category.html
new file mode 100644
index 0000000000..d1d953dbd9
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__get_addrinfo_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::get_addrinfo_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__basic_errors.html" title="error::basic_errors">
+<link rel="next" href="error__get_misc_category.html" title="error::get_misc_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__basic_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_misc_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__get_addrinfo_category"></a><a class="link" href="error__get_addrinfo_category.html" title="error::get_addrinfo_category">error::get_addrinfo_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141293408"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_addrinfo_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__get_addrinfo_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__get_addrinfo_category.requirements"></a></span><a class="link" href="error__get_addrinfo_category.html#boost_asio.reference.error__get_addrinfo_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__basic_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_misc_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__get_misc_category.html b/doc/html/boost_asio/reference/error__get_misc_category.html
new file mode 100644
index 0000000000..04c8b756f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__get_misc_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::get_misc_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__get_addrinfo_category.html" title="error::get_addrinfo_category">
+<link rel="next" href="error__get_netdb_category.html" title="error::get_netdb_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__get_addrinfo_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_netdb_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__get_misc_category"></a><a class="link" href="error__get_misc_category.html" title="error::get_misc_category">error::get_misc_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141308640"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_misc_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__get_misc_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__get_misc_category.requirements"></a></span><a class="link" href="error__get_misc_category.html#boost_asio.reference.error__get_misc_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__get_addrinfo_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_netdb_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__get_netdb_category.html b/doc/html/boost_asio/reference/error__get_netdb_category.html
new file mode 100644
index 0000000000..b9166bb504
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__get_netdb_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::get_netdb_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__get_misc_category.html" title="error::get_misc_category">
+<link rel="next" href="error__get_ssl_category.html" title="error::get_ssl_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__get_misc_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_ssl_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__get_netdb_category"></a><a class="link" href="error__get_netdb_category.html" title="error::get_netdb_category">error::get_netdb_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141323696"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_netdb_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__get_netdb_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__get_netdb_category.requirements"></a></span><a class="link" href="error__get_netdb_category.html#boost_asio.reference.error__get_netdb_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__get_misc_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_ssl_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__get_ssl_category.html b/doc/html/boost_asio/reference/error__get_ssl_category.html
new file mode 100644
index 0000000000..7c4aa1b4f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__get_ssl_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::get_ssl_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__get_netdb_category.html" title="error::get_netdb_category">
+<link rel="next" href="error__get_system_category.html" title="error::get_system_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__get_netdb_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_system_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__get_ssl_category"></a><a class="link" href="error__get_ssl_category.html" title="error::get_ssl_category">error::get_ssl_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141338736"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_ssl_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__get_ssl_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__get_ssl_category.requirements"></a></span><a class="link" href="error__get_ssl_category.html#boost_asio.reference.error__get_ssl_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__get_netdb_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__get_system_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__get_system_category.html b/doc/html/boost_asio/reference/error__get_system_category.html
new file mode 100644
index 0000000000..b2b3de9ba7
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__get_system_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::get_system_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__get_ssl_category.html" title="error::get_ssl_category">
+<link rel="next" href="error__make_error_code.html" title="error::make_error_code">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__get_ssl_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__make_error_code.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__get_system_category"></a><a class="link" href="error__get_system_category.html" title="error::get_system_category">error::get_system_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141353744"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_system_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__get_system_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__get_system_category.requirements"></a></span><a class="link" href="error__get_system_category.html#boost_asio.reference.error__get_system_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__get_ssl_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__make_error_code.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__make_error_code.html b/doc/html/boost_asio/reference/error__make_error_code.html
new file mode 100644
index 0000000000..3ad1dc982f
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__make_error_code.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::make_error_code</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__get_system_category.html" title="error::get_system_category">
+<link rel="next" href="error__make_error_code/overload1.html" title="error::make_error_code (1 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__get_system_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__make_error_code/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__make_error_code"></a><a class="link" href="error__make_error_code.html" title="error::make_error_code">error::make_error_code</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141368784"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="error__make_error_code/overload1.html" title="error::make_error_code (1 of 5 overloads)">make_error_code</a><span class="special">(</span>
+ <span class="identifier">basic_errors</span> <span class="identifier">e</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="error__make_error_code/overload1.html" title="error::make_error_code (1 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="error__make_error_code/overload2.html" title="error::make_error_code (2 of 5 overloads)">make_error_code</a><span class="special">(</span>
+ <span class="identifier">netdb_errors</span> <span class="identifier">e</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="error__make_error_code/overload2.html" title="error::make_error_code (2 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="error__make_error_code/overload3.html" title="error::make_error_code (3 of 5 overloads)">make_error_code</a><span class="special">(</span>
+ <span class="identifier">addrinfo_errors</span> <span class="identifier">e</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="error__make_error_code/overload3.html" title="error::make_error_code (3 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="error__make_error_code/overload4.html" title="error::make_error_code (4 of 5 overloads)">make_error_code</a><span class="special">(</span>
+ <span class="identifier">misc_errors</span> <span class="identifier">e</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="error__make_error_code/overload4.html" title="error::make_error_code (4 of 5 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="error__make_error_code/overload5.html" title="error::make_error_code (5 of 5 overloads)">make_error_code</a><span class="special">(</span>
+ <span class="identifier">ssl_errors</span> <span class="identifier">e</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="error__make_error_code/overload5.html" title="error::make_error_code (5 of 5 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__make_error_code.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__make_error_code.requirements"></a></span><a class="link" href="error__make_error_code.html#boost_asio.reference.error__make_error_code.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__get_system_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__make_error_code/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__make_error_code/overload1.html b/doc/html/boost_asio/reference/error__make_error_code/overload1.html
new file mode 100644
index 0000000000..e713dc260c
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__make_error_code/overload1.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::make_error_code (1 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../error__make_error_code.html" title="error::make_error_code">
+<link rel="prev" href="../error__make_error_code.html" title="error::make_error_code">
+<link rel="next" href="overload2.html" title="error::make_error_code (2 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.error__make_error_code.overload1"></a><a class="link" href="overload1.html" title="error::make_error_code (1 of 5 overloads)">error::make_error_code
+ (1 of 5 overloads)</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
+ <span class="identifier">basic_errors</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../error__make_error_code.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__make_error_code/overload2.html b/doc/html/boost_asio/reference/error__make_error_code/overload2.html
new file mode 100644
index 0000000000..cb70372b4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__make_error_code/overload2.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::make_error_code (2 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../error__make_error_code.html" title="error::make_error_code">
+<link rel="prev" href="overload1.html" title="error::make_error_code (1 of 5 overloads)">
+<link rel="next" href="overload3.html" title="error::make_error_code (3 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.error__make_error_code.overload2"></a><a class="link" href="overload2.html" title="error::make_error_code (2 of 5 overloads)">error::make_error_code
+ (2 of 5 overloads)</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
+ <span class="identifier">netdb_errors</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__make_error_code/overload3.html b/doc/html/boost_asio/reference/error__make_error_code/overload3.html
new file mode 100644
index 0000000000..75c2b2a8f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__make_error_code/overload3.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::make_error_code (3 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../error__make_error_code.html" title="error::make_error_code">
+<link rel="prev" href="overload2.html" title="error::make_error_code (2 of 5 overloads)">
+<link rel="next" href="overload4.html" title="error::make_error_code (4 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.error__make_error_code.overload3"></a><a class="link" href="overload3.html" title="error::make_error_code (3 of 5 overloads)">error::make_error_code
+ (3 of 5 overloads)</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
+ <span class="identifier">addrinfo_errors</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__make_error_code/overload4.html b/doc/html/boost_asio/reference/error__make_error_code/overload4.html
new file mode 100644
index 0000000000..90fa8295c7
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__make_error_code/overload4.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::make_error_code (4 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../error__make_error_code.html" title="error::make_error_code">
+<link rel="prev" href="overload3.html" title="error::make_error_code (3 of 5 overloads)">
+<link rel="next" href="overload5.html" title="error::make_error_code (5 of 5 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.error__make_error_code.overload4"></a><a class="link" href="overload4.html" title="error::make_error_code (4 of 5 overloads)">error::make_error_code
+ (4 of 5 overloads)</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
+ <span class="identifier">misc_errors</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__make_error_code/overload5.html b/doc/html/boost_asio/reference/error__make_error_code/overload5.html
new file mode 100644
index 0000000000..02be2aadac
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__make_error_code/overload5.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::make_error_code (5 of 5 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../error__make_error_code.html" title="error::make_error_code">
+<link rel="prev" href="overload4.html" title="error::make_error_code (4 of 5 overloads)">
+<link rel="next" href="../error__misc_category.html" title="error::misc_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error__misc_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.error__make_error_code.overload5"></a><a class="link" href="overload5.html" title="error::make_error_code (5 of 5 overloads)">error::make_error_code
+ (5 of 5 overloads)</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
+ <span class="identifier">ssl_errors</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../error__make_error_code.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error__misc_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__misc_category.html b/doc/html/boost_asio/reference/error__misc_category.html
new file mode 100644
index 0000000000..028d8239e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__misc_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::misc_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__make_error_code/overload5.html" title="error::make_error_code (5 of 5 overloads)">
+<link rel="next" href="error__misc_errors.html" title="error::misc_errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__make_error_code/overload5.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__misc_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__misc_category"></a><a class="link" href="error__misc_category.html" title="error::misc_category">error::misc_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141458160"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">misc_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_misc_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__misc_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__misc_category.requirements"></a></span><a class="link" href="error__misc_category.html#boost_asio.reference.error__misc_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__make_error_code/overload5.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__misc_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__misc_errors.html b/doc/html/boost_asio/reference/error__misc_errors.html
new file mode 100644
index 0000000000..d1fdb1205a
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__misc_errors.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::misc_errors</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__misc_category.html" title="error::misc_category">
+<link rel="next" href="error__netdb_category.html" title="error::netdb_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__misc_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__netdb_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__misc_errors"></a><a class="link" href="error__misc_errors.html" title="error::misc_errors">error::misc_errors</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141478160"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">misc_errors</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp141481360"></a>
+ <a class="indexterm" name="idp141482464"></a>
+ <a class="indexterm" name="idp141483536"></a>
+ <a class="indexterm" name="idp141484640"></a>
+ </p>
+<h5>
+<a name="boost_asio.reference.error__misc_errors.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__misc_errors.values"></a></span><a class="link" href="error__misc_errors.html#boost_asio.reference.error__misc_errors.values">Values</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">already_open</span></dt>
+<dd><p>
+ Already open.
+ </p></dd>
+<dt><span class="term">eof</span></dt>
+<dd><p>
+ End of file or stream.
+ </p></dd>
+<dt><span class="term">not_found</span></dt>
+<dd><p>
+ Element not found.
+ </p></dd>
+<dt><span class="term">fd_set_failure</span></dt>
+<dd><p>
+ The descriptor cannot fit into the select system call's fd_set.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.error__misc_errors.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__misc_errors.requirements"></a></span><a class="link" href="error__misc_errors.html#boost_asio.reference.error__misc_errors.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__misc_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__netdb_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__netdb_category.html b/doc/html/boost_asio/reference/error__netdb_category.html
new file mode 100644
index 0000000000..86f0399f8e
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__netdb_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::netdb_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__misc_errors.html" title="error::misc_errors">
+<link rel="next" href="error__netdb_errors.html" title="error::netdb_errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__misc_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__netdb_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__netdb_category"></a><a class="link" href="error__netdb_category.html" title="error::netdb_category">error::netdb_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141503808"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">netdb_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_netdb_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__netdb_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__netdb_category.requirements"></a></span><a class="link" href="error__netdb_category.html#boost_asio.reference.error__netdb_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__misc_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__netdb_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__netdb_errors.html b/doc/html/boost_asio/reference/error__netdb_errors.html
new file mode 100644
index 0000000000..1dcf5b2582
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__netdb_errors.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::netdb_errors</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__netdb_category.html" title="error::netdb_category">
+<link rel="next" href="error__ssl_category.html" title="error::ssl_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__netdb_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__ssl_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__netdb_errors"></a><a class="link" href="error__netdb_errors.html" title="error::netdb_errors">error::netdb_errors</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141523888"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">netdb_errors</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp141527072"></a>
+ <a class="indexterm" name="idp141528176"></a>
+ <a class="indexterm" name="idp141529296"></a>
+ <a class="indexterm" name="idp141530400"></a>
+ </p>
+<h5>
+<a name="boost_asio.reference.error__netdb_errors.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__netdb_errors.values"></a></span><a class="link" href="error__netdb_errors.html#boost_asio.reference.error__netdb_errors.values">Values</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">host_not_found</span></dt>
+<dd><p>
+ Host not found (authoritative).
+ </p></dd>
+<dt><span class="term">host_not_found_try_again</span></dt>
+<dd><p>
+ Host not found (non-authoritative).
+ </p></dd>
+<dt><span class="term">no_data</span></dt>
+<dd><p>
+ The query is valid but does not have associated address data.
+ </p></dd>
+<dt><span class="term">no_recovery</span></dt>
+<dd><p>
+ A non-recoverable error occurred.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.error__netdb_errors.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__netdb_errors.requirements"></a></span><a class="link" href="error__netdb_errors.html#boost_asio.reference.error__netdb_errors.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__netdb_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__ssl_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__ssl_category.html b/doc/html/boost_asio/reference/error__ssl_category.html
new file mode 100644
index 0000000000..9e6be0f1d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__ssl_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::ssl_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__netdb_errors.html" title="error::netdb_errors">
+<link rel="next" href="error__ssl_errors.html" title="error::ssl_errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__netdb_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__ssl_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__ssl_category"></a><a class="link" href="error__ssl_category.html" title="error::ssl_category">error::ssl_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141549520"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">ssl_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_ssl_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__ssl_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__ssl_category.requirements"></a></span><a class="link" href="error__ssl_category.html#boost_asio.reference.error__ssl_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__netdb_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__ssl_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__ssl_errors.html b/doc/html/boost_asio/reference/error__ssl_errors.html
new file mode 100644
index 0000000000..94fa2a2c4f
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__ssl_errors.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::ssl_errors</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__ssl_category.html" title="error::ssl_category">
+<link rel="next" href="error__system_category.html" title="error::system_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__ssl_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__system_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__ssl_errors"></a><a class="link" href="error__ssl_errors.html" title="error::ssl_errors">error::ssl_errors</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141569744"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">ssl_errors</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__ssl_errors.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__ssl_errors.requirements"></a></span><a class="link" href="error__ssl_errors.html#boost_asio.reference.error__ssl_errors.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__ssl_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error__system_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/error__system_category.html b/doc/html/boost_asio/reference/error__system_category.html
new file mode 100644
index 0000000000..3e95b2f9f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/error__system_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>error::system_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__ssl_errors.html" title="error::ssl_errors">
+<link rel="next" href="generic__basic_endpoint.html" title="generic::basic_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__ssl_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.error__system_category"></a><a class="link" href="error__system_category.html" title="error::system_category">error::system_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp141580656"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">system_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_system_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.error__system_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.error__system_category.requirements"></a></span><a class="link" href="error__system_category.html#boost_asio.reference.error__system_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__ssl_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint.html b/doc/html/boost_asio/reference/generic__basic_endpoint.html
new file mode 100644
index 0000000000..d43bc7a35d
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint.html
@@ -0,0 +1,346 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="error__system_category.html" title="error::system_category">
+<link rel="next" href="generic__basic_endpoint/basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error__system_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__basic_endpoint/basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint"></a><a class="link" href="generic__basic_endpoint.html" title="generic::basic_endpoint">generic::basic_endpoint</a>
+</h3></div></div></div>
+<p>
+ Describes an endpoint for any socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__basic_endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.types"></a></span><a class="link" href="generic__basic_endpoint.html#boost_asio.reference.generic__basic_endpoint.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/data_type.html" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on the
+ underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/protocol_type.html" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__basic_endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.member_functions"></a></span><a class="link" href="generic__basic_endpoint.html#boost_asio.reference.generic__basic_endpoint.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint from the specified socket address.
+ </p>
+ <p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/capacity.html" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/data.html" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_eq_.html" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/protocol.html" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/resize.html" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/size.html" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__basic_endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.friends"></a></span><a class="link" href="generic__basic_endpoint.html#boost_asio.reference.generic__basic_endpoint.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_not__eq_.html" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_lt_.html" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_eq__eq_.html" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_gt_.html" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__basic_endpoint/operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="generic__basic_endpoint.html" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template describes
+ an endpoint that may be associated with any socket type.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__basic_endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.remarks"></a></span><a class="link" href="generic__basic_endpoint.html#boost_asio.reference.generic__basic_endpoint.remarks">Remarks</a>
+ </h5>
+<p>
+ The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code>
+ structure.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__basic_endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.thread_safety"></a></span><a class="link" href="generic__basic_endpoint.html#boost_asio.reference.generic__basic_endpoint.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__basic_endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.requirements"></a></span><a class="link" href="generic__basic_endpoint.html#boost_asio.reference.generic__basic_endpoint.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="error__system_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__basic_endpoint/basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint.html b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint.html
new file mode 100644
index 0000000000..61de988f67
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::basic_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="next" href="basic_endpoint/overload1.html" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint"></a><a class="link" href="basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">generic::basic_endpoint::basic_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141701664"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload1.html" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">basic_endpoint</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload1.html" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an endpoint from the specified socket address.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload2.html" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">socket_address</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">socket_address_size</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload2.html" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Endpoint.html" title="Endpoint requirements">Endpoint</a><span class="special">&gt;</span>
+<a class="link" href="basic_endpoint/overload3.html" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload3.html" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload4.html" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload4.html" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload1.html b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload1.html
new file mode 100644
index 0000000000..e4edad9a8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::basic_endpoint (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">
+<link rel="prev" href="../basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">
+<link rel="next" href="overload2.html" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload1"></a><a class="link" href="overload1.html" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">generic::basic_endpoint::basic_endpoint
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload2.html b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload2.html
new file mode 100644
index 0000000000..a05f8e9c63
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::basic_endpoint (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload1.html" title="generic::basic_endpoint::basic_endpoint (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload2"></a><a class="link" href="overload2.html" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">generic::basic_endpoint::basic_endpoint
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an endpoint from the specified socket address.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">socket_address</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">socket_address_size</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload3.html b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload3.html
new file mode 100644
index 0000000000..ddf5a02cc2
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload3.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::basic_endpoint (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload2.html" title="generic::basic_endpoint::basic_endpoint (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload3"></a><a class="link" href="overload3.html" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">generic::basic_endpoint::basic_endpoint
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Endpoint.html" title="Endpoint requirements">Endpoint</a><span class="special">&gt;</span>
+<span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload4.html b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload4.html
new file mode 100644
index 0000000000..d2c513f56a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/basic_endpoint/overload4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::basic_endpoint (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload3.html" title="generic::basic_endpoint::basic_endpoint (3 of 4 overloads)">
+<link rel="next" href="../capacity.html" title="generic::basic_endpoint::capacity">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../capacity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.basic_endpoint.overload4"></a><a class="link" href="overload4.html" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">generic::basic_endpoint::basic_endpoint
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../capacity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/capacity.html b/doc/html/boost_asio/reference/generic__basic_endpoint/capacity.html
new file mode 100644
index 0000000000..44197a517b
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/capacity.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::capacity</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="basic_endpoint/overload4.html" title="generic::basic_endpoint::basic_endpoint (4 of 4 overloads)">
+<link rel="next" href="data.html" title="generic::basic_endpoint::data">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_endpoint/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.capacity"></a><a class="link" href="capacity.html" title="generic::basic_endpoint::capacity">generic::basic_endpoint::capacity</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141776192"></a>
+Get the capacity of the endpoint in the
+ native type.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">capacity</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="basic_endpoint/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/data.html b/doc/html/boost_asio/reference/generic__basic_endpoint/data.html
new file mode 100644
index 0000000000..ba5639b44a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/data.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::data</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="capacity.html" title="generic::basic_endpoint::capacity">
+<link rel="next" href="data/overload1.html" title="generic::basic_endpoint::data (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="capacity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.data"></a><a class="link" href="data.html" title="generic::basic_endpoint::data">generic::basic_endpoint::data</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141784512"></a>
+Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="data/overload1.html" title="generic::basic_endpoint::data (1 of 2 overloads)">data</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="data/overload1.html" title="generic::basic_endpoint::data (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="data/overload2.html" title="generic::basic_endpoint::data (2 of 2 overloads)">data</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="data/overload2.html" title="generic::basic_endpoint::data (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="capacity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/data/overload1.html b/doc/html/boost_asio/reference/generic__basic_endpoint/data/overload1.html
new file mode 100644
index 0000000000..a65bca43d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/data/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::data (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../data.html" title="generic::basic_endpoint::data">
+<link rel="prev" href="../data.html" title="generic::basic_endpoint::data">
+<link rel="next" href="overload2.html" title="generic::basic_endpoint::data (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.data.overload1"></a><a class="link" href="overload1.html" title="generic::basic_endpoint::data (1 of 2 overloads)">generic::basic_endpoint::data
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/data/overload2.html b/doc/html/boost_asio/reference/generic__basic_endpoint/data/overload2.html
new file mode 100644
index 0000000000..8e926ee4d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/data/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::data (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../data.html" title="generic::basic_endpoint::data">
+<link rel="prev" href="overload1.html" title="generic::basic_endpoint::data (1 of 2 overloads)">
+<link rel="next" href="../data_type.html" title="generic::basic_endpoint::data_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../data_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.data.overload2"></a><a class="link" href="overload2.html" title="generic::basic_endpoint::data (2 of 2 overloads)">generic::basic_endpoint::data
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../data_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/data_type.html b/doc/html/boost_asio/reference/generic__basic_endpoint/data_type.html
new file mode 100644
index 0000000000..4bfe0fa013
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/data_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::data_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="data/overload2.html" title="generic::basic_endpoint::data (2 of 2 overloads)">
+<link rel="next" href="operator_not__eq_.html" title="generic::basic_endpoint::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.data_type"></a><a class="link" href="data_type.html" title="generic::basic_endpoint::data_type">generic::basic_endpoint::data_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141812000"></a>
+The type of the endpoint structure. This
+ type is dependent on the underlying implementation of the socket layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">data_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.data_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.data_type.requirements"></a></span><a class="link" href="data_type.html#boost_asio.reference.generic__basic_endpoint.data_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="data/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq_.html
new file mode 100644
index 0000000000..643f7b1135
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;=">
+<link rel="next" href="operator_eq__eq_.html" title="generic::basic_endpoint::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_eq_"></a><a class="link" href="operator_eq_.html" title="generic::basic_endpoint::operator=">generic::basic_endpoint::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141893152"></a>
+Assign from another endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq__eq_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq__eq_.html
new file mode 100644
index 0000000000..9122929863
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_eq_.html" title="generic::basic_endpoint::operator=">
+<link rel="next" href="operator_gt_.html" title="generic::basic_endpoint::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="generic::basic_endpoint::operator==">generic::basic_endpoint::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141903200"></a>
+Compare two endpoints for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.generic__basic_endpoint.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt_.html
new file mode 100644
index 0000000000..9657b49285
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_eq__eq_.html" title="generic::basic_endpoint::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_gt_"></a><a class="link" href="operator_gt_.html" title="generic::basic_endpoint::operator&gt;">generic::basic_endpoint::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141926064"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.generic__basic_endpoint.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt__eq_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt__eq_.html
new file mode 100644
index 0000000000..cdbe5455a6
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_gt_.html" title="generic::basic_endpoint::operator&gt;">
+<link rel="next" href="protocol.html" title="generic::basic_endpoint::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;=">generic::basic_endpoint::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141948912"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.generic__basic_endpoint.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt_.html
new file mode 100644
index 0000000000..89e68541a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_not__eq_.html" title="generic::basic_endpoint::operator!=">
+<link rel="next" href="operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_lt_"></a><a class="link" href="operator_lt_.html" title="generic::basic_endpoint::operator&lt;">generic::basic_endpoint::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141847488"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.generic__basic_endpoint.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt__eq_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt__eq_.html
new file mode 100644
index 0000000000..e3a3c871c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_lt_.html" title="generic::basic_endpoint::operator&lt;">
+<link rel="next" href="operator_eq_.html" title="generic::basic_endpoint::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;=">generic::basic_endpoint::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141870384"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.generic__basic_endpoint.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/operator_not__eq_.html b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_not__eq_.html
new file mode 100644
index 0000000000..f653253117
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="data_type.html" title="generic::basic_endpoint::data_type">
+<link rel="next" href="operator_lt_.html" title="generic::basic_endpoint::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="generic::basic_endpoint::operator!=">generic::basic_endpoint::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141824560"></a>
+Compare two endpoints for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.generic__basic_endpoint.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="data_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/protocol.html b/doc/html/boost_asio/reference/generic__basic_endpoint/protocol.html
new file mode 100644
index 0000000000..032919f1f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;=">
+<link rel="next" href="protocol_type.html" title="generic::basic_endpoint::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.protocol"></a><a class="link" href="protocol.html" title="generic::basic_endpoint::protocol">generic::basic_endpoint::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141971856"></a>
+The protocol associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">protocol_type</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/protocol_type.html b/doc/html/boost_asio/reference/generic__basic_endpoint/protocol_type.html
new file mode 100644
index 0000000000..694bf3fa31
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/protocol_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="protocol.html" title="generic::basic_endpoint::protocol">
+<link rel="next" href="resize.html" title="generic::basic_endpoint::resize">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resize.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.protocol_type"></a><a class="link" href="protocol_type.html" title="generic::basic_endpoint::protocol_type">generic::basic_endpoint::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141979088"></a>
+The protocol type associated with the
+ endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__basic_endpoint.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__basic_endpoint.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.generic__basic_endpoint.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resize.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/resize.html b/doc/html/boost_asio/reference/generic__basic_endpoint/resize.html
new file mode 100644
index 0000000000..8077ec35e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/resize.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::resize</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="protocol_type.html" title="generic::basic_endpoint::protocol_type">
+<link rel="next" href="size.html" title="generic::basic_endpoint::size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.resize"></a><a class="link" href="resize.html" title="generic::basic_endpoint::resize">generic::basic_endpoint::resize</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp141991520"></a>
+Set the underlying size of the endpoint in
+ the native type.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resize</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">new_size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__basic_endpoint/size.html b/doc/html/boost_asio/reference/generic__basic_endpoint/size.html
new file mode 100644
index 0000000000..892acdad90
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__basic_endpoint/size.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::basic_endpoint::size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__basic_endpoint.html" title="generic::basic_endpoint">
+<link rel="prev" href="resize.html" title="generic::basic_endpoint::resize">
+<link rel="next" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resize.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__basic_endpoint.size"></a><a class="link" href="size.html" title="generic::basic_endpoint::size">generic::basic_endpoint::size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142000528"></a>
+Get the underlying size of the endpoint in the
+ native type.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="resize.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol.html b/doc/html/boost_asio/reference/generic__datagram_protocol.html
new file mode 100644
index 0000000000..11a1f093d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol.html
@@ -0,0 +1,259 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="generic__basic_endpoint/size.html" title="generic::basic_endpoint::size">
+<link rel="next" href="generic__datagram_protocol/datagram_protocol.html" title="generic::datagram_protocol::datagram_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic__basic_endpoint/size.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__datagram_protocol/datagram_protocol.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol"></a><a class="link" href="generic__datagram_protocol.html" title="generic::datagram_protocol">generic::datagram_protocol</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for a generic datagram-oriented socket.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">datagram_protocol</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__datagram_protocol.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.types"></a></span><a class="link" href="generic__datagram_protocol.html#boost_asio.reference.generic__datagram_protocol.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/endpoint.html" title="generic::datagram_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of an endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/socket.html" title="generic::datagram_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The generic socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__datagram_protocol.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.member_functions"></a></span><a class="link" href="generic__datagram_protocol.html#boost_asio.reference.generic__datagram_protocol.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/datagram_protocol.html" title="generic::datagram_protocol::datagram_protocol"><span class="bold"><strong>datagram_protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+ <p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/family.html" title="generic::datagram_protocol::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/protocol.html" title="generic::datagram_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/type.html" title="generic::datagram_protocol::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__datagram_protocol.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.friends"></a></span><a class="link" href="generic__datagram_protocol.html#boost_asio.reference.generic__datagram_protocol.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/operator_not__eq_.html" title="generic::datagram_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__datagram_protocol/operator_eq__eq_.html" title="generic::datagram_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="generic__datagram_protocol.html" title="generic::datagram_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code></a> class contains
+ flags necessary for datagram-oriented sockets of any address family and protocol.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__datagram_protocol.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.examples"></a></span><a class="link" href="generic__datagram_protocol.html#boost_asio.reference.generic__datagram_protocol.examples">Examples</a>
+ </h5>
+<p>
+ Constructing using a native address family and socket protocol:
+ </p>
+<pre class="programlisting"><span class="identifier">datagram_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_UDP</span><span class="special">);</span>
+</pre>
+<p>
+ Constructing from a specific protocol type:
+ </p>
+<pre class="programlisting"><span class="identifier">datagram_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__datagram_protocol.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.thread_safety"></a></span><a class="link" href="generic__datagram_protocol.html#boost_asio.reference.generic__datagram_protocol.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__datagram_protocol.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.requirements"></a></span><a class="link" href="generic__datagram_protocol.html#boost_asio.reference.generic__datagram_protocol.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="generic__basic_endpoint/size.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__datagram_protocol/datagram_protocol.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol.html b/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol.html
new file mode 100644
index 0000000000..94c10f2797
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::datagram_protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="next" href="datagram_protocol/overload1.html" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="datagram_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol"></a><a class="link" href="datagram_protocol.html" title="generic::datagram_protocol::datagram_protocol">generic::datagram_protocol::datagram_protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142092928"></a>
+Construct a protocol object
+ for a specific address family and protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="datagram_protocol/overload1.html" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">datagram_protocol</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="datagram_protocol/overload1.html" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<a class="link" href="datagram_protocol/overload2.html" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">datagram_protocol</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="datagram_protocol/overload2.html" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="datagram_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload1.html b/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload1.html
new file mode 100644
index 0000000000..7ab532fb1a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::datagram_protocol (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_protocol.html" title="generic::datagram_protocol::datagram_protocol">
+<link rel="prev" href="../datagram_protocol.html" title="generic::datagram_protocol::datagram_protocol">
+<link rel="next" href="overload2.html" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../datagram_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload1"></a><a class="link" href="overload1.html" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">generic::datagram_protocol::datagram_protocol
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">datagram_protocol</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../datagram_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload2.html b/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload2.html
new file mode 100644
index 0000000000..5b54770878
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/datagram_protocol/overload2.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::datagram_protocol (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../datagram_protocol.html" title="generic::datagram_protocol::datagram_protocol">
+<link rel="prev" href="overload1.html" title="generic::datagram_protocol::datagram_protocol (1 of 2 overloads)">
+<link rel="next" href="../endpoint.html" title="generic::datagram_protocol::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2"></a><a class="link" href="overload2.html" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">generic::datagram_protocol::datagram_protocol
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="identifier">datagram_protocol</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.generic__datagram_protocol.datagram_protocol.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">@c</span></dt>
+<dd><p>
+ bad_cast Thrown if the source protocol is not datagram-oriented.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../datagram_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/endpoint.html b/doc/html/boost_asio/reference/generic__datagram_protocol/endpoint.html
new file mode 100644
index 0000000000..8dab163aa9
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/endpoint.html
@@ -0,0 +1,344 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="datagram_protocol/overload2.html" title="generic::datagram_protocol::datagram_protocol (2 of 2 overloads)">
+<link rel="next" href="family.html" title="generic::datagram_protocol::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="datagram_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint"></a><a class="link" href="endpoint.html" title="generic::datagram_protocol::endpoint">generic::datagram_protocol::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142138976"></a>
+The type of an endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__datagram_protocol.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data_type.html" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol_type.html" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__datagram_protocol.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint from the specified socket address.
+ </p>
+ <p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/capacity.html" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data.html" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq_.html" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol.html" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/resize.html" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/size.html" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__datagram_protocol.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_not__eq_.html" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt_.html" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq__eq_.html" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt_.html" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../generic__basic_endpoint.html" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with any socket type.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.remarks"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__datagram_protocol.endpoint.remarks">Remarks</a>
+ </h6>
+<p>
+ The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__datagram_protocol.endpoint.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__datagram_protocol.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="datagram_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/family.html b/doc/html/boost_asio/reference/generic__datagram_protocol/family.html
new file mode 100644
index 0000000000..9052319074
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="endpoint.html" title="generic::datagram_protocol::endpoint">
+<link rel="next" href="operator_not__eq_.html" title="generic::datagram_protocol::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.family"></a><a class="link" href="family.html" title="generic::datagram_protocol::family">generic::datagram_protocol::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142238976"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/operator_eq__eq_.html b/doc/html/boost_asio/reference/generic__datagram_protocol/operator_eq__eq_.html
new file mode 100644
index 0000000000..b0125ace6b
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="operator_not__eq_.html" title="generic::datagram_protocol::operator!=">
+<link rel="next" href="protocol.html" title="generic::datagram_protocol::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="generic::datagram_protocol::operator==">generic::datagram_protocol::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142265136"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.generic__datagram_protocol.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/operator_not__eq_.html b/doc/html/boost_asio/reference/generic__datagram_protocol/operator_not__eq_.html
new file mode 100644
index 0000000000..36c649e366
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="family.html" title="generic::datagram_protocol::family">
+<link rel="next" href="operator_eq__eq_.html" title="generic::datagram_protocol::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="generic::datagram_protocol::operator!=">generic::datagram_protocol::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142246144"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">datagram_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.generic__datagram_protocol.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/protocol.html b/doc/html/boost_asio/reference/generic__datagram_protocol/protocol.html
new file mode 100644
index 0000000000..dd03683f43
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="operator_eq__eq_.html" title="generic::datagram_protocol::operator==">
+<link rel="next" href="socket.html" title="generic::datagram_protocol::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.protocol"></a><a class="link" href="protocol.html" title="generic::datagram_protocol::protocol">generic::datagram_protocol::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142284128"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/socket.html b/doc/html/boost_asio/reference/generic__datagram_protocol/socket.html
new file mode 100644
index 0000000000..1713b266d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/socket.html
@@ -0,0 +1,992 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="protocol.html" title="generic::datagram_protocol::protocol">
+<link rel="next" href="type.html" title="generic::datagram_protocol::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.socket"></a><a class="link" href="socket.html" title="generic::datagram_protocol::socket">generic::datagram_protocol::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142291408"></a>
+The generic socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/broadcast.html" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/bytes_readable.html" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/debug.html" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/do_not_route.html" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/endpoint_type.html" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/implementation_type.html" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/keep_alive.html" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/linger.html" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_flags.html" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_handle_type.html" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_type.html" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/non_blocking_io.html" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/protocol_type.html" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/reuse_address.html" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_buffer_size.html" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_low_watermark.html" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/service_type.html" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/shutdown_type.html" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/assign.html" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_connect.html" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/at_mark.html" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/available.html" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_datagram_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_datagram_socket.
+ </p>
+ <p>
+ Construct a basic_datagram_socket, opening it and binding it
+ to the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_datagram_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/bind.html" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/cancel.html" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/close.html" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/connect.html" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_io_service.html" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_option.html" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/io_control.html" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/is_open.html" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/local_endpoint.html" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/lowest_layer.html" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native.html" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_handle.html" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_non_blocking.html" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/non_blocking.html" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/open.html" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/operator_eq_.html" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive.html" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/remote_endpoint.html" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send.html" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a datagram to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/set_option.html" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/shutdown.html" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_implementation.html" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_service.html" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/max_connections.html" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_do_not_route.html" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_end_of_record.html" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_out_of_band.html" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_peek.html" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/implementation.html" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/service.html" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
+ provides asynchronous and blocking datagram-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__datagram_protocol.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__datagram_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__datagram_protocol.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__datagram_protocol/type.html b/doc/html/boost_asio/reference/generic__datagram_protocol/type.html
new file mode 100644
index 0000000000..622add3e05
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__datagram_protocol/type.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::datagram_protocol::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__datagram_protocol.html" title="generic::datagram_protocol">
+<link rel="prev" href="socket.html" title="generic::datagram_protocol::socket">
+<link rel="next" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__datagram_protocol.type"></a><a class="link" href="type.html" title="generic::datagram_protocol::type">generic::datagram_protocol::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142561648"></a>
+Obtain an identifier for the type of the
+ protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol.html b/doc/html/boost_asio/reference/generic__raw_protocol.html
new file mode 100644
index 0000000000..a1e0a42b71
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol.html
@@ -0,0 +1,259 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="generic__datagram_protocol/type.html" title="generic::datagram_protocol::type">
+<link rel="next" href="generic__raw_protocol/endpoint.html" title="generic::raw_protocol::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic__datagram_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__raw_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.generic__raw_protocol"></a><a class="link" href="generic__raw_protocol.html" title="generic::raw_protocol">generic::raw_protocol</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for a generic raw socket.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">raw_protocol</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__raw_protocol.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.types"></a></span><a class="link" href="generic__raw_protocol.html#boost_asio.reference.generic__raw_protocol.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/endpoint.html" title="generic::raw_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of an endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/socket.html" title="generic::raw_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The generic socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__raw_protocol.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.member_functions"></a></span><a class="link" href="generic__raw_protocol.html#boost_asio.reference.generic__raw_protocol.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/family.html" title="generic::raw_protocol::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/protocol.html" title="generic::raw_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/raw_protocol.html" title="generic::raw_protocol::raw_protocol"><span class="bold"><strong>raw_protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+ <p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/type.html" title="generic::raw_protocol::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__raw_protocol.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.friends"></a></span><a class="link" href="generic__raw_protocol.html#boost_asio.reference.generic__raw_protocol.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/operator_not__eq_.html" title="generic::raw_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__raw_protocol/operator_eq__eq_.html" title="generic::raw_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="generic__raw_protocol.html" title="generic::raw_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">raw_protocol</span></code></a> class contains flags
+ necessary for raw sockets of any address family and protocol.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__raw_protocol.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.examples"></a></span><a class="link" href="generic__raw_protocol.html#boost_asio.reference.generic__raw_protocol.examples">Examples</a>
+ </h5>
+<p>
+ Constructing using a native address family and socket protocol:
+ </p>
+<pre class="programlisting"><span class="identifier">raw_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_ICMP</span><span class="special">);</span>
+</pre>
+<p>
+ Constructing from a specific protocol type:
+ </p>
+<pre class="programlisting"><span class="identifier">raw_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__raw_protocol.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.thread_safety"></a></span><a class="link" href="generic__raw_protocol.html#boost_asio.reference.generic__raw_protocol.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__raw_protocol.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.requirements"></a></span><a class="link" href="generic__raw_protocol.html#boost_asio.reference.generic__raw_protocol.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="generic__datagram_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__raw_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/endpoint.html b/doc/html/boost_asio/reference/generic__raw_protocol/endpoint.html
new file mode 100644
index 0000000000..0116e50703
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/endpoint.html
@@ -0,0 +1,344 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="next" href="family.html" title="generic::raw_protocol::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.endpoint"></a><a class="link" href="endpoint.html" title="generic::raw_protocol::endpoint">generic::raw_protocol::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142652640"></a>
+The type of an endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">raw_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__raw_protocol.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data_type.html" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol_type.html" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__raw_protocol.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint from the specified socket address.
+ </p>
+ <p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/capacity.html" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data.html" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq_.html" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol.html" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/resize.html" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/size.html" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__raw_protocol.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_not__eq_.html" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt_.html" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq__eq_.html" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt_.html" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../generic__basic_endpoint.html" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with any socket type.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.remarks"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__raw_protocol.endpoint.remarks">Remarks</a>
+ </h6>
+<p>
+ The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__raw_protocol.endpoint.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__raw_protocol.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/family.html b/doc/html/boost_asio/reference/generic__raw_protocol/family.html
new file mode 100644
index 0000000000..b8d665bc01
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="endpoint.html" title="generic::raw_protocol::endpoint">
+<link rel="next" href="operator_not__eq_.html" title="generic::raw_protocol::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.family"></a><a class="link" href="family.html" title="generic::raw_protocol::family">generic::raw_protocol::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142752192"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/operator_eq__eq_.html b/doc/html/boost_asio/reference/generic__raw_protocol/operator_eq__eq_.html
new file mode 100644
index 0000000000..bb16160175
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="operator_not__eq_.html" title="generic::raw_protocol::operator!=">
+<link rel="next" href="protocol.html" title="generic::raw_protocol::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="generic::raw_protocol::operator==">generic::raw_protocol::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142778448"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.generic__raw_protocol.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/operator_not__eq_.html b/doc/html/boost_asio/reference/generic__raw_protocol/operator_not__eq_.html
new file mode 100644
index 0000000000..8b98f697fe
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="family.html" title="generic::raw_protocol::family">
+<link rel="next" href="operator_eq__eq_.html" title="generic::raw_protocol::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="generic::raw_protocol::operator!=">generic::raw_protocol::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142759408"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">raw_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.generic__raw_protocol.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/protocol.html b/doc/html/boost_asio/reference/generic__raw_protocol/protocol.html
new file mode 100644
index 0000000000..e94eb81b34
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="operator_eq__eq_.html" title="generic::raw_protocol::operator==">
+<link rel="next" href="raw_protocol.html" title="generic::raw_protocol::raw_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.protocol"></a><a class="link" href="protocol.html" title="generic::raw_protocol::protocol">generic::raw_protocol::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142797472"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol.html b/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol.html
new file mode 100644
index 0000000000..8719bcd7dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::raw_protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="protocol.html" title="generic::raw_protocol::protocol">
+<link rel="next" href="raw_protocol/overload1.html" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.raw_protocol"></a><a class="link" href="raw_protocol.html" title="generic::raw_protocol::raw_protocol">generic::raw_protocol::raw_protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142804672"></a>
+Construct a protocol object for a specific
+ address family and protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="raw_protocol/overload1.html" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">raw_protocol</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="raw_protocol/overload1.html" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<a class="link" href="raw_protocol/overload2.html" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">raw_protocol</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="raw_protocol/overload2.html" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload1.html b/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload1.html
new file mode 100644
index 0000000000..d146f3d73a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::raw_protocol (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_protocol.html" title="generic::raw_protocol::raw_protocol">
+<link rel="prev" href="../raw_protocol.html" title="generic::raw_protocol::raw_protocol">
+<link rel="next" href="overload2.html" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../raw_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload1"></a><a class="link" href="overload1.html" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">generic::raw_protocol::raw_protocol
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">raw_protocol</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../raw_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload2.html b/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload2.html
new file mode 100644
index 0000000000..51a14ce4cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/raw_protocol/overload2.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::raw_protocol (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_protocol.html" title="generic::raw_protocol::raw_protocol">
+<link rel="prev" href="overload1.html" title="generic::raw_protocol::raw_protocol (1 of 2 overloads)">
+<link rel="next" href="../socket.html" title="generic::raw_protocol::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload2"></a><a class="link" href="overload2.html" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">generic::raw_protocol::raw_protocol
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="identifier">raw_protocol</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.raw_protocol.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.generic__raw_protocol.raw_protocol.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">@c</span></dt>
+<dd><p>
+ bad_cast Thrown if the source protocol is not raw-oriented.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/socket.html b/doc/html/boost_asio/reference/generic__raw_protocol/socket.html
new file mode 100644
index 0000000000..11bcecc312
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/socket.html
@@ -0,0 +1,992 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="raw_protocol/overload2.html" title="generic::raw_protocol::raw_protocol (2 of 2 overloads)">
+<link rel="next" href="type.html" title="generic::raw_protocol::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="raw_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.socket"></a><a class="link" href="socket.html" title="generic::raw_protocol::socket">generic::raw_protocol::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp142850240"></a>
+The generic socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">raw_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/broadcast.html" title="basic_raw_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/bytes_readable.html" title="basic_raw_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/debug.html" title="basic_raw_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/do_not_route.html" title="basic_raw_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/enable_connection_aborted.html" title="basic_raw_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/endpoint_type.html" title="basic_raw_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/implementation_type.html" title="basic_raw_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/keep_alive.html" title="basic_raw_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/linger.html" title="basic_raw_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/lowest_layer_type.html" title="basic_raw_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_flags.html" title="basic_raw_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_handle_type.html" title="basic_raw_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_type.html" title="basic_raw_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/non_blocking_io.html" title="basic_raw_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/protocol_type.html" title="basic_raw_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive_buffer_size.html" title="basic_raw_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive_low_watermark.html" title="basic_raw_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/reuse_address.html" title="basic_raw_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send_buffer_size.html" title="basic_raw_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send_low_watermark.html" title="basic_raw_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/service_type.html" title="basic_raw_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/shutdown_type.html" title="basic_raw_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/assign.html" title="basic_raw_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_connect.html" title="basic_raw_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_receive.html" title="basic_raw_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_receive_from.html" title="basic_raw_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_send.html" title="basic_raw_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_send_to.html" title="basic_raw_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/at_mark.html" title="basic_raw_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/available.html" title="basic_raw_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket"><span class="bold"><strong>basic_raw_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_raw_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_raw_socket.
+ </p>
+ <p>
+ Construct a basic_raw_socket, opening it and binding it to the
+ given local endpoint.
+ </p>
+ <p>
+ Construct a basic_raw_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_raw_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_raw_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/bind.html" title="basic_raw_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/cancel.html" title="basic_raw_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/close.html" title="basic_raw_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/connect.html" title="basic_raw_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_io_service.html" title="basic_raw_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_option.html" title="basic_raw_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/io_control.html" title="basic_raw_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/is_open.html" title="basic_raw_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/local_endpoint.html" title="basic_raw_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/lowest_layer.html" title="basic_raw_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native.html" title="basic_raw_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_handle.html" title="basic_raw_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_non_blocking.html" title="basic_raw_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/non_blocking.html" title="basic_raw_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/open.html" title="basic_raw_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/operator_eq_.html" title="basic_raw_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_raw_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_raw_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive.html" title="basic_raw_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive_from.html" title="basic_raw_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/remote_endpoint.html" title="basic_raw_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send.html" title="basic_raw_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send_to.html" title="basic_raw_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send raw data to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/set_option.html" title="basic_raw_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/shutdown.html" title="basic_raw_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_implementation.html" title="basic_raw_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_service.html" title="basic_raw_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/max_connections.html" title="basic_raw_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_do_not_route.html" title="basic_raw_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_end_of_record.html" title="basic_raw_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_out_of_band.html" title="basic_raw_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_peek.html" title="basic_raw_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/implementation.html" title="basic_raw_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/service.html" title="basic_raw_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> class template
+ provides asynchronous and blocking raw-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__raw_protocol.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__raw_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__raw_protocol.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/raw_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="raw_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__raw_protocol/type.html b/doc/html/boost_asio/reference/generic__raw_protocol/type.html
new file mode 100644
index 0000000000..b00c2117d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__raw_protocol/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::raw_protocol::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__raw_protocol.html" title="generic::raw_protocol">
+<link rel="prev" href="socket.html" title="generic::raw_protocol::socket">
+<link rel="next" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__raw_protocol.type"></a><a class="link" href="type.html" title="generic::raw_protocol::type">generic::raw_protocol::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143119472"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__raw_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol.html
new file mode 100644
index 0000000000..ab76b76b6b
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol.html
@@ -0,0 +1,255 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="generic__raw_protocol/type.html" title="generic::raw_protocol::type">
+<link rel="next" href="generic__seq_packet_protocol/endpoint.html" title="generic::seq_packet_protocol::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic__raw_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__seq_packet_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol"></a><a class="link" href="generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">generic::seq_packet_protocol</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for a generic sequenced packet socket.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">seq_packet_protocol</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__seq_packet_protocol.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.types"></a></span><a class="link" href="generic__seq_packet_protocol.html#boost_asio.reference.generic__seq_packet_protocol.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/endpoint.html" title="generic::seq_packet_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of an endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/socket.html" title="generic::seq_packet_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The generic socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__seq_packet_protocol.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.member_functions"></a></span><a class="link" href="generic__seq_packet_protocol.html#boost_asio.reference.generic__seq_packet_protocol.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/family.html" title="generic::seq_packet_protocol::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/protocol.html" title="generic::seq_packet_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/seq_packet_protocol.html" title="generic::seq_packet_protocol::seq_packet_protocol"><span class="bold"><strong>seq_packet_protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+ <p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/type.html" title="generic::seq_packet_protocol::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__seq_packet_protocol.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.friends"></a></span><a class="link" href="generic__seq_packet_protocol.html#boost_asio.reference.generic__seq_packet_protocol.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/operator_not__eq_.html" title="generic::seq_packet_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__seq_packet_protocol/operator_eq__eq_.html" title="generic::seq_packet_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="generic__seq_packet_protocol.html" title="generic::seq_packet_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">seq_packet_protocol</span></code></a> class contains
+ flags necessary for seq_packet-oriented sockets of any address family and
+ protocol.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__seq_packet_protocol.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.examples"></a></span><a class="link" href="generic__seq_packet_protocol.html#boost_asio.reference.generic__seq_packet_protocol.examples">Examples</a>
+ </h5>
+<p>
+ Constructing using a native address family and socket protocol:
+ </p>
+<pre class="programlisting"><span class="identifier">seq_packet_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_SCTP</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__seq_packet_protocol.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.thread_safety"></a></span><a class="link" href="generic__seq_packet_protocol.html#boost_asio.reference.generic__seq_packet_protocol.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__seq_packet_protocol.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.requirements"></a></span><a class="link" href="generic__seq_packet_protocol.html#boost_asio.reference.generic__seq_packet_protocol.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="generic__raw_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__seq_packet_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/endpoint.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/endpoint.html
new file mode 100644
index 0000000000..34384624f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/endpoint.html
@@ -0,0 +1,344 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="next" href="family.html" title="generic::seq_packet_protocol::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint"></a><a class="link" href="endpoint.html" title="generic::seq_packet_protocol::endpoint">generic::seq_packet_protocol::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143202480"></a>
+The type of an endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data_type.html" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol_type.html" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint from the specified socket address.
+ </p>
+ <p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/capacity.html" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data.html" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq_.html" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol.html" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/resize.html" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/size.html" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_not__eq_.html" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt_.html" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq__eq_.html" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt_.html" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../generic__basic_endpoint.html" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with any socket type.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.remarks"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.remarks">Remarks</a>
+ </h6>
+<p>
+ The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__seq_packet_protocol.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/family.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/family.html
new file mode 100644
index 0000000000..9fba9e830a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/family.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="endpoint.html" title="generic::seq_packet_protocol::endpoint">
+<link rel="next" href="operator_not__eq_.html" title="generic::seq_packet_protocol::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.family"></a><a class="link" href="family.html" title="generic::seq_packet_protocol::family">generic::seq_packet_protocol::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143302496"></a>
+Obtain an identifier for the protocol
+ family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_eq__eq_.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_eq__eq_.html
new file mode 100644
index 0000000000..cf821672a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="operator_not__eq_.html" title="generic::seq_packet_protocol::operator!=">
+<link rel="next" href="protocol.html" title="generic::seq_packet_protocol::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="generic::seq_packet_protocol::operator==">generic::seq_packet_protocol::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143328880"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.generic__seq_packet_protocol.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_not__eq_.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_not__eq_.html
new file mode 100644
index 0000000000..2cd7bd7c1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="family.html" title="generic::seq_packet_protocol::family">
+<link rel="next" href="operator_eq__eq_.html" title="generic::seq_packet_protocol::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="generic::seq_packet_protocol::operator!=">generic::seq_packet_protocol::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143309712"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.generic__seq_packet_protocol.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/protocol.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/protocol.html
new file mode 100644
index 0000000000..ba98eced30
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="operator_eq__eq_.html" title="generic::seq_packet_protocol::operator==">
+<link rel="next" href="seq_packet_protocol.html" title="generic::seq_packet_protocol::seq_packet_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.protocol"></a><a class="link" href="protocol.html" title="generic::seq_packet_protocol::protocol">generic::seq_packet_protocol::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143347888"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol.html
new file mode 100644
index 0000000000..fc470b24db
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::seq_packet_protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="protocol.html" title="generic::seq_packet_protocol::protocol">
+<link rel="next" href="seq_packet_protocol/overload1.html" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol"></a><a class="link" href="seq_packet_protocol.html" title="generic::seq_packet_protocol::seq_packet_protocol">generic::seq_packet_protocol::seq_packet_protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143355120"></a>
+Construct a protocol object
+ for a specific address family and protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="seq_packet_protocol/overload1.html" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">seq_packet_protocol</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="seq_packet_protocol/overload1.html" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<a class="link" href="seq_packet_protocol/overload2.html" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">seq_packet_protocol</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="seq_packet_protocol/overload2.html" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload1.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload1.html
new file mode 100644
index 0000000000..469e2498fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_protocol.html" title="generic::seq_packet_protocol::seq_packet_protocol">
+<link rel="prev" href="../seq_packet_protocol.html" title="generic::seq_packet_protocol::seq_packet_protocol">
+<link rel="next" href="overload2.html" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../seq_packet_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload1"></a><a class="link" href="overload1.html" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">generic::seq_packet_protocol::seq_packet_protocol
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">seq_packet_protocol</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../seq_packet_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload2.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload2.html
new file mode 100644
index 0000000000..9c0ad18273
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/seq_packet_protocol/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_protocol.html" title="generic::seq_packet_protocol::seq_packet_protocol">
+<link rel="prev" href="overload1.html" title="generic::seq_packet_protocol::seq_packet_protocol (1 of 2 overloads)">
+<link rel="next" href="../socket.html" title="generic::seq_packet_protocol::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2"></a><a class="link" href="overload2.html" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">generic::seq_packet_protocol::seq_packet_protocol
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="identifier">seq_packet_protocol</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.generic__seq_packet_protocol.seq_packet_protocol.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">@c</span></dt>
+<dd><p>
+ bad_cast Thrown if the source protocol is not based around sequenced
+ packets.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/socket.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/socket.html
new file mode 100644
index 0000000000..b2b82c277a
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/socket.html
@@ -0,0 +1,947 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="seq_packet_protocol/overload2.html" title="generic::seq_packet_protocol::seq_packet_protocol (2 of 2 overloads)">
+<link rel="next" href="type.html" title="generic::seq_packet_protocol::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="seq_packet_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket"></a><a class="link" href="socket.html" title="generic::seq_packet_protocol::socket">generic::seq_packet_protocol::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143401136"></a>
+The generic socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_seq_packet_socket</span><span class="special">&lt;</span> <span class="identifier">seq_packet_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/broadcast.html" title="basic_seq_packet_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/bytes_readable.html" title="basic_seq_packet_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/debug.html" title="basic_seq_packet_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/do_not_route.html" title="basic_seq_packet_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/enable_connection_aborted.html" title="basic_seq_packet_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/endpoint_type.html" title="basic_seq_packet_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/implementation_type.html" title="basic_seq_packet_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/keep_alive.html" title="basic_seq_packet_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/linger.html" title="basic_seq_packet_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/lowest_layer_type.html" title="basic_seq_packet_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/message_flags.html" title="basic_seq_packet_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/native_handle_type.html" title="basic_seq_packet_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/native_type.html" title="basic_seq_packet_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/non_blocking_io.html" title="basic_seq_packet_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/protocol_type.html" title="basic_seq_packet_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/receive_buffer_size.html" title="basic_seq_packet_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/receive_low_watermark.html" title="basic_seq_packet_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/reuse_address.html" title="basic_seq_packet_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/send_buffer_size.html" title="basic_seq_packet_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/send_low_watermark.html" title="basic_seq_packet_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/service_type.html" title="basic_seq_packet_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/shutdown_type.html" title="basic_seq_packet_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/assign.html" title="basic_seq_packet_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/async_connect.html" title="basic_seq_packet_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/async_receive.html" title="basic_seq_packet_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/async_send.html" title="basic_seq_packet_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/at_mark.html" title="basic_seq_packet_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/available.html" title="basic_seq_packet_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/basic_seq_packet_socket.html" title="basic_seq_packet_socket::basic_seq_packet_socket"><span class="bold"><strong>basic_seq_packet_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_seq_packet_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_seq_packet_socket.
+ </p>
+ <p>
+ Construct a basic_seq_packet_socket, opening it and binding it
+ to the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_seq_packet_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_seq_packet_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_seq_packet_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/bind.html" title="basic_seq_packet_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/cancel.html" title="basic_seq_packet_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/close.html" title="basic_seq_packet_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/connect.html" title="basic_seq_packet_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/get_io_service.html" title="basic_seq_packet_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/get_option.html" title="basic_seq_packet_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/io_control.html" title="basic_seq_packet_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/is_open.html" title="basic_seq_packet_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/local_endpoint.html" title="basic_seq_packet_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/lowest_layer.html" title="basic_seq_packet_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/native.html" title="basic_seq_packet_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/native_handle.html" title="basic_seq_packet_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/native_non_blocking.html" title="basic_seq_packet_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/non_blocking.html" title="basic_seq_packet_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/open.html" title="basic_seq_packet_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/operator_eq_.html" title="basic_seq_packet_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_seq_packet_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_seq_packet_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/receive.html" title="basic_seq_packet_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on the socket.
+ </p>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/remote_endpoint.html" title="basic_seq_packet_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/send.html" title="basic_seq_packet_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/set_option.html" title="basic_seq_packet_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/shutdown.html" title="basic_seq_packet_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/get_implementation.html" title="basic_seq_packet_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/get_service.html" title="basic_seq_packet_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/max_connections.html" title="basic_seq_packet_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/message_do_not_route.html" title="basic_seq_packet_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/message_end_of_record.html" title="basic_seq_packet_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/message_out_of_band.html" title="basic_seq_packet_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/message_peek.html" title="basic_seq_packet_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/implementation.html" title="basic_seq_packet_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_seq_packet_socket/service.html" title="basic_seq_packet_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_seq_packet_socket.html" title="basic_seq_packet_socket"><code class="computeroutput"><span class="identifier">basic_seq_packet_socket</span></code></a> class
+ template provides asynchronous and blocking sequenced packet socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__seq_packet_protocol.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__seq_packet_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__seq_packet_protocol.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/seq_packet_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="seq_packet_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__seq_packet_protocol/type.html b/doc/html/boost_asio/reference/generic__seq_packet_protocol/type.html
new file mode 100644
index 0000000000..7c80d6cb43
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__seq_packet_protocol/type.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::seq_packet_protocol::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__seq_packet_protocol.html" title="generic::seq_packet_protocol">
+<link rel="prev" href="socket.html" title="generic::seq_packet_protocol::socket">
+<link rel="next" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__seq_packet_protocol.type"></a><a class="link" href="type.html" title="generic::seq_packet_protocol::type">generic::seq_packet_protocol::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143658880"></a>
+Obtain an identifier for the type of the
+ protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__seq_packet_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol.html b/doc/html/boost_asio/reference/generic__stream_protocol.html
new file mode 100644
index 0000000000..ee892d7add
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol.html
@@ -0,0 +1,271 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="generic__seq_packet_protocol/type.html" title="generic::seq_packet_protocol::type">
+<link rel="next" href="generic__stream_protocol/endpoint.html" title="generic::stream_protocol::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic__seq_packet_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__stream_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.generic__stream_protocol"></a><a class="link" href="generic__stream_protocol.html" title="generic::stream_protocol">generic::stream_protocol</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for a generic stream-oriented socket.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_protocol</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__stream_protocol.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.types"></a></span><a class="link" href="generic__stream_protocol.html#boost_asio.reference.generic__stream_protocol.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/endpoint.html" title="generic::stream_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of an endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/iostream.html" title="generic::stream_protocol::iostream"><span class="bold"><strong>iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The generic socket iostream type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/socket.html" title="generic::stream_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The generic socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__stream_protocol.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.member_functions"></a></span><a class="link" href="generic__stream_protocol.html#boost_asio.reference.generic__stream_protocol.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/family.html" title="generic::stream_protocol::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/protocol.html" title="generic::stream_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/stream_protocol.html" title="generic::stream_protocol::stream_protocol"><span class="bold"><strong>stream_protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+ <p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/type.html" title="generic::stream_protocol::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.generic__stream_protocol.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.friends"></a></span><a class="link" href="generic__stream_protocol.html#boost_asio.reference.generic__stream_protocol.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/operator_not__eq_.html" title="generic::stream_protocol::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="generic__stream_protocol/operator_eq__eq_.html" title="generic::stream_protocol::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="generic__stream_protocol.html" title="generic::stream_protocol"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">stream_protocol</span></code></a> class contains flags
+ necessary for stream-oriented sockets of any address family and protocol.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__stream_protocol.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.examples"></a></span><a class="link" href="generic__stream_protocol.html#boost_asio.reference.generic__stream_protocol.examples">Examples</a>
+ </h5>
+<p>
+ Constructing using a native address family and socket protocol:
+ </p>
+<pre class="programlisting"><span class="identifier">stream_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">AF_INET</span><span class="special">,</span> <span class="identifier">IPPROTO_TCP</span><span class="special">);</span>
+</pre>
+<p>
+ Constructing from a specific protocol type:
+ </p>
+<pre class="programlisting"><span class="identifier">stream_protocol</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.generic__stream_protocol.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.thread_safety"></a></span><a class="link" href="generic__stream_protocol.html#boost_asio.reference.generic__stream_protocol.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.generic__stream_protocol.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.requirements"></a></span><a class="link" href="generic__stream_protocol.html#boost_asio.reference.generic__stream_protocol.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="generic__seq_packet_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic__stream_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/endpoint.html b/doc/html/boost_asio/reference/generic__stream_protocol/endpoint.html
new file mode 100644
index 0000000000..a1b67c9f81
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/endpoint.html
@@ -0,0 +1,344 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="next" href="family.html" title="generic::stream_protocol::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.endpoint"></a><a class="link" href="endpoint.html" title="generic::stream_protocol::endpoint">generic::stream_protocol::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143753408"></a>
+The type of an endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__stream_protocol.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data_type.html" title="generic::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol_type.html" title="generic::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__stream_protocol.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/basic_endpoint.html" title="generic::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint from the specified socket address.
+ </p>
+ <p>
+ Construct an endpoint from the specific endpoint type.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/capacity.html" title="generic::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/data.html" title="generic::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq_.html" title="generic::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/protocol.html" title="generic::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/resize.html" title="generic::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/size.html" title="generic::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__stream_protocol.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_not__eq_.html" title="generic::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt_.html" title="generic::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_lt__eq_.html" title="generic::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_eq__eq_.html" title="generic::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt_.html" title="generic::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../generic__basic_endpoint/operator_gt__eq_.html" title="generic::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../generic__basic_endpoint.html" title="generic::basic_endpoint"><code class="computeroutput"><span class="identifier">generic</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with any socket type.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.remarks"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__stream_protocol.endpoint.remarks">Remarks</a>
+ </h6>
+<p>
+ The socket types sockaddr type must be able to fit into a <code class="computeroutput"><span class="identifier">sockaddr_storage</span></code> structure.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__stream_protocol.endpoint.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.generic__stream_protocol.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/family.html b/doc/html/boost_asio/reference/generic__stream_protocol/family.html
new file mode 100644
index 0000000000..2c79bddd10
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="endpoint.html" title="generic::stream_protocol::endpoint">
+<link rel="next" href="iostream.html" title="generic::stream_protocol::iostream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.family"></a><a class="link" href="family.html" title="generic::stream_protocol::family">generic::stream_protocol::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143852960"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/iostream.html b/doc/html/boost_asio/reference/generic__stream_protocol/iostream.html
new file mode 100644
index 0000000000..f2ed41b556
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/iostream.html
@@ -0,0 +1,239 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::iostream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="family.html" title="generic::stream_protocol::family">
+<link rel="next" href="operator_not__eq_.html" title="generic::stream_protocol::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.iostream"></a><a class="link" href="iostream.html" title="generic::stream_protocol::iostream">generic::stream_protocol::iostream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143860208"></a>
+The generic socket iostream type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_iostream</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">iostream</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.iostream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.iostream.types"></a></span><a class="link" href="iostream.html#boost_asio.reference.generic__stream_protocol.iostream.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/duration_type.html" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/endpoint_type.html" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/time_type.html" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.iostream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.iostream.member_functions"></a></span><a class="link" href="iostream.html#boost_asio.reference.generic__stream_protocol.iostream.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket_iostream without establishing a connection.
+ </p>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/close.html" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the connection.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/connect.html" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/error.html" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the last error associated with the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/expires_at.html" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the stream's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the stream's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/expires_from_now.html" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the stream's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/rdbuf.html" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Return a pointer to the underlying streambuf.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.iostream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.iostream.requirements"></a></span><a class="link" href="iostream.html#boost_asio.reference.generic__stream_protocol.iostream.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/operator_eq__eq_.html b/doc/html/boost_asio/reference/generic__stream_protocol/operator_eq__eq_.html
new file mode 100644
index 0000000000..5877d3d341
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="operator_not__eq_.html" title="generic::stream_protocol::operator!=">
+<link rel="next" href="protocol.html" title="generic::stream_protocol::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="generic::stream_protocol::operator==">generic::stream_protocol::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143942064"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.generic__stream_protocol.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/operator_not__eq_.html b/doc/html/boost_asio/reference/generic__stream_protocol/operator_not__eq_.html
new file mode 100644
index 0000000000..dda04a0283
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="iostream.html" title="generic::stream_protocol::iostream">
+<link rel="next" href="operator_eq__eq_.html" title="generic::stream_protocol::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="generic::stream_protocol::operator!=">generic::stream_protocol::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143923056"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">stream_protocol</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.generic__stream_protocol.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/protocol.html b/doc/html/boost_asio/reference/generic__stream_protocol/protocol.html
new file mode 100644
index 0000000000..399ba3ae27
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="operator_eq__eq_.html" title="generic::stream_protocol::operator==">
+<link rel="next" href="socket.html" title="generic::stream_protocol::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.protocol"></a><a class="link" href="protocol.html" title="generic::stream_protocol::protocol">generic::stream_protocol::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143961104"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/socket.html b/doc/html/boost_asio/reference/generic__stream_protocol/socket.html
new file mode 100644
index 0000000000..eced755a80
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/socket.html
@@ -0,0 +1,995 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="protocol.html" title="generic::stream_protocol::protocol">
+<link rel="next" href="stream_protocol.html" title="generic::stream_protocol::stream_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.socket"></a><a class="link" href="socket.html" title="generic::stream_protocol::socket">generic::stream_protocol::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp143968320"></a>
+The generic socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/broadcast.html" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/bytes_readable.html" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/debug.html" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/do_not_route.html" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/endpoint_type.html" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/implementation_type.html" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/keep_alive.html" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/linger.html" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_flags.html" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_handle_type.html" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_type.html" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/non_blocking_io.html" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/protocol_type.html" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/reuse_address.html" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send_buffer_size.html" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send_low_watermark.html" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/service_type.html" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/shutdown_type.html" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/assign.html" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_connect.html" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_send.html" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/at_mark.html" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/available.html" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_stream_socket.
+ </p>
+ <p>
+ Construct a basic_stream_socket, opening it and binding it to
+ the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_stream_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/bind.html" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/cancel.html" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/close.html" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/connect.html" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_io_service.html" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_option.html" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/io_control.html" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/is_open.html" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/local_endpoint.html" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/lowest_layer.html" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native.html" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_handle.html" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_non_blocking.html" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/non_blocking.html" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/open.html" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/operator_eq_.html" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_stream_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/read_some.html" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive.html" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on the socket.
+ </p>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/remote_endpoint.html" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send.html" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/set_option.html" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/shutdown.html" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/write_some.html" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_implementation.html" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_service.html" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/max_connections.html" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_do_not_route.html" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_end_of_record.html" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_out_of_band.html" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_peek.html" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/implementation.html" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/service.html" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
+ provides asynchronous and blocking stream-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.generic__stream_protocol.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/generic/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol.html b/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol.html
new file mode 100644
index 0000000000..e28c0e56a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::stream_protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="socket.html" title="generic::stream_protocol::socket">
+<link rel="next" href="stream_protocol/overload1.html" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.stream_protocol"></a><a class="link" href="stream_protocol.html" title="generic::stream_protocol::stream_protocol">generic::stream_protocol::stream_protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp144238240"></a>
+Construct a protocol object for
+ a specific address family and protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="stream_protocol/overload1.html" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">stream_protocol</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="stream_protocol/overload1.html" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<a class="link" href="stream_protocol/overload2.html" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">stream_protocol</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="stream_protocol/overload2.html" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_protocol/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload1.html b/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload1.html
new file mode 100644
index 0000000000..979646d982
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::stream_protocol (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_protocol.html" title="generic::stream_protocol::stream_protocol">
+<link rel="prev" href="../stream_protocol.html" title="generic::stream_protocol::stream_protocol">
+<link rel="next" href="overload2.html" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../stream_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload1"></a><a class="link" href="overload1.html" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">generic::stream_protocol::stream_protocol
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a protocol object for a specific address family and protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">stream_protocol</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">address_family</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">socket_protocol</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../stream_protocol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload2.html b/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload2.html
new file mode 100644
index 0000000000..5473a123b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/stream_protocol/overload2.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::stream_protocol (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_protocol.html" title="generic::stream_protocol::stream_protocol">
+<link rel="prev" href="overload1.html" title="generic::stream_protocol::stream_protocol (1 of 2 overloads)">
+<link rel="next" href="../type.html" title="generic::stream_protocol::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload2"></a><a class="link" href="overload2.html" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">generic::stream_protocol::stream_protocol
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a generic protocol object from a specific protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="identifier">stream_protocol</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Protocol</span> <span class="special">&amp;</span> <span class="identifier">source_protocol</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.generic__stream_protocol.stream_protocol.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.generic__stream_protocol.stream_protocol.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">@c</span></dt>
+<dd><p>
+ bad_cast Thrown if the source protocol is not stream-oriented.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_protocol.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/generic__stream_protocol/type.html b/doc/html/boost_asio/reference/generic__stream_protocol/type.html
new file mode 100644
index 0000000000..301fb43000
--- /dev/null
+++ b/doc/html/boost_asio/reference/generic__stream_protocol/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generic::stream_protocol::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../generic__stream_protocol.html" title="generic::stream_protocol">
+<link rel="prev" href="stream_protocol/overload2.html" title="generic::stream_protocol::stream_protocol (2 of 2 overloads)">
+<link rel="next" href="../handler_type.html" title="handler_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../handler_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.generic__stream_protocol.type"></a><a class="link" href="type.html" title="generic::stream_protocol::type">generic::stream_protocol::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp144283760"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="stream_protocol/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../generic__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../handler_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/handler_type.html b/doc/html/boost_asio/reference/handler_type.html
new file mode 100644
index 0000000000..7d0dd50c08
--- /dev/null
+++ b/doc/html/boost_asio/reference/handler_type.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>handler_type</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="generic__stream_protocol/type.html" title="generic::stream_protocol::type">
+<link rel="next" href="handler_type/type.html" title="handler_type::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic__stream_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handler_type/type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.handler_type"></a><a class="link" href="handler_type.html" title="handler_type">handler_type</a>
+</h3></div></div></div>
+<p>
+ Default handler type traits provided for all handlers.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Handler.html" title="Handlers">Handler</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Signature</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">handler_type</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.handler_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.handler_type.types"></a></span><a class="link" href="handler_type.html#boost_asio.reference.handler_type.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="handler_type/type.html" title="handler_type::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The handler type for the specific signature.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="handler_type.html" title="handler_type"><code class="computeroutput"><span class="identifier">handler_type</span></code></a>
+ traits class is used for determining the concrete handler type to be used
+ for an asynchronous operation. It allows the handler type to be determined
+ at the point where the specific completion handler signature is known.
+ </p>
+<p>
+ This template may be specialised for user-defined handler types.
+ </p>
+<h5>
+<a name="boost_asio.reference.handler_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.handler_type.requirements"></a></span><a class="link" href="handler_type.html#boost_asio.reference.handler_type.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_type.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="generic__stream_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handler_type/type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/handler_type/type.html b/doc/html/boost_asio/reference/handler_type/type.html
new file mode 100644
index 0000000000..f2cc6ce4fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/handler_type/type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>handler_type::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../handler_type.html" title="handler_type">
+<link rel="prev" href="../handler_type.html" title="handler_type">
+<link rel="next" href="../has_service.html" title="has_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../handler_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handler_type.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../has_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.handler_type.type"></a><a class="link" href="type.html" title="handler_type::type">handler_type::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp144319008"></a>
+The handler type for the specific signature.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Handler</span> <span class="identifier">type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.handler_type.type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.handler_type.type.requirements"></a></span><a class="link" href="type.html#boost_asio.reference.handler_type.type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/handler_type.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../handler_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handler_type.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../has_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/has_service.html b/doc/html/boost_asio/reference/has_service.html
new file mode 100644
index 0000000000..8a48e65de5
--- /dev/null
+++ b/doc/html/boost_asio/reference/has_service.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>has_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="handler_type/type.html" title="handler_type::type">
+<link rel="next" href="high_resolution_timer.html" title="high_resolution_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="handler_type/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="high_resolution_timer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.has_service"></a><a class="link" href="has_service.html" title="has_service">has_service</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp144331408"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Service.html" title="Service requirements">Service</a><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">has_service</span><span class="special">(</span>
+ <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to determine whether the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains a service object
+ corresponding to the given service type.
+ </p>
+<h5>
+<a name="boost_asio.reference.has_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.has_service.parameters"></a></span><a class="link" href="has_service.html#boost_asio.reference.has_service.parameters">Parameters</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ios</span></dt>
+<dd><p>
+ The <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object that owns the service.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.has_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.has_service.return_value"></a></span><a class="link" href="has_service.html#boost_asio.reference.has_service.return_value">Return
+ Value</a>
+ </h5>
+<p>
+ A boolean indicating whether the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains the service.
+ </p>
+<h5>
+<a name="boost_asio.reference.has_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.has_service.requirements"></a></span><a class="link" href="has_service.html#boost_asio.reference.has_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="handler_type/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="high_resolution_timer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/high_resolution_timer.html b/doc/html/boost_asio/reference/high_resolution_timer.html
new file mode 100644
index 0000000000..a3957d28f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/high_resolution_timer.html
@@ -0,0 +1,508 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>high_resolution_timer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="has_service.html" title="has_service">
+<link rel="next" href="invalid_service_owner.html" title="invalid_service_owner">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invalid_service_owner.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.high_resolution_timer"></a><a class="link" href="high_resolution_timer.html" title="high_resolution_timer">high_resolution_timer</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp144362816"></a>
+Typedef for a timer based on the high resolution clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span> <span class="special">&gt;</span> <span class="identifier">high_resolution_timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.types"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/clock_type.html" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The clock type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/duration.html" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation_type.html" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service_type.html" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/time_point.html" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time point type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/traits_type.html" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The wait traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.member_functions"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/async_wait.html" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+ <p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel.html" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel_one.html" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_from_now.html" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the timer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_io_service.html" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/wait.html" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the timer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.protected_member_functions"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_implementation.html" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_service.html" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.protected_data_members"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation.html" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service.html" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
+ provides the ability to perform a blocking or asynchronous wait for a timer
+ to expire.
+ </p>
+<p>
+ A waitable timer is always in one of two states: "expired" or "not
+ expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
+ the wait operation will complete immediately.
+ </p>
+<p>
+ Most applications will use one of the <a class="link" href="steady_timer.html" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="system_timer.html" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="high_resolution_timer.html" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
+ </p>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.remarks"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.remarks">Remarks</a>
+ </h5>
+<p>
+ This waitable timer functionality is for use with the C++11 standard library's
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
+ </p>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.thread_safety"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.examples"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.examples">Examples</a>
+ </h5>
+<p>
+ Performing a blocking wait (C++11):
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// Set an expiry time relative to now.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+
+<span class="comment">// Wait for the timer to expire.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Performing an asynchronous wait (C++11):
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer expired.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a timer with an absolute expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
+
+<span class="comment">// Start an asynchronous wait.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
+ an active waitable timer's expiry time</a>
+ </h5>
+<p>
+ Changing the expiry time of a timer while there are pending asynchronous
+ waits causes those wait operations to be cancelled. To ensure that the action
+ associated with the timer is performed only once, use something like this:
+ used:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
+ <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Too late, timer has already expired!</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer was not cancelled, take necessary action.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ function cancels any pending asynchronous waits, and returns the number
+ of asynchronous waits that were cancelled. If it returns 0 then you were
+ too late and the wait handler has already been executed, or will soon
+ be executed. If it returns 1 then the wait handler was successfully cancelled.
+ </li>
+<li class="listitem">
+ If a wait handler is cancelled, the boost::system::error_code passed
+ to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<p>
+ This typedef uses the C++11 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code>
+ standard library facility, if available. Otherwise, it may use the Boost.Chrono
+ library. To explicitly utilise Boost.Chrono, use the <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> template directly:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">high_resolution_clock</span><span class="special">&gt;</span> <span class="identifier">timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.high_resolution_timer.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.high_resolution_timer.requirements"></a></span><a class="link" href="high_resolution_timer.html#boost_asio.reference.high_resolution_timer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/high_resolution_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="has_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invalid_service_owner.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/invalid_service_owner.html b/doc/html/boost_asio/reference/invalid_service_owner.html
new file mode 100644
index 0000000000..ed4a1e09c7
--- /dev/null
+++ b/doc/html/boost_asio/reference/invalid_service_owner.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>invalid_service_owner</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="high_resolution_timer.html" title="high_resolution_timer">
+<link rel="next" href="invalid_service_owner/invalid_service_owner.html" title="invalid_service_owner::invalid_service_owner">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="high_resolution_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invalid_service_owner/invalid_service_owner.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.invalid_service_owner"></a><a class="link" href="invalid_service_owner.html" title="invalid_service_owner">invalid_service_owner</a>
+</h3></div></div></div>
+<p>
+ Exception thrown when trying to add a service object to an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> where the service has
+ a different owner.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">invalid_service_owner</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.invalid_service_owner.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.invalid_service_owner.member_functions"></a></span><a class="link" href="invalid_service_owner.html#boost_asio.reference.invalid_service_owner.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="invalid_service_owner/invalid_service_owner.html" title="invalid_service_owner::invalid_service_owner"><span class="bold"><strong>invalid_service_owner</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.invalid_service_owner.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.invalid_service_owner.requirements"></a></span><a class="link" href="invalid_service_owner.html#boost_asio.reference.invalid_service_owner.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="high_resolution_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="invalid_service_owner/invalid_service_owner.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/invalid_service_owner/invalid_service_owner.html b/doc/html/boost_asio/reference/invalid_service_owner/invalid_service_owner.html
new file mode 100644
index 0000000000..aa2fe2e741
--- /dev/null
+++ b/doc/html/boost_asio/reference/invalid_service_owner/invalid_service_owner.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>invalid_service_owner::invalid_service_owner</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../invalid_service_owner.html" title="invalid_service_owner">
+<link rel="prev" href="../invalid_service_owner.html" title="invalid_service_owner">
+<link rel="next" href="../io_service.html" title="io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../invalid_service_owner.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invalid_service_owner.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.invalid_service_owner.invalid_service_owner"></a><a class="link" href="invalid_service_owner.html" title="invalid_service_owner::invalid_service_owner">invalid_service_owner::invalid_service_owner</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp144630544"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">invalid_service_owner</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../invalid_service_owner.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../invalid_service_owner.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service.html b/doc/html/boost_asio/reference/io_service.html
new file mode 100644
index 0000000000..b029faf1ea
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service.html
@@ -0,0 +1,569 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="invalid_service_owner/invalid_service_owner.html" title="invalid_service_owner::invalid_service_owner">
+<link rel="next" href="io_service/add_service.html" title="io_service::add_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="invalid_service_owner/invalid_service_owner.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service/add_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.io_service"></a><a class="link" href="io_service.html" title="io_service">io_service</a>
+</h3></div></div></div>
+<p>
+ Provides core I/O functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">io_service</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.types"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__id.html" title="io_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Class used to uniquely identify a service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__service.html" title="io_service::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Base class for all io_service services.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand.html" title="io_service::strand"><span class="bold"><strong>strand</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Provides serialised handler execution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__work.html" title="io_service::work"><span class="bold"><strong>work</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Class to inform the io_service when it has work to do.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/fork_event.html" title="io_service::fork_event"><span class="bold"><strong>fork_event</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Fork-related event notifications.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.io_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.member_functions"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/dispatch.html" title="io_service::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Request the io_service to invoke the given handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/io_service.html" title="io_service::io_service"><span class="bold"><strong>io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/notify_fork.html" title="io_service::notify_fork"><span class="bold"><strong>notify_fork</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Notify the io_service of a fork-related event.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/poll.html" title="io_service::poll"><span class="bold"><strong>poll</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Run the io_service object's event processing loop to execute ready
+ handlers.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/poll_one.html" title="io_service::poll_one"><span class="bold"><strong>poll_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Run the io_service object's event processing loop to execute one
+ ready handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/post.html" title="io_service::post"><span class="bold"><strong>post</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Request the io_service to invoke the given handler and return immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/reset.html" title="io_service::reset"><span class="bold"><strong>reset</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Reset the io_service in preparation for a subsequent run() invocation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/run.html" title="io_service::run"><span class="bold"><strong>run</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Run the io_service object's event processing loop.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/run_one.html" title="io_service::run_one"><span class="bold"><strong>run_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Run the io_service object's event processing loop to execute at
+ most one handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/stop.html" title="io_service::stop"><span class="bold"><strong>stop</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Stop the io_service object's event processing loop.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/stopped.html" title="io_service::stopped"><span class="bold"><strong>stopped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the io_service object has been stopped.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/wrap.html" title="io_service::wrap"><span class="bold"><strong>wrap</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new handler that automatically dispatches the wrapped
+ handler on the io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/_io_service.html" title="io_service::~io_service"><span class="bold"><strong>~io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.io_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.friends"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/add_service.html" title="io_service::add_service"><span class="bold"><strong>add_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add a service object to the io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/has_service.html" title="io_service::has_service"><span class="bold"><strong>has_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine if an io_service contains a specified service type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service/use_service.html" title="io_service::use_service"><span class="bold"><strong>use_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain the service object corresponding to the given type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ class provides the core I/O functionality for users of the asynchronous I/O
+ objects, including:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span></code>
+ </li>
+<li class="listitem">
+ <a class="link" href="deadline_timer.html" title="deadline_timer"><code class="computeroutput"><span class="identifier">deadline_timer</span></code></a>.
+ </li>
+</ul></div>
+<p>
+ The <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ class also includes facilities intended for developers of custom asynchronous
+ services.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.thread_safety"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe, with the
+ specific exceptions of the <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">notify_fork</span><span class="special">()</span></code> functions. Calling <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code> while there are unfinished <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ calls results in undefined behaviour. The <code class="computeroutput"><span class="identifier">notify_fork</span><span class="special">()</span></code> function should not be called while any
+ <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ function, or any function on an I/O object that is associated with the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>,
+ is being called in another thread.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.synchronous_and_asynchronous_operations"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.synchronous_and_asynchronous_operations">Synchronous
+ and asynchronous operations</a>
+ </h5>
+<p>
+ Synchronous operations on I/O objects implicitly run the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object for an individual
+ operation. The <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> functions <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ must be called for the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to perform asynchronous
+ operations on behalf of a C++ program. Notification that an asynchronous
+ operation has completed is delivered by invocation of the associated handler.
+ Handlers are invoked only by a thread that is currently calling any overload
+ of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ for the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.effect_of_exceptions_thrown_from_handlers"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.effect_of_exceptions_thrown_from_handlers">Effect
+ of exceptions thrown from handlers</a>
+ </h5>
+<p>
+ If an exception is thrown from a handler, the exception is allowed to propagate
+ through the throwing thread's invocation of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>. No other threads that are calling any
+ of these functions are affected. It is then the responsibility of the application
+ to catch the exception.
+ </p>
+<p>
+ After the exception has been caught, the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> call may be restarted <span class="emphasis"><em>without</em></span>
+ the need for an intervening call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>. This allows the thread to rejoin the
+ <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object's thread pool without impacting any other threads in the pool.
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="keyword">for</span> <span class="special">(;;)</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="keyword">break</span><span class="special">;</span> <span class="comment">// run() exited normally</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">my_exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Deal with exception as appropriate.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.stopping_the_io_service_from_running_out_of_work"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.stopping_the_io_service_from_running_out_of_work">Stopping
+ the io_service from running out of work</a>
+ </h5>
+<p>
+ Some applications may need to prevent an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> call
+ from returning when there is no more work to do. For example, the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> may be being run in a
+ background thread that is launched prior to the application's asynchronous
+ operations. The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ call may be kept running by creating an object of type <a class="link" href="io_service__work.html" title="io_service::work"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span></code></a>:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span> <span class="identifier">work</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+</pre>
+<p>
+ To effect a shutdown, the application will then need to call the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code>
+ member function. This will cause the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> call to return as soon as possible, abandoning
+ unfinished operations and without permitting ready handlers to be dispatched.
+ </p>
+<p>
+ Alternatively, if the application requires that all operations and handlers
+ be allowed to finish normally, the work object may be explicitly destroyed.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+<span class="identifier">auto_ptr</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span><span class="special">&gt;</span> <span class="identifier">work</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">work</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
+<span class="special">...</span>
+<span class="identifier">work</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span> <span class="comment">// Allow run() to exit. </span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.the_io_service_class_and_i_o_services"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.the_io_service_class_and_i_o_services">The
+ io_service class and I/O services</a>
+ </h5>
+<p>
+ Class <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ implements an extensible, type-safe, polymorphic set of I/O services, indexed
+ by service type. An object of class <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> must be initialised before
+ I/O objects such as sockets, resolvers and timers can be used. These I/O
+ objects are distinguished by having constructors that accept an <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
+ parameter.
+ </p>
+<p>
+ I/O services exist to manage the logical interface to the operating system
+ on behalf of the I/O objects. In particular, there are resources that are
+ shared across a class of I/O objects. For example, timers may be implemented
+ in terms of a single timer queue. The I/O services manage these shared resources.
+ </p>
+<p>
+ Access to the services of an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> is via three function
+ templates, <code class="computeroutput"><span class="identifier">use_service</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">add_service</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">has_service</span><span class="special">()</span></code>.
+ </p>
+<p>
+ In a call to <code class="computeroutput"><span class="identifier">use_service</span><span class="special">&lt;</span><span class="identifier">Service</span><span class="special">&gt;()</span></code>, the type argument chooses a service,
+ making available all members of the named type. If <code class="computeroutput"><span class="identifier">Service</span></code>
+ is not present in an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, an object of type <code class="computeroutput"><span class="identifier">Service</span></code> is created and added to the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ A C++ program can check if an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> implements a particular
+ service with the function template <code class="computeroutput"><span class="identifier">has_service</span><span class="special">&lt;</span><span class="identifier">Service</span><span class="special">&gt;()</span></code>.
+ </p>
+<p>
+ Service objects may be explicitly added to an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> using the function template
+ <code class="computeroutput"><span class="identifier">add_service</span><span class="special">&lt;</span><span class="identifier">Service</span><span class="special">&gt;()</span></code>.
+ If the <code class="computeroutput"><span class="identifier">Service</span></code> is already
+ present, the <a class="link" href="service_already_exists.html" title="service_already_exists"><code class="computeroutput"><span class="identifier">service_already_exists</span></code></a> exception
+ is thrown. If the owner of the service is not the same object as the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ parameter, the <a class="link" href="invalid_service_owner.html" title="invalid_service_owner"><code class="computeroutput"><span class="identifier">invalid_service_owner</span></code></a> exception
+ is thrown.
+ </p>
+<p>
+ Once a service reference is obtained from an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object by calling <code class="computeroutput"><span class="identifier">use_service</span><span class="special">()</span></code>,
+ that reference remains usable as long as the owning <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object exists.
+ </p>
+<p>
+ All I/O service implementations have <a class="link" href="io_service__service.html" title="io_service::service"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span></code></a> as a public base class.
+ Custom I/O services may be implemented by deriving from this class and then
+ added to an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> using the facilities
+ described above.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.requirements"></a></span><a class="link" href="io_service.html#boost_asio.reference.io_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="invalid_service_owner/invalid_service_owner.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service/add_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/_io_service.html b/doc/html/boost_asio/reference/io_service/_io_service.html
new file mode 100644
index 0000000000..7b865648ff
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/_io_service.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::~io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="wrap.html" title="io_service::wrap">
+<link rel="next" href="../io_service__id.html" title="io_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrap.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service._io_service"></a><a class="link" href="_io_service.html" title="io_service::~io_service">io_service::~io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145625744"></a>
+Destructor.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">io_service</span><span class="special">();</span>
+</pre>
+<p>
+ On destruction, the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> performs the following
+ sequence of operations:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ For each service object <code class="computeroutput"><span class="identifier">svc</span></code>
+ in the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> set, in reverse
+ order of the beginning of service object lifetime, performs <code class="computeroutput"><span class="identifier">svc</span><span class="special">-&gt;</span><span class="identifier">shutdown_service</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ Uninvoked handler objects that were scheduled for deferred invocation
+ on the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, or any associated
+ strand, are destroyed.
+ </li>
+<li class="listitem">
+ For each service object <code class="computeroutput"><span class="identifier">svc</span></code>
+ in the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> set, in reverse
+ order of the beginning of service object lifetime, performs <code class="computeroutput"><span class="keyword">delete</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">*&gt;(</span><span class="identifier">svc</span><span class="special">)</span></code>.
+ </li>
+</ul></div>
+<h6>
+<a name="boost_asio.reference.io_service._io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service._io_service.remarks"></a></span><a class="link" href="_io_service.html#boost_asio.reference.io_service._io_service.remarks">Remarks</a>
+ </h6>
+<p>
+ The destruction sequence described above permits programs to simplify their
+ resource management by using <code class="computeroutput"><span class="identifier">shared_ptr</span><span class="special">&lt;&gt;</span></code>. Where an object's lifetime is
+ tied to the lifetime of a connection (or some other sequence of asynchronous
+ operations), a <code class="computeroutput"><span class="identifier">shared_ptr</span></code>
+ to the object would be bound into the handlers for all asynchronous operations
+ associated with it. This works as follows:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ When a single connection ends, all associated asynchronous operations
+ complete. The corresponding handler objects are destroyed, and all
+ <code class="computeroutput"><span class="identifier">shared_ptr</span></code> references
+ to the objects are destroyed.
+ </li>
+<li class="listitem">
+ To shut down the whole program, the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> function <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code>
+ is called to terminate any <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> calls as soon as possible. The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ destructor defined above destroys all handlers, causing all <code class="computeroutput"><span class="identifier">shared_ptr</span></code> references to all connection
+ objects to be destroyed.
+ </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 &#169; 2003-2017 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="wrap.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/add_service.html b/doc/html/boost_asio/reference/io_service/add_service.html
new file mode 100644
index 0000000000..43be7ba5d2
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/add_service.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::add_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="../io_service.html" title="io_service">
+<link rel="next" href="dispatch.html" title="io_service::dispatch">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dispatch.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.add_service"></a><a class="link" href="add_service.html" title="io_service::add_service">io_service::add_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp144965920"></a>
+Add a service object to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Service.html" title="Service requirements">Service</a><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="keyword">void</span> <span class="identifier">add_service</span><span class="special">(</span>
+ <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">,</span>
+ <span class="identifier">Service</span> <span class="special">*</span> <span class="identifier">svc</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to add a service to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.add_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.add_service.parameters"></a></span><a class="link" href="add_service.html#boost_asio.reference.io_service.add_service.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ios</span></dt>
+<dd><p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
+ the service.
+ </p></dd>
+<dt><span class="term">svc</span></dt>
+<dd>
+<p>
+ The service object. On success, ownership of the service object is
+ transferred to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. When the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object is destroyed, it will destroy the service object by performing:
+</p>
+<pre class="programlisting"><span class="keyword">delete</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span><span class="special">*&gt;(</span><span class="identifier">svc</span><span class="special">)</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.add_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.add_service.exceptions"></a></span><a class="link" href="add_service.html#boost_asio.reference.io_service.add_service.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::asio::service_already_exists</span></dt>
+<dd><p>
+ Thrown if a service of the given type is already present in the
+ <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p></dd>
+<dt><span class="term">boost::asio::invalid_service_owner</span></dt>
+<dd><p>
+ Thrown if the service's owning <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> is not the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object specified by the ios parameter.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.add_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.add_service.requirements"></a></span><a class="link" href="add_service.html#boost_asio.reference.io_service.add_service.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dispatch.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/dispatch.html b/doc/html/boost_asio/reference/io_service/dispatch.html
new file mode 100644
index 0000000000..5f5aaa9cbf
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/dispatch.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::dispatch</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="add_service.html" title="io_service::add_service">
+<link rel="next" href="fork_event.html" title="io_service::fork_event">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fork_event.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.dispatch"></a><a class="link" href="dispatch.html" title="io_service::dispatch">io_service::dispatch</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145021312"></a>
+Request the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to invoke the given
+ handler.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../CompletionHandler.html" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">dispatch</span><span class="special">(</span>
+ <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to ask the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to execute the given
+ handler.
+ </p>
+<p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ guarantees that the handler will only be called in a thread in which the
+ <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ member functions is currently being invoked. The handler may be executed
+ inside this function if the guarantee can be met.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.dispatch.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.dispatch.parameters"></a></span><a class="link" href="dispatch.html#boost_asio.reference.io_service.dispatch.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called. The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will make a copy
+ of the handler object as required. The function signature of the
+ handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.dispatch.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.dispatch.remarks"></a></span><a class="link" href="dispatch.html#boost_asio.reference.io_service.dispatch.remarks">Remarks</a>
+ </h6>
+<p>
+ This function throws an exception only if:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ the handler's <code class="computeroutput"><span class="identifier">asio_handler_allocate</span></code>
+ function; or
+ </li>
+<li class="listitem">
+ the handler's copy constructor
+ </li>
+</ul></div>
+<p>
+ throws an exception.
+ </p>
+</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 &#169; 2003-2017 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="add_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fork_event.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/fork_event.html b/doc/html/boost_asio/reference/io_service/fork_event.html
new file mode 100644
index 0000000000..a678a133c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/fork_event.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::fork_event</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="dispatch.html" title="io_service::dispatch">
+<link rel="next" href="has_service.html" title="io_service::has_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dispatch.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.fork_event"></a><a class="link" href="fork_event.html" title="io_service::fork_event">io_service::fork_event</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145063040"></a>
+Fork-related event notifications.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">fork_event</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp145066704"></a>
+ <a class="indexterm" name="idp145067808"></a>
+ <a class="indexterm" name="idp145068912"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.fork_event.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.fork_event.values"></a></span><a class="link" href="fork_event.html#boost_asio.reference.io_service.fork_event.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">fork_prepare</span></dt>
+<dd><p>
+ Notify the io_service that the process is about to fork.
+ </p></dd>
+<dt><span class="term">fork_parent</span></dt>
+<dd><p>
+ Notify the io_service that the process has forked and is the parent.
+ </p></dd>
+<dt><span class="term">fork_child</span></dt>
+<dd><p>
+ Notify the io_service that the process has forked and is the child.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="dispatch.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/has_service.html b/doc/html/boost_asio/reference/io_service/has_service.html
new file mode 100644
index 0000000000..6b6f04380e
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/has_service.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::has_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="fork_event.html" title="io_service::fork_event">
+<link rel="next" href="io_service.html" title="io_service::io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fork_event.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.has_service"></a><a class="link" href="has_service.html" title="io_service::has_service">io_service::has_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145080816"></a>
+Determine if an <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains a specified
+ service type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Service.html" title="Service requirements">Service</a><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="keyword">bool</span> <span class="identifier">has_service</span><span class="special">(</span>
+ <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to determine whether the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains a service
+ object corresponding to the given service type.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.has_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.has_service.parameters"></a></span><a class="link" href="has_service.html#boost_asio.reference.io_service.has_service.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ios</span></dt>
+<dd><p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
+ the service.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.has_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.has_service.return_value"></a></span><a class="link" href="has_service.html#boost_asio.reference.io_service.has_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A boolean indicating whether the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> contains the service.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.has_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.has_service.requirements"></a></span><a class="link" href="has_service.html#boost_asio.reference.io_service.has_service.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="fork_event.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/io_service.html b/doc/html/boost_asio/reference/io_service/io_service.html
new file mode 100644
index 0000000000..4197e9e8f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/io_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="has_service.html" title="io_service::has_service">
+<link rel="next" href="io_service/overload1.html" title="io_service::io_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="has_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.io_service"></a><a class="link" href="io_service.html" title="io_service::io_service">io_service::io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145115296"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="io_service/overload1.html" title="io_service::io_service (1 of 2 overloads)">io_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_service/overload1.html" title="io_service::io_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">explicit</span> <a class="link" href="io_service/overload2.html" title="io_service::io_service (2 of 2 overloads)">io_service</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">concurrency_hint</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_service/overload2.html" title="io_service::io_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="has_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/io_service/overload1.html b/doc/html/boost_asio/reference/io_service/io_service/overload1.html
new file mode 100644
index 0000000000..56ad832f1a
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/io_service/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::io_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service::io_service">
+<link rel="prev" href="../io_service.html" title="io_service::io_service">
+<link rel="next" href="overload2.html" title="io_service::io_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.io_service.overload1"></a><a class="link" href="overload1.html" title="io_service::io_service (1 of 2 overloads)">io_service::io_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/io_service/overload2.html b/doc/html/boost_asio/reference/io_service/io_service/overload2.html
new file mode 100644
index 0000000000..3e54d99a5e
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/io_service/overload2.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::io_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service::io_service">
+<link rel="prev" href="overload1.html" title="io_service::io_service (1 of 2 overloads)">
+<link rel="next" href="../notify_fork.html" title="io_service::notify_fork">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../notify_fork.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.io_service.overload2"></a><a class="link" href="overload2.html" title="io_service::io_service (2 of 2 overloads)">io_service::io_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">io_service</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">concurrency_hint</span><span class="special">);</span>
+</pre>
+<p>
+ Construct with a hint about the required level of concurrency.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.io_service.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.io_service.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.io_service.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">concurrency_hint</span></dt>
+<dd><p>
+ A suggestion to the implementation on how many threads it should
+ allow to run simultaneously.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../notify_fork.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/notify_fork.html b/doc/html/boost_asio/reference/io_service/notify_fork.html
new file mode 100644
index 0000000000..db201f2a7f
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/notify_fork.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::notify_fork</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="io_service/overload2.html" title="io_service::io_service (2 of 2 overloads)">
+<link rel="next" href="poll.html" title="io_service::poll">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poll.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.notify_fork"></a><a class="link" href="notify_fork.html" title="io_service::notify_fork">io_service::notify_fork</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145145280"></a>
+Notify the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> of a fork-related event.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">notify_fork</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_event</span> <span class="identifier">event</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to inform the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that the process is
+ about to fork, or has just forked. This allows the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, and the services it
+ contains, to perform any necessary housekeeping to ensure correct operation
+ following a fork.
+ </p>
+<p>
+ This function must not be called while any other <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> function, or any function
+ on an I/O object associated with the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>, is being called in
+ another thread. It is, however, safe to call this function from within
+ a completion handler, provided no other thread is accessing the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.notify_fork.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.parameters"></a></span><a class="link" href="notify_fork.html#boost_asio.reference.io_service.notify_fork.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">event</span></dt>
+<dd><p>
+ A fork-related event.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.notify_fork.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.exceptions"></a></span><a class="link" href="notify_fork.html#boost_asio.reference.io_service.notify_fork.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the notification fails the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object should
+ no longer be used and should be destroyed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.notify_fork.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.example"></a></span><a class="link" href="notify_fork.html#boost_asio.reference.io_service.notify_fork.example">Example</a>
+ </h6>
+<p>
+ The following code illustrates how to incorporate the <code class="computeroutput"><span class="identifier">notify_fork</span><span class="special">()</span></code> function:
+ </p>
+<pre class="programlisting"><span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_prepare</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">fork</span><span class="special">()</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// This is the child process.</span>
+ <span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_child</span><span class="special">);</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="comment">// This is the parent process.</span>
+ <span class="identifier">my_io_service</span><span class="special">.</span><span class="identifier">notify_fork</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_parent</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.io_service.notify_fork.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.notify_fork.remarks"></a></span><a class="link" href="notify_fork.html#boost_asio.reference.io_service.notify_fork.remarks">Remarks</a>
+ </h6>
+<p>
+ For each service object <code class="computeroutput"><span class="identifier">svc</span></code>
+ in the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ set, performs <code class="computeroutput"><span class="identifier">svc</span><span class="special">-&gt;</span><span class="identifier">fork_service</span><span class="special">();</span></code>.
+ When processing the fork_prepare event, services are visited in reverse
+ order of the beginning of service object lifetime. Otherwise, services
+ are visited in order of the beginning of service object lifetime.
+ </p>
+</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 &#169; 2003-2017 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="io_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poll.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/poll.html b/doc/html/boost_asio/reference/io_service/poll.html
new file mode 100644
index 0000000000..18c79f5a95
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/poll.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::poll</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="notify_fork.html" title="io_service::notify_fork">
+<link rel="next" href="poll/overload1.html" title="io_service::poll (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="notify_fork.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poll/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.poll"></a><a class="link" href="poll.html" title="io_service::poll">io_service::poll</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145224768"></a>
+Run the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute ready handlers.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="poll/overload1.html" title="io_service::poll (1 of 2 overloads)">poll</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="poll/overload1.html" title="io_service::poll (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="poll/overload2.html" title="io_service::poll (2 of 2 overloads)">poll</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="poll/overload2.html" title="io_service::poll (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="notify_fork.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poll/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/poll/overload1.html b/doc/html/boost_asio/reference/io_service/poll/overload1.html
new file mode 100644
index 0000000000..eed9e05c8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/poll/overload1.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::poll (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../poll.html" title="io_service::poll">
+<link rel="prev" href="../poll.html" title="io_service::poll">
+<link rel="next" href="overload2.html" title="io_service::poll (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../poll.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.poll.overload1"></a><a class="link" href="overload1.html" title="io_service::poll (1 of 2 overloads)">io_service::poll
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute ready handlers.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll</span><span class="special">();</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ function runs handlers that are ready to run, without blocking, until
+ the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ has been stopped or there are no more ready handlers.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.poll.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.poll.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.poll.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.poll.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../poll.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/poll/overload2.html b/doc/html/boost_asio/reference/io_service/poll/overload2.html
new file mode 100644
index 0000000000..be80cb03cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/poll/overload2.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::poll (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../poll.html" title="io_service::poll">
+<link rel="prev" href="overload1.html" title="io_service::poll (1 of 2 overloads)">
+<link rel="next" href="../poll_one.html" title="io_service::poll_one">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../poll_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.poll.overload2"></a><a class="link" href="overload2.html" title="io_service::poll (2 of 2 overloads)">io_service::poll
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute ready handlers.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ function runs handlers that are ready to run, without blocking, until
+ the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ has been stopped or there are no more ready handlers.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.poll.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.poll.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.poll.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.poll.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../poll_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/poll_one.html b/doc/html/boost_asio/reference/io_service/poll_one.html
new file mode 100644
index 0000000000..e5240d803f
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/poll_one.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::poll_one</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="poll/overload2.html" title="io_service::poll (2 of 2 overloads)">
+<link rel="next" href="poll_one/overload1.html" title="io_service::poll_one (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="poll/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poll_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.poll_one"></a><a class="link" href="poll_one.html" title="io_service::poll_one">io_service::poll_one</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97599280"></a>
+Run the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute one ready handler.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="poll_one/overload1.html" title="io_service::poll_one (1 of 2 overloads)">poll_one</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="poll_one/overload1.html" title="io_service::poll_one (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="poll_one/overload2.html" title="io_service::poll_one (2 of 2 overloads)">poll_one</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="poll_one/overload2.html" title="io_service::poll_one (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="poll/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poll_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/poll_one/overload1.html b/doc/html/boost_asio/reference/io_service/poll_one/overload1.html
new file mode 100644
index 0000000000..9bb5d617bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/poll_one/overload1.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::poll_one (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../poll_one.html" title="io_service::poll_one">
+<link rel="prev" href="../poll_one.html" title="io_service::poll_one">
+<link rel="next" href="overload2.html" title="io_service::poll_one (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../poll_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.poll_one.overload1"></a><a class="link" href="overload1.html" title="io_service::poll_one (1 of 2 overloads)">io_service::poll_one
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute one ready handler.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll_one</span><span class="special">();</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ function runs at most one handler that is ready to run, without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.poll_one.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.poll_one.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.poll_one.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.poll_one.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../poll_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/poll_one/overload2.html b/doc/html/boost_asio/reference/io_service/poll_one/overload2.html
new file mode 100644
index 0000000000..58a0e73bdd
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/poll_one/overload2.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::poll_one (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../poll_one.html" title="io_service::poll_one">
+<link rel="prev" href="overload1.html" title="io_service::poll_one (1 of 2 overloads)">
+<link rel="next" href="../post.html" title="io_service::post">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../post.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.poll_one.overload2"></a><a class="link" href="overload2.html" title="io_service::poll_one (2 of 2 overloads)">io_service::poll_one
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute one ready handler.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">poll_one</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ function runs at most one handler that is ready to run, without blocking.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.poll_one.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.poll_one.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.poll_one.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.poll_one.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.poll_one.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../poll_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../post.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/post.html b/doc/html/boost_asio/reference/io_service/post.html
new file mode 100644
index 0000000000..f3cc661cb0
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/post.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::post</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="poll_one/overload2.html" title="io_service::poll_one (2 of 2 overloads)">
+<link rel="next" href="reset.html" title="io_service::reset">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="poll_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reset.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.post"></a><a class="link" href="post.html" title="io_service::post">io_service::post</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp97656976"></a>
+Request the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to invoke the given
+ handler and return immediately.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../CompletionHandler.html" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">post</span><span class="special">(</span>
+ <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to ask the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to execute the given
+ handler, but without allowing the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to call the handler
+ from inside this function.
+ </p>
+<p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ guarantees that the handler will only be called in a thread in which the
+ <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ member functions is currently being invoked.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.post.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.post.parameters"></a></span><a class="link" href="post.html#boost_asio.reference.io_service.post.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called. The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will make a copy
+ of the handler object as required. The function signature of the
+ handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.post.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.post.remarks"></a></span><a class="link" href="post.html#boost_asio.reference.io_service.post.remarks">Remarks</a>
+ </h6>
+<p>
+ This function throws an exception only if:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ the handler's <code class="computeroutput"><span class="identifier">asio_handler_allocate</span></code>
+ function; or
+ </li>
+<li class="listitem">
+ the handler's copy constructor
+ </li>
+</ul></div>
+<p>
+ throws an exception.
+ </p>
+</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 &#169; 2003-2017 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="poll_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reset.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/reset.html b/doc/html/boost_asio/reference/io_service/reset.html
new file mode 100644
index 0000000000..7cb121d0bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/reset.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::reset</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="post.html" title="io_service::post">
+<link rel="next" href="run.html" title="io_service::run">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="post.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.reset"></a><a class="link" href="reset.html" title="io_service::reset">io_service::reset</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145284720"></a>
+Reset the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> in preparation for
+ a subsequent <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ invocation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reset</span><span class="special">();</span>
+</pre>
+<p>
+ This function must be called prior to any second or later set of invocations
+ of the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ functions when a previous invocation of these functions returned due to
+ the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ being stopped or running out of work. After a call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>, the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
+ function will return <code class="computeroutput"><span class="keyword">false</span></code>.
+ </p>
+<p>
+ This function must not be called while there are any unfinished calls to
+ the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ functions.
+ </p>
+</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 &#169; 2003-2017 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="post.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/run.html b/doc/html/boost_asio/reference/io_service/run.html
new file mode 100644
index 0000000000..9524b33165
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/run.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::run</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="reset.html" title="io_service::reset">
+<link rel="next" href="run/overload1.html" title="io_service::run (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reset.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.run"></a><a class="link" href="run.html" title="io_service::run">io_service::run</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145312368"></a>
+Run the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="run/overload1.html" title="io_service::run (1 of 2 overloads)">run</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="run/overload1.html" title="io_service::run (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="run/overload2.html" title="io_service::run (2 of 2 overloads)">run</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="run/overload2.html" title="io_service::run (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="reset.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/run/overload1.html b/doc/html/boost_asio/reference/io_service/run/overload1.html
new file mode 100644
index 0000000000..568b421937
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/run/overload1.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::run (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../run.html" title="io_service::run">
+<link rel="prev" href="../run.html" title="io_service::run">
+<link rel="next" href="overload2.html" title="io_service::run (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../run.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.run.overload1"></a><a class="link" href="overload1.html" title="io_service::run (1 of 2 overloads)">io_service::run
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run</span><span class="special">();</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function blocks until all work has finished and there are no more handlers
+ to be dispatched, or until the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> has been stopped.
+ </p>
+<p>
+ Multiple threads may call the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function to set up a pool of threads
+ from which the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> may execute handlers.
+ All threads that are waiting in the pool are equivalent and the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ may choose any one of them to invoke a handler.
+ </p>
+<p>
+ A normal exit from the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function implies that the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
+ (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
+ function returns <code class="computeroutput"><span class="keyword">true</span></code>).
+ Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
+ is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.run.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.run.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.run.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.run.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function must not be called from a thread that is currently calling one
+ of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ on the same <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ function may also be used to dispatch ready handlers, but without blocking.
+ </p>
+</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 &#169; 2003-2017 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="../run.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/run/overload2.html b/doc/html/boost_asio/reference/io_service/run/overload2.html
new file mode 100644
index 0000000000..6a17c14d29
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/run/overload2.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::run (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../run.html" title="io_service::run">
+<link rel="prev" href="overload1.html" title="io_service::run (1 of 2 overloads)">
+<link rel="next" href="../run_one.html" title="io_service::run_one">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../run_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.run.overload2"></a><a class="link" href="overload2.html" title="io_service::run (2 of 2 overloads)">io_service::run
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function blocks until all work has finished and there are no more handlers
+ to be dispatched, or until the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> has been stopped.
+ </p>
+<p>
+ Multiple threads may call the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function to set up a pool of threads
+ from which the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> may execute handlers.
+ All threads that are waiting in the pool are equivalent and the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ may choose any one of them to invoke a handler.
+ </p>
+<p>
+ A normal exit from the <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function implies that the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
+ (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
+ function returns <code class="computeroutput"><span class="keyword">true</span></code>).
+ Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
+ is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.run.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.run.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.run.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.run.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function must not be called from a thread that is currently calling one
+ of <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ on the same <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ function may also be used to dispatch ready handlers, but without blocking.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../run_one.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/run_one.html b/doc/html/boost_asio/reference/io_service/run_one.html
new file mode 100644
index 0000000000..efbf861449
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/run_one.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::run_one</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="run/overload2.html" title="io_service::run (2 of 2 overloads)">
+<link rel="next" href="run_one/overload1.html" title="io_service::run_one (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.run_one"></a><a class="link" href="run_one.html" title="io_service::run_one">io_service::run_one</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145428928"></a>
+Run the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute at most one handler.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="run_one/overload1.html" title="io_service::run_one (1 of 2 overloads)">run_one</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="run_one/overload1.html" title="io_service::run_one (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="run_one/overload2.html" title="io_service::run_one (2 of 2 overloads)">run_one</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="run_one/overload2.html" title="io_service::run_one (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="run/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run_one/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/run_one/overload1.html b/doc/html/boost_asio/reference/io_service/run_one/overload1.html
new file mode 100644
index 0000000000..090ebc4083
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/run_one/overload1.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::run_one (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../run_one.html" title="io_service::run_one">
+<link rel="prev" href="../run_one.html" title="io_service::run_one">
+<link rel="next" href="overload2.html" title="io_service::run_one (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../run_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.run_one.overload1"></a><a class="link" href="overload1.html" title="io_service::run_one (1 of 2 overloads)">io_service::run_one
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute at most one handler.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run_one</span><span class="special">();</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>
+ function blocks until one handler has been dispatched, or until the
+ <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ has been stopped.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run_one.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run_one.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.run_one.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed. A zero return value implies
+ that the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
+ (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
+ function returns <code class="computeroutput"><span class="keyword">true</span></code>).
+ Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
+ is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run_one.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run_one.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.io_service.run_one.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../run_one.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/run_one/overload2.html b/doc/html/boost_asio/reference/io_service/run_one/overload2.html
new file mode 100644
index 0000000000..65afeb1fcb
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/run_one/overload2.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::run_one (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../run_one.html" title="io_service::run_one">
+<link rel="prev" href="overload1.html" title="io_service::run_one (1 of 2 overloads)">
+<link rel="next" href="../stop.html" title="io_service::stop">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../stop.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service.run_one.overload2"></a><a class="link" href="overload2.html" title="io_service::run_one (2 of 2 overloads)">io_service::run_one
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Run the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop to execute at most one handler.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">run_one</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>
+ function blocks until one handler has been dispatched, or until the
+ <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ has been stopped.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.run_one.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.run_one.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.io_service.run_one.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of handlers that were executed. A zero return value implies
+ that the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped
+ (the <code class="computeroutput"><span class="identifier">stopped</span><span class="special">()</span></code>
+ function returns <code class="computeroutput"><span class="keyword">true</span></code>).
+ Subsequent calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately unless there
+ is a prior call to <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code>.
+ </p>
+<p>
+ The number of handlers that were executed.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../run_one.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../stop.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/stop.html b/doc/html/boost_asio/reference/io_service/stop.html
new file mode 100644
index 0000000000..b0baeb4286
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/stop.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::stop</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="run_one/overload2.html" title="io_service::run_one (2 of 2 overloads)">
+<link rel="next" href="stopped.html" title="io_service::stopped">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stopped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.stop"></a><a class="link" href="stop.html" title="io_service::stop">io_service::stop</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145502096"></a>
+Stop the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's event processing
+ loop.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">stop</span><span class="special">();</span>
+</pre>
+<p>
+ This function does not block, but instead simply signals the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> to stop. All invocations
+ of its <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>
+ member functions should return as soon as possible. Subsequent calls to
+ <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code>
+ will return immediately until <code class="computeroutput"><span class="identifier">reset</span><span class="special">()</span></code> is called.
+ </p>
+</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 &#169; 2003-2017 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="run_one/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stopped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/stopped.html b/doc/html/boost_asio/reference/io_service/stopped.html
new file mode 100644
index 0000000000..342afab804
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/stopped.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::stopped</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="stop.html" title="io_service::stop">
+<link rel="next" href="use_service.html" title="io_service::use_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stop.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.stopped"></a><a class="link" href="stopped.html" title="io_service::stopped">io_service::stopped</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145520832"></a>
+Determine whether the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object has been stopped.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">stopped</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to determine whether an <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object has been stopped,
+ either through an explicit call to <code class="computeroutput"><span class="identifier">stop</span><span class="special">()</span></code>, or due to running out of work. When
+ an <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object is stopped, calls to <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">run_one</span><span class="special">()</span></code>, <code class="computeroutput"><span class="identifier">poll</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">poll_one</span><span class="special">()</span></code> will return immediately without invoking
+ any handlers.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.stopped.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.stopped.return_value"></a></span><a class="link" href="stopped.html#boost_asio.reference.io_service.stopped.return_value">Return Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object is stopped,
+ otherwise <code class="computeroutput"><span class="keyword">false</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="stop.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/use_service.html b/doc/html/boost_asio/reference/io_service/use_service.html
new file mode 100644
index 0000000000..e46db1bb96
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/use_service.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::use_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="stopped.html" title="io_service::stopped">
+<link rel="next" href="wrap.html" title="io_service::wrap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stopped.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wrap.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.use_service"></a><a class="link" href="use_service.html" title="io_service::use_service">io_service::use_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145544704"></a>
+Obtain the service object corresponding to the given
+ type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Service.html" title="Service requirements">Service</a><span class="special">&gt;</span>
+<span class="keyword">friend</span> <span class="identifier">Service</span> <span class="special">&amp;</span> <span class="identifier">use_service</span><span class="special">(</span>
+ <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to locate a service object that corresponds to the
+ given service type. If there is no existing implementation of the service,
+ then the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will create a new instance
+ of the service.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.use_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.use_service.parameters"></a></span><a class="link" href="use_service.html#boost_asio.reference.io_service.use_service.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ios</span></dt>
+<dd><p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
+ the service.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.use_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.use_service.return_value"></a></span><a class="link" href="use_service.html#boost_asio.reference.io_service.use_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The service interface implementing the specified service type. Ownership
+ of the service interface is not transferred to the caller.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.use_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.use_service.requirements"></a></span><a class="link" href="use_service.html#boost_asio.reference.io_service.use_service.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="stopped.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wrap.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service/wrap.html b/doc/html/boost_asio/reference/io_service/wrap.html
new file mode 100644
index 0000000000..ac24ea1dc5
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service/wrap.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::wrap</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service.html" title="io_service">
+<link rel="prev" href="use_service.html" title="io_service::use_service">
+<link rel="next" href="_io_service.html" title="io_service::~io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service.wrap"></a><a class="link" href="wrap.html" title="io_service::wrap">io_service::wrap</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145571312"></a>
+Create a new handler that automatically dispatches the wrapped
+ handler on the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="identifier">unspecified</span> <span class="identifier">wrap</span><span class="special">(</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to create a new handler function object that, when
+ invoked, will automatically pass the wrapped handler to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's dispatch function.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service.wrap.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.wrap.parameters"></a></span><a class="link" href="wrap.html#boost_asio.reference.io_service.wrap.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be wrapped. The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> will make a copy
+ of the handler object as required. The function signature of the
+ handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service.wrap.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service.wrap.return_value"></a></span><a class="link" href="wrap.html#boost_asio.reference.io_service.wrap.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A function object that, when invoked, passes the wrapped handler to the
+ <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object's dispatch function. Given a function object with the signature:
+ </p>
+<pre class="programlisting"><span class="identifier">R</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ If this function object is passed to the wrap function like so:
+ </p>
+<pre class="programlisting"><span class="identifier">io_service</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
+</pre>
+<p>
+ then the return value is a function object with the signature
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ that, when invoked, executes code equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">io_service</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">an</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="use_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__id.html b/doc/html/boost_asio/reference/io_service__id.html
new file mode 100644
index 0000000000..8429c432bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__id.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::id</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="io_service/_io_service.html" title="io_service::~io_service">
+<link rel="next" href="io_service__id/id.html" title="io_service::id::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_service/_io_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__id/id.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.io_service__id"></a><a class="link" href="io_service__id.html" title="io_service::id">io_service::id</a>
+</h3></div></div></div>
+<p>
+ Class used to uniquely identify a service.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">id</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service__id.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__id.member_functions"></a></span><a class="link" href="io_service__id.html#boost_asio.reference.io_service__id.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="io_service__id/id.html" title="io_service::id::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.io_service__id.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__id.requirements"></a></span><a class="link" href="io_service__id.html#boost_asio.reference.io_service__id.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="io_service/_io_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__id/id.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__id/id.html b/doc/html/boost_asio/reference/io_service__id/id.html
new file mode 100644
index 0000000000..befc01bd02
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__id/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::id::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__id.html" title="io_service::id">
+<link rel="prev" href="../io_service__id.html" title="io_service::id">
+<link rel="next" href="../io_service__service.html" title="io_service::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_service__id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__id.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__id.id"></a><a class="link" href="id.html" title="io_service::id::id">io_service::id::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145682368"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">id</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_service__id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__id.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__service.html b/doc/html/boost_asio/reference/io_service__service.html
new file mode 100644
index 0000000000..07ae09cb20
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__service.html
@@ -0,0 +1,193 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="io_service__id/id.html" title="io_service::id::id">
+<link rel="next" href="io_service__service/get_io_service.html" title="io_service::service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_service__id/id.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__service/get_io_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.io_service__service"></a><a class="link" href="io_service__service.html" title="io_service::service">io_service::service</a>
+</h3></div></div></div>
+<p>
+ Base class for all <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> services.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">service</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service__service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__service.member_functions"></a></span><a class="link" href="io_service__service.html#boost_asio.reference.io_service__service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="io_service__service/get_io_service.html" title="io_service::service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.io_service__service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__service.protected_member_functions"></a></span><a class="link" href="io_service__service.html#boost_asio.reference.io_service__service.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__service/service.html" title="io_service::service::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__service/_service.html" title="io_service::service::~service"><span class="bold"><strong>~service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.io_service__service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__service.private_member_functions"></a></span><a class="link" href="io_service__service.html#boost_asio.reference.io_service__service.private_member_functions">Private
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__service/fork_service.html" title="io_service::service::fork_service"><span class="bold"><strong>fork_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Handle notification of a fork-related event to perform any necessary
+ housekeeping.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__service/shutdown_service.html" title="io_service::service::shutdown_service"><span class="bold"><strong>shutdown_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy all user-defined handler objects owned by the service.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.io_service__service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__service.requirements"></a></span><a class="link" href="io_service__service.html#boost_asio.reference.io_service__service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="io_service__id/id.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__service/get_io_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__service/_service.html b/doc/html/boost_asio/reference/io_service__service/_service.html
new file mode 100644
index 0000000000..c54e866136
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__service/_service.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::service::~service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__service.html" title="io_service::service">
+<link rel="prev" href="service.html" title="io_service::service::service">
+<link rel="next" href="fork_service.html" title="io_service::service::fork_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fork_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__service._service"></a><a class="link" href="_service.html" title="io_service::service::~service">io_service::service::~service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145754176"></a>
+Destructor.
+ </p>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fork_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__service/fork_service.html b/doc/html/boost_asio/reference/io_service__service/fork_service.html
new file mode 100644
index 0000000000..d1e0e80d75
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__service/fork_service.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::service::fork_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__service.html" title="io_service::service">
+<link rel="prev" href="_service.html" title="io_service::service::~service">
+<link rel="next" href="shutdown_service.html" title="io_service::service::shutdown_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__service.fork_service"></a><a class="link" href="fork_service.html" title="io_service::service::fork_service">io_service::service::fork_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145759680"></a>
+Handle notification of a fork-related event
+ to perform any necessary housekeeping.
+ </p>
+<pre class="programlisting"><span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">fork_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">fork_event</span> <span class="identifier">event</span><span class="special">);</span>
+</pre>
+<p>
+ This function is not a pure virtual so that services only have to implement
+ it if necessary. The default implementation does nothing.
+ </p>
+</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 &#169; 2003-2017 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="_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__service/get_io_service.html b/doc/html/boost_asio/reference/io_service__service/get_io_service.html
new file mode 100644
index 0000000000..090c618861
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__service/get_io_service.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__service.html" title="io_service::service">
+<link rel="prev" href="../io_service__service.html" title="io_service::service">
+<link rel="next" href="service.html" title="io_service::service::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_service__service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__service.get_io_service"></a><a class="link" href="get_io_service.html" title="io_service::service::get_io_service">io_service::service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145730656"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_service__service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__service/service.html b/doc/html/boost_asio/reference/io_service__service/service.html
new file mode 100644
index 0000000000..22f9eccacd
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__service/service.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::service::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__service.html" title="io_service::service">
+<link rel="prev" href="get_io_service.html" title="io_service::service::get_io_service">
+<link rel="next" href="_service.html" title="io_service::service::~service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__service.service"></a><a class="link" href="service.html" title="io_service::service::service">io_service::service::service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145739728"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">owner</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.io_service__service.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__service.service.parameters"></a></span><a class="link" href="service.html#boost_asio.reference.io_service__service.service.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">owner</span></dt>
+<dd><p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns
+ the service.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__service/shutdown_service.html b/doc/html/boost_asio/reference/io_service__service/shutdown_service.html
new file mode 100644
index 0000000000..e51adf5d65
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__service/shutdown_service.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::service::shutdown_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__service.html" title="io_service::service">
+<link rel="prev" href="fork_service.html" title="io_service::service::fork_service">
+<link rel="next" href="../io_service__strand.html" title="io_service::strand">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fork_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__strand.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__service.shutdown_service"></a><a class="link" href="shutdown_service.html" title="io_service::service::shutdown_service">io_service::service::shutdown_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145771104"></a>
+Destroy all user-defined handler objects
+ owned by the service.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="fork_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__strand.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand.html b/doc/html/boost_asio/reference/io_service__strand.html
new file mode 100644
index 0000000000..1b5e418c13
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand.html
@@ -0,0 +1,265 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="io_service__service/shutdown_service.html" title="io_service::service::shutdown_service">
+<link rel="next" href="io_service__strand/dispatch.html" title="io_service::strand::dispatch">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_service__service/shutdown_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__strand/dispatch.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.io_service__strand"></a><a class="link" href="io_service__strand.html" title="io_service::strand">io_service::strand</a>
+</h3></div></div></div>
+<p>
+ Provides serialised handler execution.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">strand</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service__strand.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.member_functions"></a></span><a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/dispatch.html" title="io_service::strand::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Request the strand to invoke the given handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/get_io_service.html" title="io_service::strand::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the strand.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/post.html" title="io_service::strand::post"><span class="bold"><strong>post</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Request the strand to invoke the given handler and return immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/running_in_this_thread.html" title="io_service::strand::running_in_this_thread"><span class="bold"><strong>running_in_this_thread</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the strand is running in the current thread.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/strand.html" title="io_service::strand::strand"><span class="bold"><strong>strand</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/wrap.html" title="io_service::strand::wrap"><span class="bold"><strong>wrap</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new handler that automatically dispatches the wrapped
+ handler on the strand.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/_strand.html" title="io_service::strand::~strand"><span class="bold"><strong>~strand</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="io_service__strand.html" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> class provides the ability
+ to post and dispatch handlers with the guarantee that none of those handlers
+ will execute concurrently.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service__strand.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.order_of_handler_invocation"></a></span><a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.order_of_handler_invocation">Order
+ of handler invocation</a>
+ </h5>
+<p>
+ Given:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ a strand object <code class="computeroutput"><span class="identifier">s</span></code>
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">a</span></code> meeting completion
+ handler requirements
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">a1</span></code> which is
+ an arbitrary copy of <code class="computeroutput"><span class="identifier">a</span></code>
+ made by the implementation
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">b</span></code> meeting completion
+ handler requirements
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">b1</span></code> which is
+ an arbitrary copy of <code class="computeroutput"><span class="identifier">b</span></code>
+ made by the implementation
+ </li>
+</ul></div>
+<p>
+ if any of the following conditions are true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ where the latter is performed outside the strand
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ where the former is performed outside the strand
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ where both are performed outside the strand
+ </li>
+</ul></div>
+<p>
+ then <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
+ <span class="special">&amp;</span><span class="identifier">a1</span><span class="special">)</span></code> happens-before <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">b1</span><span class="special">,</span>
+ <span class="special">&amp;</span><span class="identifier">b1</span><span class="special">)</span></code>.
+ </p>
+<p>
+ Note that in the following case:
+ </p>
+<pre class="programlisting"><span class="identifier">async_op_1</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">a</span><span class="special">));</span>
+<span class="identifier">async_op_2</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span>
+</pre>
+<p>
+ the completion of the first async operation will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>,
+ and the second will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ but the order in which those are performed is unspecified. That is, you cannot
+ state whether one happens-before the other. Therefore none of the above conditions
+ are met and no ordering guarantee is made.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service__strand.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.remarks"></a></span><a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.remarks">Remarks</a>
+ </h5>
+<p>
+ The implementation makes no guarantee that handlers posted or dispatched
+ through different <code class="computeroutput"><span class="identifier">strand</span></code>
+ objects will be invoked concurrently.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service__strand.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.thread_safety"></a></span><a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.thread_safety">Thread Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service__strand.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.requirements"></a></span><a class="link" href="io_service__strand.html#boost_asio.reference.io_service__strand.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/strand.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="io_service__service/shutdown_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__strand/dispatch.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/_strand.html b/doc/html/boost_asio/reference/io_service__strand/_strand.html
new file mode 100644
index 0000000000..92c47a7494
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/_strand.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::~strand</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="wrap.html" title="io_service::strand::wrap">
+<link rel="next" href="../io_service__work.html" title="io_service::work">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrap.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__work.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand._strand"></a><a class="link" href="_strand.html" title="io_service::strand::~strand">io_service::strand::~strand</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146030992"></a>
+Destructor.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">strand</span><span class="special">();</span>
+</pre>
+<p>
+ Destroys a strand.
+ </p>
+<p>
+ Handlers posted through the strand that have not yet been invoked will
+ still be dispatched in a way that meets the guarantee of non-concurrency.
+ </p>
+</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 &#169; 2003-2017 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="wrap.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../io_service__work.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/dispatch.html b/doc/html/boost_asio/reference/io_service__strand/dispatch.html
new file mode 100644
index 0000000000..3e3fd44f1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/dispatch.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::dispatch</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="../io_service__strand.html" title="io_service::strand">
+<link rel="next" href="get_io_service.html" title="io_service::strand::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_service__strand.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand.dispatch"></a><a class="link" href="dispatch.html" title="io_service::strand::dispatch">io_service::strand::dispatch</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145893120"></a>
+Request the strand to invoke the given handler.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../CompletionHandler.html" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">dispatch</span><span class="special">(</span>
+ <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to ask the strand to execute the given handler.
+ </p>
+<p>
+ The strand object guarantees that handlers posted or dispatched through
+ the strand will not be executed concurrently. The handler may be executed
+ inside this function if the guarantee can be met. If this function is called
+ from within a handler that was posted or dispatched through the same strand,
+ then the new handler will be executed immediately.
+ </p>
+<p>
+ The strand's guarantee is in addition to the guarantee provided by the
+ underlying <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> guarantees that the
+ handler will only be called in a thread in which the io_service's run member
+ function is currently being invoked.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service__strand.dispatch.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.dispatch.parameters"></a></span><a class="link" href="dispatch.html#boost_asio.reference.io_service__strand.dispatch.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called. The strand will make a copy of the handler
+ object as required. The function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="../io_service__strand.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/get_io_service.html b/doc/html/boost_asio/reference/io_service__strand/get_io_service.html
new file mode 100644
index 0000000000..a482e2d82b
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/get_io_service.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="dispatch.html" title="io_service::strand::dispatch">
+<link rel="next" href="post.html" title="io_service::strand::post">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dispatch.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand.get_io_service"></a><a class="link" href="get_io_service.html" title="io_service::strand::get_io_service">io_service::strand::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145915104"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ strand.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the strand
+ uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service__strand.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.io_service__strand.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the strand
+ will use to dispatch handlers. Ownership is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="dispatch.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/post.html b/doc/html/boost_asio/reference/io_service__strand/post.html
new file mode 100644
index 0000000000..c49ca8e47d
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/post.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::post</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="get_io_service.html" title="io_service::strand::get_io_service">
+<link rel="next" href="running_in_this_thread.html" title="io_service::strand::running_in_this_thread">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="running_in_this_thread.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand.post"></a><a class="link" href="post.html" title="io_service::strand::post">io_service::strand::post</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145930144"></a>
+Request the strand to invoke the given handler and
+ return immediately.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../CompletionHandler.html" title="Completion handler requirements">CompletionHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">post</span><span class="special">(</span>
+ <span class="identifier">CompletionHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to ask the strand to execute the given handler, but
+ without allowing the strand to call the handler from inside this function.
+ </p>
+<p>
+ The strand object guarantees that handlers posted or dispatched through
+ the strand will not be executed concurrently. The strand's guarantee is
+ in addition to the guarantee provided by the underlying <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>. The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> guarantees that the
+ handler will only be called in a thread in which the io_service's run member
+ function is currently being invoked.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service__strand.post.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.post.parameters"></a></span><a class="link" href="post.html#boost_asio.reference.io_service__strand.post.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called. The strand will make a copy of the handler
+ object as required. The function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="running_in_this_thread.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/running_in_this_thread.html b/doc/html/boost_asio/reference/io_service__strand/running_in_this_thread.html
new file mode 100644
index 0000000000..008f324d8e
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/running_in_this_thread.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::running_in_this_thread</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="post.html" title="io_service::strand::post">
+<link rel="next" href="strand.html" title="io_service::strand::strand">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="post.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="strand.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand.running_in_this_thread"></a><a class="link" href="running_in_this_thread.html" title="io_service::strand::running_in_this_thread">io_service::strand::running_in_this_thread</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145951072"></a>
+Determine whether the strand is
+ running in the current thread.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">running_in_this_thread</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.io_service__strand.running_in_this_thread.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.running_in_this_thread.return_value"></a></span><a class="link" href="running_in_this_thread.html#boost_asio.reference.io_service__strand.running_in_this_thread.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the current thread
+ is executing a handler that was submitted to the strand using <code class="computeroutput"><span class="identifier">post</span><span class="special">()</span></code>,
+ <code class="computeroutput"><span class="identifier">dispatch</span><span class="special">()</span></code>
+ or <code class="computeroutput"><span class="identifier">wrap</span><span class="special">()</span></code>.
+ Otherwise returns <code class="computeroutput"><span class="keyword">false</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="post.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="strand.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/strand.html b/doc/html/boost_asio/reference/io_service__strand/strand.html
new file mode 100644
index 0000000000..8bb0df8727
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/strand.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::strand</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="running_in_this_thread.html" title="io_service::strand::running_in_this_thread">
+<link rel="next" href="wrap.html" title="io_service::strand::wrap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="running_in_this_thread.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wrap.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand.strand"></a><a class="link" href="strand.html" title="io_service::strand::strand">io_service::strand::strand</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145966640"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">strand</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs the strand.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service__strand.strand.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.strand.parameters"></a></span><a class="link" href="strand.html#boost_asio.reference.io_service__strand.strand.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the
+ strand will use to dispatch handlers that are ready to be run.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="running_in_this_thread.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wrap.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__strand/wrap.html b/doc/html/boost_asio/reference/io_service__strand/wrap.html
new file mode 100644
index 0000000000..0f188d8891
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__strand/wrap.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::strand::wrap</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__strand.html" title="io_service::strand">
+<link rel="prev" href="strand.html" title="io_service::strand::strand">
+<link rel="next" href="_strand.html" title="io_service::strand::~strand">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="strand.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_strand.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__strand.wrap"></a><a class="link" href="wrap.html" title="io_service::strand::wrap">io_service::strand::wrap</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp145981600"></a>
+Create a new handler that automatically dispatches
+ the wrapped handler on the strand.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="identifier">unspecified</span> <span class="identifier">wrap</span><span class="special">(</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to create a new handler function object that, when
+ invoked, will automatically pass the wrapped handler to the strand's dispatch
+ function.
+ </p>
+<h6>
+<a name="boost_asio.reference.io_service__strand.wrap.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.wrap.parameters"></a></span><a class="link" href="wrap.html#boost_asio.reference.io_service__strand.wrap.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be wrapped. The strand will make a copy of the handler
+ object as required. The function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.io_service__strand.wrap.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__strand.wrap.return_value"></a></span><a class="link" href="wrap.html#boost_asio.reference.io_service__strand.wrap.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A function object that, when invoked, passes the wrapped handler to the
+ strand's dispatch function. Given a function object with the signature:
+ </p>
+<pre class="programlisting"><span class="identifier">R</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ If this function object is passed to the wrap function like so:
+ </p>
+<pre class="programlisting"><span class="identifier">strand</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">f</span><span class="special">);</span>
+</pre>
+<p>
+ then the return value is a function object with the signature
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">An</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ that, when invoked, executes code equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">strand</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span> <span class="identifier">a1</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">an</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="strand.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__strand.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_strand.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__work.html b/doc/html/boost_asio/reference/io_service__work.html
new file mode 100644
index 0000000000..ffe0020407
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__work.html
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::work</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="io_service__strand/_strand.html" title="io_service::strand::~strand">
+<link rel="next" href="io_service__work/get_io_service.html" title="io_service::work::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_service__strand/_strand.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__work/get_io_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.io_service__work"></a><a class="link" href="io_service__work.html" title="io_service::work">io_service::work</a>
+</h3></div></div></div>
+<p>
+ Class to inform the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> when it has work to do.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">work</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.io_service__work.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__work.member_functions"></a></span><a class="link" href="io_service__work.html#boost_asio.reference.io_service__work.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__work/get_io_service.html" title="io_service::work::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the work.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__work/work.html" title="io_service::work::work"><span class="bold"><strong>work</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor notifies the io_service that work is starting.
+ </p>
+ <p>
+ Copy constructor notifies the io_service that work is starting.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__work/_work.html" title="io_service::work::~work"><span class="bold"><strong>~work</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor notifies the io_service that the work is complete.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The work class is used to inform the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> when work starts and
+ finishes. This ensures that the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code> function
+ will not exit while work is underway, and that it does exit when there is
+ no unfinished work remaining.
+ </p>
+<p>
+ The work class is copy-constructible so that it may be used as a data member
+ in a handler class. It is not assignable.
+ </p>
+<h5>
+<a name="boost_asio.reference.io_service__work.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.io_service__work.requirements"></a></span><a class="link" href="io_service__work.html#boost_asio.reference.io_service__work.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="io_service__strand/_strand.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_service__work/get_io_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__work/_work.html b/doc/html/boost_asio/reference/io_service__work/_work.html
new file mode 100644
index 0000000000..9b8e64a66d
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__work/_work.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::work::~work</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__work.html" title="io_service::work">
+<link rel="prev" href="work/overload2.html" title="io_service::work::work (2 of 2 overloads)">
+<link rel="next" href="../ip__address.html" title="ip::address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="work/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__work.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__address.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__work._work"></a><a class="link" href="_work.html" title="io_service::work::~work">io_service::work::~work</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146120864"></a>
+Destructor notifies the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that the work is complete.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">work</span><span class="special">();</span>
+</pre>
+<p>
+ The destructor is used to inform the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that some work has
+ finished. Once the count of unfinished work reaches zero, the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function is permitted to exit.
+ </p>
+</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 &#169; 2003-2017 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="work/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__work.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__address.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__work/get_io_service.html b/doc/html/boost_asio/reference/io_service__work/get_io_service.html
new file mode 100644
index 0000000000..8ae31abbfe
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__work/get_io_service.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::work::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__work.html" title="io_service::work">
+<link rel="prev" href="../io_service__work.html" title="io_service::work">
+<link rel="next" href="work.html" title="io_service::work::work">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_service__work.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__work.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="work.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__work.get_io_service"></a><a class="link" href="get_io_service.html" title="io_service::work::get_io_service">io_service::work::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146066800"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ work.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_service__work.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__work.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="work.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__work/work.html b/doc/html/boost_asio/reference/io_service__work/work.html
new file mode 100644
index 0000000000..f9282c3cee
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__work/work.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::work::work</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_service__work.html" title="io_service::work">
+<link rel="prev" href="get_io_service.html" title="io_service::work::get_io_service">
+<link rel="next" href="work/overload1.html" title="io_service::work::work (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__work.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="work/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.io_service__work.work"></a><a class="link" href="work.html" title="io_service::work::work">io_service::work::work</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146075776"></a>
+Constructor notifies the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="work/overload1.html" title="io_service::work::work (1 of 2 overloads)">work</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="work/overload1.html" title="io_service::work::work (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor notifies the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
+ </p>
+<pre class="programlisting"><a class="link" href="work/overload2.html" title="io_service::work::work (2 of 2 overloads)">work</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">work</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="work/overload2.html" title="io_service::work::work (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_service__work.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="work/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__work/work/overload1.html b/doc/html/boost_asio/reference/io_service__work/work/overload1.html
new file mode 100644
index 0000000000..33802317ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__work/work/overload1.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::work::work (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../work.html" title="io_service::work::work">
+<link rel="prev" href="../work.html" title="io_service::work::work">
+<link rel="next" href="overload2.html" title="io_service::work::work (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../work.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../work.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service__work.work.overload1"></a><a class="link" href="overload1.html" title="io_service::work::work (1 of 2 overloads)">io_service::work::work
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor notifies the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
+ </p>
+<pre class="programlisting"><span class="identifier">work</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ The constructor is used to inform the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that some work has
+ begun. This ensures that the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function will not exit while the work is underway.
+ </p>
+</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 &#169; 2003-2017 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="../work.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../work.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/io_service__work/work/overload2.html b/doc/html/boost_asio/reference/io_service__work/work/overload2.html
new file mode 100644
index 0000000000..d850017f80
--- /dev/null
+++ b/doc/html/boost_asio/reference/io_service__work/work/overload2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>io_service::work::work (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../work.html" title="io_service::work::work">
+<link rel="prev" href="overload1.html" title="io_service::work::work (1 of 2 overloads)">
+<link rel="next" href="../_work.html" title="io_service::work::~work">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../work.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_work.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.io_service__work.work.overload2"></a><a class="link" href="overload2.html" title="io_service::work::work (2 of 2 overloads)">io_service::work::work
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor notifies the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that work is starting.
+ </p>
+<pre class="programlisting"><span class="identifier">work</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">work</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ The constructor is used to inform the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that some work has
+ begun. This ensures that the <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object's <code class="computeroutput"><span class="identifier">run</span><span class="special">()</span></code>
+ function will not exit while the work is underway.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../work.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_work.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address.html b/doc/html/boost_asio/reference/ip__address.html
new file mode 100644
index 0000000000..fa12b83ae8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address.html
@@ -0,0 +1,377 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="io_service__work/_work.html" title="io_service::work::~work">
+<link rel="next" href="ip__address/address.html" title="ip::address::address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_service__work/_work.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__address/address.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__address"></a><a class="link" href="ip__address.html" title="ip::address">ip::address</a>
+</h3></div></div></div>
+<p>
+ Implements version-independent IP addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">address</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.member_functions"></a></span><a class="link" href="ip__address.html#boost_asio.reference.ip__address.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/address.html" title="ip::address::address"><span class="bold"><strong>address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an address from an IPv4 address.
+ </p>
+ <p>
+ Construct an address from an IPv6 address.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/from_string.html" title="ip::address::from_string"><span class="bold"><strong>from_string</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an address from an IPv4 address string in dotted decimal
+ form, or from an IPv6 address in hexadecimal notation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/is_loopback.html" title="ip::address::is_loopback"><span class="bold"><strong>is_loopback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a loopback address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/is_multicast.html" title="ip::address::is_multicast"><span class="bold"><strong>is_multicast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/is_unspecified.html" title="ip::address::is_unspecified"><span class="bold"><strong>is_unspecified</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is unspecified.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/is_v4.html" title="ip::address::is_v4"><span class="bold"><strong>is_v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get whether the address is an IP version 4 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/is_v6.html" title="ip::address::is_v6"><span class="bold"><strong>is_v6</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get whether the address is an IP version 6 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_eq_.html" title="ip::address::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another address.
+ </p>
+ <p>
+ Assign from an IPv4 address.
+ </p>
+ <p>
+ Assign from an IPv6 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/to_string.html" title="ip::address::to_string"><span class="bold"><strong>to_string</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address as a string in dotted decimal format.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/to_v4.html" title="ip::address::to_v4"><span class="bold"><strong>to_v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address as an IP version 4 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/to_v6.html" title="ip::address::to_v6"><span class="bold"><strong>to_v6</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address as an IP version 6 address.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.friends"></a></span><a class="link" href="ip__address.html#boost_asio.reference.ip__address.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_not__eq_.html" title="ip::address::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two addresses for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_lt_.html" title="ip::address::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_lt__eq_.html" title="ip::address::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_eq__eq_.html" title="ip::address::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two addresses for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_gt_.html" title="ip::address::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_gt__eq_.html" title="ip::address::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.related_functions"></a></span><a class="link" href="ip__address.html#boost_asio.reference.ip__address.related_functions">Related
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__address/operator_lt__lt_.html" title="ip::address::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an address as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__address.html" title="ip::address"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span></code></a>
+ class provides the ability to use either IP version 4 or version 6 addresses.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__address.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.thread_safety"></a></span><a class="link" href="ip__address.html#boost_asio.reference.ip__address.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__address.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.requirements"></a></span><a class="link" href="ip__address.html#boost_asio.reference.ip__address.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="io_service__work/_work.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__address/address.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/address.html b/doc/html/boost_asio/reference/ip__address/address.html
new file mode 100644
index 0000000000..1bec83dc8b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/address.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="../ip__address.html" title="ip::address">
+<link rel="next" href="address/overload1.html" title="ip::address::address (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.address"></a><a class="link" href="address.html" title="ip::address::address">ip::address::address</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146224496"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="address/overload1.html" title="ip::address::address (1 of 4 overloads)">address</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address/overload1.html" title="ip::address::address (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an address from an IPv4 address.
+ </p>
+<pre class="programlisting"><a class="link" href="address/overload2.html" title="ip::address::address (2 of 4 overloads)">address</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address/overload2.html" title="ip::address::address (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an address from an IPv6 address.
+ </p>
+<pre class="programlisting"><a class="link" href="address/overload3.html" title="ip::address::address (3 of 4 overloads)">address</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address/overload3.html" title="ip::address::address (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="address/overload4.html" title="ip::address::address (4 of 4 overloads)">address</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address/overload4.html" title="ip::address::address (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/address/overload1.html b/doc/html/boost_asio/reference/ip__address/address/overload1.html
new file mode 100644
index 0000000000..0685079139
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/address/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::address (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address.html" title="ip::address::address">
+<link rel="prev" href="../address.html" title="ip::address::address">
+<link rel="next" href="overload2.html" title="ip::address::address (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../address.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.address.overload1"></a><a class="link" href="overload1.html" title="ip::address::address (1 of 4 overloads)">ip::address::address
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../address.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/address/overload2.html b/doc/html/boost_asio/reference/ip__address/address/overload2.html
new file mode 100644
index 0000000000..2ecc600f6a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/address/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::address (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address.html" title="ip::address::address">
+<link rel="prev" href="overload1.html" title="ip::address::address (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::address::address (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.address.overload2"></a><a class="link" href="overload2.html" title="ip::address::address (2 of 4 overloads)">ip::address::address
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an address from an IPv4 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/address/overload3.html b/doc/html/boost_asio/reference/ip__address/address/overload3.html
new file mode 100644
index 0000000000..c26f7b5b3f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/address/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::address (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address.html" title="ip::address::address">
+<link rel="prev" href="overload2.html" title="ip::address::address (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::address::address (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.address.overload3"></a><a class="link" href="overload3.html" title="ip::address::address (3 of 4 overloads)">ip::address::address
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an address from an IPv6 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/address/overload4.html b/doc/html/boost_asio/reference/ip__address/address/overload4.html
new file mode 100644
index 0000000000..9ec608f324
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/address/overload4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::address (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address.html" title="ip::address::address">
+<link rel="prev" href="overload3.html" title="ip::address::address (3 of 4 overloads)">
+<link rel="next" href="../from_string.html" title="ip::address::from_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../from_string.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.address.overload4"></a><a class="link" href="overload4.html" title="ip::address::address (4 of 4 overloads)">ip::address::address
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../from_string.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/from_string.html b/doc/html/boost_asio/reference/ip__address/from_string.html
new file mode 100644
index 0000000000..50968398bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/from_string.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::from_string</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="address/overload4.html" title="ip::address::address (4 of 4 overloads)">
+<link rel="next" href="from_string/overload1.html" title="ip::address::from_string (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="address/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.from_string"></a><a class="link" href="from_string.html" title="ip::address::from_string">ip::address::from_string</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146292016"></a>
+Create an address from an IPv4 address string in
+ dotted decimal form, or from an IPv6 address in hexadecimal notation.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="from_string/overload1.html" title="ip::address::from_string (1 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload1.html" title="ip::address::from_string (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="from_string/overload2.html" title="ip::address::from_string (2 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload2.html" title="ip::address::from_string (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="from_string/overload3.html" title="ip::address::from_string (3 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload3.html" title="ip::address::from_string (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address</span> <a class="link" href="from_string/overload4.html" title="ip::address::from_string (4 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload4.html" title="ip::address::from_string (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="address/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/from_string/overload1.html b/doc/html/boost_asio/reference/ip__address/from_string/overload1.html
new file mode 100644
index 0000000000..e113fdb427
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/from_string/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::from_string (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address::from_string">
+<link rel="prev" href="../from_string.html" title="ip::address::from_string">
+<link rel="next" href="overload2.html" title="ip::address::from_string (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../from_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.from_string.overload1"></a><a class="link" href="overload1.html" title="ip::address::from_string (1 of 4 overloads)">ip::address::from_string
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IPv4 address string in dotted decimal form,
+ or from an IPv6 address in hexadecimal notation.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../from_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/from_string/overload2.html b/doc/html/boost_asio/reference/ip__address/from_string/overload2.html
new file mode 100644
index 0000000000..477ead7fe0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/from_string/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::from_string (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address::from_string">
+<link rel="prev" href="overload1.html" title="ip::address::from_string (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::address::from_string (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.from_string.overload2"></a><a class="link" href="overload2.html" title="ip::address::from_string (2 of 4 overloads)">ip::address::from_string
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IPv4 address string in dotted decimal form,
+ or from an IPv6 address in hexadecimal notation.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/from_string/overload3.html b/doc/html/boost_asio/reference/ip__address/from_string/overload3.html
new file mode 100644
index 0000000000..ece0603a8f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/from_string/overload3.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::from_string (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address::from_string">
+<link rel="prev" href="overload2.html" title="ip::address::from_string (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::address::from_string (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.from_string.overload3"></a><a class="link" href="overload3.html" title="ip::address::from_string (3 of 4 overloads)">ip::address::from_string
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IPv4 address string in dotted decimal form,
+ or from an IPv6 address in hexadecimal notation.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/from_string/overload4.html b/doc/html/boost_asio/reference/ip__address/from_string/overload4.html
new file mode 100644
index 0000000000..4d66cccf0e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/from_string/overload4.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::from_string (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address::from_string">
+<link rel="prev" href="overload3.html" title="ip::address::from_string (3 of 4 overloads)">
+<link rel="next" href="../is_loopback.html" title="ip::address::is_loopback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_loopback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.from_string.overload4"></a><a class="link" href="overload4.html" title="ip::address::from_string (4 of 4 overloads)">ip::address::from_string
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IPv4 address string in dotted decimal form,
+ or from an IPv6 address in hexadecimal notation.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_loopback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/is_loopback.html b/doc/html/boost_asio/reference/ip__address/is_loopback.html
new file mode 100644
index 0000000000..781e4d1840
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/is_loopback.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::is_loopback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="from_string/overload4.html" title="ip::address::from_string (4 of 4 overloads)">
+<link rel="next" href="is_multicast.html" title="ip::address::is_multicast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_string/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.is_loopback"></a><a class="link" href="is_loopback.html" title="ip::address::is_loopback">ip::address::is_loopback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146384208"></a>
+Determine whether the address is a loopback address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_loopback</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="from_string/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/is_multicast.html b/doc/html/boost_asio/reference/ip__address/is_multicast.html
new file mode 100644
index 0000000000..7ca1473673
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/is_multicast.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::is_multicast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="is_loopback.html" title="ip::address::is_loopback">
+<link rel="next" href="is_unspecified.html" title="ip::address::is_unspecified">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unspecified.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.is_multicast"></a><a class="link" href="is_multicast.html" title="ip::address::is_multicast">ip::address::is_multicast</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146391392"></a>
+Determine whether the address is a multicast address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unspecified.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/is_unspecified.html b/doc/html/boost_asio/reference/ip__address/is_unspecified.html
new file mode 100644
index 0000000000..909e2b34bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/is_unspecified.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::is_unspecified</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="is_multicast.html" title="ip::address::is_multicast">
+<link rel="next" href="is_v4.html" title="ip::address::is_v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.is_unspecified"></a><a class="link" href="is_unspecified.html" title="ip::address::is_unspecified">ip::address::is_unspecified</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146398640"></a>
+Determine whether the address is unspecified.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_unspecified</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/is_v4.html b/doc/html/boost_asio/reference/ip__address/is_v4.html
new file mode 100644
index 0000000000..5fadbd1d44
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/is_v4.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::is_v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="is_unspecified.html" title="ip::address::is_unspecified">
+<link rel="next" href="is_v6.html" title="ip::address::is_v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unspecified.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.is_v4"></a><a class="link" href="is_v4.html" title="ip::address::is_v4">ip::address::is_v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146405792"></a>
+Get whether the address is an IP version 4 address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_unspecified.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/is_v6.html b/doc/html/boost_asio/reference/ip__address/is_v6.html
new file mode 100644
index 0000000000..9e9594a501
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/is_v6.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::is_v6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="is_v4.html" title="ip::address::is_v4">
+<link rel="next" href="operator_not__eq_.html" title="ip::address::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.is_v6"></a><a class="link" href="is_v6.html" title="ip::address::is_v6">ip::address::is_v6</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146412896"></a>
+Get whether the address is an IP version 6 address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v6</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_eq_.html b/doc/html/boost_asio/reference/ip__address/operator_eq_.html
new file mode 100644
index 0000000000..0b12f918b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_eq_.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_lt__eq_.html" title="ip::address::operator&lt;=">
+<link rel="next" href="operator_eq_/overload1.html" title="ip::address::operator= (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_eq_"></a><a class="link" href="operator_eq_.html" title="ip::address::operator=">ip::address::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146512912"></a>
+Assign from another address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload1.html" title="ip::address::operator= (1 of 3 overloads)">operator=</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload1.html" title="ip::address::operator= (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Assign from an IPv4 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload2.html" title="ip::address::operator= (2 of 3 overloads)">operator=</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload2.html" title="ip::address::operator= (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Assign from an IPv6 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <a class="link" href="operator_eq_/overload3.html" title="ip::address::operator= (3 of 3 overloads)">operator=</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_eq_/overload3.html" title="ip::address::operator= (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_eq_/overload1.html b/doc/html/boost_asio/reference/ip__address/operator_eq_/overload1.html
new file mode 100644
index 0000000000..543afba8e8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_eq_/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator= (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="ip::address::operator=">
+<link rel="prev" href="../operator_eq_.html" title="ip::address::operator=">
+<link rel="next" href="overload2.html" title="ip::address::operator= (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.operator_eq_.overload1"></a><a class="link" href="overload1.html" title="ip::address::operator= (1 of 3 overloads)">ip::address::operator=
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign from another address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_eq_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_eq_/overload2.html b/doc/html/boost_asio/reference/ip__address/operator_eq_/overload2.html
new file mode 100644
index 0000000000..03c3f15746
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_eq_/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator= (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="ip::address::operator=">
+<link rel="prev" href="overload1.html" title="ip::address::operator= (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="ip::address::operator= (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.operator_eq_.overload2"></a><a class="link" href="overload2.html" title="ip::address::operator= (2 of 3 overloads)">ip::address::operator=
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign from an IPv4 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">ipv4_address</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_eq_/overload3.html b/doc/html/boost_asio/reference/ip__address/operator_eq_/overload3.html
new file mode 100644
index 0000000000..c53300f70a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_eq_/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator= (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_eq_.html" title="ip::address::operator=">
+<link rel="prev" href="overload2.html" title="ip::address::operator= (2 of 3 overloads)">
+<link rel="next" href="../operator_eq__eq_.html" title="ip::address::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq__eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.operator_eq_.overload3"></a><a class="link" href="overload3.html" title="ip::address::operator= (3 of 3 overloads)">ip::address::operator=
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign from an IPv6 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">ipv6_address</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_eq_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq__eq_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__address/operator_eq__eq_.html
new file mode 100644
index 0000000000..13986c58bd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_eq_/overload3.html" title="ip::address::operator= (3 of 3 overloads)">
+<link rel="next" href="operator_gt_.html" title="ip::address::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::address::operator==">ip::address::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146580608"></a>
+Compare two addresses for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__address.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_gt_.html b/doc/html/boost_asio/reference/ip__address/operator_gt_.html
new file mode 100644
index 0000000000..8bf0e916f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::address::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="ip::address::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_gt_"></a><a class="link" href="operator_gt_.html" title="ip::address::operator&gt;">ip::address::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146599376"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.ip__address.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_gt__eq_.html b/doc/html/boost_asio/reference/ip__address/operator_gt__eq_.html
new file mode 100644
index 0000000000..ccf5cbd2a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_gt_.html" title="ip::address::operator&gt;">
+<link rel="next" href="to_string.html" title="ip::address::to_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="ip::address::operator&gt;=">ip::address::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146618032"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.ip__address.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_lt_.html b/doc/html/boost_asio/reference/ip__address/operator_lt_.html
new file mode 100644
index 0000000000..d75c4d52c9
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_not__eq_.html" title="ip::address::operator!=">
+<link rel="next" href="operator_lt__lt_.html" title="ip::address::operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_lt_"></a><a class="link" href="operator_lt_.html" title="ip::address::operator&lt;">ip::address::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146438912"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.ip__address.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_lt__eq_.html b/doc/html/boost_asio/reference/ip__address/operator_lt__eq_.html
new file mode 100644
index 0000000000..6cfc7af6b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_lt__lt_.html" title="ip::address::operator&lt;&lt;">
+<link rel="next" href="operator_eq_.html" title="ip::address::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="ip::address::operator&lt;=">ip::address::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146494128"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.ip__address.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_lt__lt_.html b/doc/html/boost_asio/reference/ip__address/operator_lt__lt_.html
new file mode 100644
index 0000000000..cac6577f91
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_lt__lt_.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator&lt;&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_lt_.html" title="ip::address::operator&lt;">
+<link rel="next" href="operator_lt__eq_.html" title="ip::address::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_lt__lt_"></a><a class="link" href="operator_lt__lt_.html" title="ip::address::operator&lt;&lt;">ip::address::operator&lt;&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146457696"></a>
+Output an address as a string.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+<p>
+ Used to output a human-readable string for a specified address.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_lt__lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt__lt_.parameters"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__address.operator_lt__lt_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">os</span></dt>
+<dd><p>
+ The output stream to which the string will be written.
+ </p></dd>
+<dt><span class="term">addr</span></dt>
+<dd><p>
+ The address to be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_lt__lt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_lt__lt_.return_value"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__address.operator_lt__lt_.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The output stream.
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__address/operator_not__eq_.html
new file mode 100644
index 0000000000..1f703a2369
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="is_v6.html" title="ip::address::is_v6">
+<link rel="next" href="operator_lt_.html" title="ip::address::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_v6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::address::operator!=">ip::address::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146420144"></a>
+Compare two addresses for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__address.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_v6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/to_string.html b/doc/html/boost_asio/reference/ip__address/to_string.html
new file mode 100644
index 0000000000..e402d9b0d8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/to_string.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::to_string</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="operator_gt__eq_.html" title="ip::address::operator&gt;=">
+<link rel="next" href="to_string/overload1.html" title="ip::address::to_string (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.to_string"></a><a class="link" href="to_string.html" title="ip::address::to_string">ip::address::to_string</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146636784"></a>
+Get the address as a string in dotted decimal format.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="to_string/overload1.html" title="ip::address::to_string (1 of 2 overloads)">to_string</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="to_string/overload1.html" title="ip::address::to_string (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="to_string/overload2.html" title="ip::address::to_string (2 of 2 overloads)">to_string</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="to_string/overload2.html" title="ip::address::to_string (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/to_string/overload1.html b/doc/html/boost_asio/reference/ip__address/to_string/overload1.html
new file mode 100644
index 0000000000..5734dc1b79
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/to_string/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::to_string (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../to_string.html" title="ip::address::to_string">
+<link rel="prev" href="../to_string.html" title="ip::address::to_string">
+<link rel="next" href="overload2.html" title="ip::address::to_string (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../to_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.to_string.overload1"></a><a class="link" href="overload1.html" title="ip::address::to_string (1 of 2 overloads)">ip::address::to_string
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the address as a string in dotted decimal format.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../to_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/to_string/overload2.html b/doc/html/boost_asio/reference/ip__address/to_string/overload2.html
new file mode 100644
index 0000000000..1a83e6b30d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/to_string/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::to_string (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../to_string.html" title="ip::address::to_string">
+<link rel="prev" href="overload1.html" title="ip::address::to_string (1 of 2 overloads)">
+<link rel="next" href="../to_v4.html" title="ip::address::to_v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_v4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address.to_string.overload2"></a><a class="link" href="overload2.html" title="ip::address::to_string (2 of 2 overloads)">ip::address::to_string
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the address as a string in dotted decimal format.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_v4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/to_v4.html b/doc/html/boost_asio/reference/ip__address/to_v4.html
new file mode 100644
index 0000000000..c30dab8cb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/to_v4.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::to_v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="to_string/overload2.html" title="ip::address::to_string (2 of 2 overloads)">
+<link rel="next" href="to_v6.html" title="ip::address::to_v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_string/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.to_v4"></a><a class="link" href="to_v4.html" title="ip::address::to_v4">ip::address::to_v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146676032"></a>
+Get the address as an IP version 4 address.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="identifier">to_v4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="to_string/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address/to_v6.html b/doc/html/boost_asio/reference/ip__address/to_v6.html
new file mode 100644
index 0000000000..cc16d9a931
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address/to_v6.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address::to_v6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address.html" title="ip::address">
+<link rel="prev" href="to_v4.html" title="ip::address::to_v4">
+<link rel="next" href="../ip__address_v4.html" title="ip::address_v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address.to_v6"></a><a class="link" href="to_v6.html" title="ip::address::to_v6">ip::address::to_v6</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146686256"></a>
+Get the address as an IP version 6 address.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span> <span class="identifier">to_v6</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="to_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4.html b/doc/html/boost_asio/reference/ip__address_v4.html
new file mode 100644
index 0000000000..7a26b471bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4.html
@@ -0,0 +1,467 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__address/to_v6.html" title="ip::address::to_v6">
+<link rel="next" href="ip__address_v4/address_v4.html" title="ip::address_v4::address_v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__address/to_v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__address_v4/address_v4.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__address_v4"></a><a class="link" href="ip__address_v4.html" title="ip::address_v4">ip::address_v4</a>
+</h3></div></div></div>
+<p>
+ Implements IP version 4 style addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">address_v4</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__address_v4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.types"></a></span><a class="link" href="ip__address_v4.html#boost_asio.reference.ip__address_v4.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/bytes_type.html" title="ip::address_v4::bytes_type"><span class="bold"><strong>bytes_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used to represent an address as an array of bytes.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address_v4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.member_functions"></a></span><a class="link" href="ip__address_v4.html#boost_asio.reference.ip__address_v4.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/address_v4.html" title="ip::address_v4::address_v4"><span class="bold"><strong>address_v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an address from raw bytes.
+ </p>
+ <p>
+ Construct an address from a unsigned long in host byte order.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/any.html" title="ip::address_v4::any"><span class="bold"><strong>any</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an address object that represents any address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/broadcast.html" title="ip::address_v4::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an address object that represents the broadcast address.
+ </p>
+ <p>
+ Obtain an address object that represents the broadcast address
+ that corresponds to the specified address and netmask.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/from_string.html" title="ip::address_v4::from_string"><span class="bold"><strong>from_string</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an address from an IP address string in dotted decimal form.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/is_class_a.html" title="ip::address_v4::is_class_a"><span class="bold"><strong>is_class_a</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a class A address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/is_class_b.html" title="ip::address_v4::is_class_b"><span class="bold"><strong>is_class_b</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a class B address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/is_class_c.html" title="ip::address_v4::is_class_c"><span class="bold"><strong>is_class_c</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a class C address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/is_loopback.html" title="ip::address_v4::is_loopback"><span class="bold"><strong>is_loopback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a loopback address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/is_multicast.html" title="ip::address_v4::is_multicast"><span class="bold"><strong>is_multicast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/is_unspecified.html" title="ip::address_v4::is_unspecified"><span class="bold"><strong>is_unspecified</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is unspecified.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/loopback.html" title="ip::address_v4::loopback"><span class="bold"><strong>loopback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an address object that represents the loopback address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/netmask.html" title="ip::address_v4::netmask"><span class="bold"><strong>netmask</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain the netmask that corresponds to the address, based on its
+ address class.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_eq_.html" title="ip::address_v4::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/to_bytes.html" title="ip::address_v4::to_bytes"><span class="bold"><strong>to_bytes</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address in bytes, in network byte order.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/to_string.html" title="ip::address_v4::to_string"><span class="bold"><strong>to_string</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address as a string in dotted decimal format.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/to_ulong.html" title="ip::address_v4::to_ulong"><span class="bold"><strong>to_ulong</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address as an unsigned long in host byte order.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address_v4.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.friends"></a></span><a class="link" href="ip__address_v4.html#boost_asio.reference.ip__address_v4.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_not__eq_.html" title="ip::address_v4::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two addresses for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_lt_.html" title="ip::address_v4::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_lt__eq_.html" title="ip::address_v4::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_eq__eq_.html" title="ip::address_v4::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two addresses for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_gt_.html" title="ip::address_v4::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_gt__eq_.html" title="ip::address_v4::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address_v4.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.related_functions"></a></span><a class="link" href="ip__address_v4.html#boost_asio.reference.ip__address_v4.related_functions">Related Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v4/operator_lt__lt_.html" title="ip::address_v4::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an address as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__address_v4.html" title="ip::address_v4"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span></code></a>
+ class provides the ability to use and manipulate IP version 4 addresses.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__address_v4.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.thread_safety"></a></span><a class="link" href="ip__address_v4.html#boost_asio.reference.ip__address_v4.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__address_v4.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.requirements"></a></span><a class="link" href="ip__address_v4.html#boost_asio.reference.ip__address_v4.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__address/to_v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__address_v4/address_v4.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/address_v4.html b/doc/html/boost_asio/reference/ip__address_v4/address_v4.html
new file mode 100644
index 0000000000..8754fcc590
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/address_v4.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::address_v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="next" href="address_v4/overload1.html" title="ip::address_v4::address_v4 (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_v4/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.address_v4"></a><a class="link" href="address_v4.html" title="ip::address_v4::address_v4">ip::address_v4::address_v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146826912"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="address_v4/overload1.html" title="ip::address_v4::address_v4 (1 of 4 overloads)">address_v4</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v4/overload1.html" title="ip::address_v4::address_v4 (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an address from raw bytes.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="address_v4/overload2.html" title="ip::address_v4::address_v4 (2 of 4 overloads)">address_v4</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v4/overload2.html" title="ip::address_v4::address_v4 (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an address from a unsigned long in host byte order.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="address_v4/overload3.html" title="ip::address_v4::address_v4 (3 of 4 overloads)">address_v4</a><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">addr</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v4/overload3.html" title="ip::address_v4::address_v4 (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="address_v4/overload4.html" title="ip::address_v4::address_v4 (4 of 4 overloads)">address_v4</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v4/overload4.html" title="ip::address_v4::address_v4 (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__address_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_v4/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload1.html b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload1.html
new file mode 100644
index 0000000000..df06fe655d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::address_v4 (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v4.html" title="ip::address_v4::address_v4">
+<link rel="prev" href="../address_v4.html" title="ip::address_v4::address_v4">
+<link rel="next" href="overload2.html" title="ip::address_v4::address_v4 (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../address_v4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.address_v4.overload1"></a><a class="link" href="overload1.html" title="ip::address_v4::address_v4 (1 of 4 overloads)">ip::address_v4::address_v4
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../address_v4.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload2.html b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload2.html
new file mode 100644
index 0000000000..95bcbe91f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::address_v4 (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v4.html" title="ip::address_v4::address_v4">
+<link rel="prev" href="overload1.html" title="ip::address_v4::address_v4 (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::address_v4::address_v4 (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.address_v4.overload2"></a><a class="link" href="overload2.html" title="ip::address_v4::address_v4 (2 of 4 overloads)">ip::address_v4::address_v4
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an address from raw bytes.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload3.html b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload3.html
new file mode 100644
index 0000000000..e3c5cba876
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::address_v4 (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v4.html" title="ip::address_v4::address_v4">
+<link rel="prev" href="overload2.html" title="ip::address_v4::address_v4 (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::address_v4::address_v4 (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.address_v4.overload3"></a><a class="link" href="overload3.html" title="ip::address_v4::address_v4 (3 of 4 overloads)">ip::address_v4::address_v4
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an address from a unsigned long in host byte order.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload4.html b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload4.html
new file mode 100644
index 0000000000..566178ac23
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/address_v4/overload4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::address_v4 (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v4.html" title="ip::address_v4::address_v4">
+<link rel="prev" href="overload3.html" title="ip::address_v4::address_v4 (3 of 4 overloads)">
+<link rel="next" href="../any.html" title="ip::address_v4::any">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../any.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.address_v4.overload4"></a><a class="link" href="overload4.html" title="ip::address_v4::address_v4 (4 of 4 overloads)">ip::address_v4::address_v4
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v4</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v4.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../any.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/any.html b/doc/html/boost_asio/reference/ip__address_v4/any.html
new file mode 100644
index 0000000000..0e4597a714
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/any.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::any</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="address_v4/overload4.html" title="ip::address_v4::address_v4 (4 of 4 overloads)">
+<link rel="next" href="broadcast.html" title="ip::address_v4::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="address_v4/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="broadcast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.any"></a><a class="link" href="any.html" title="ip::address_v4::any">ip::address_v4::any</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146882304"></a>
+Obtain an address object that represents any address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">any</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="address_v4/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="broadcast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/broadcast.html b/doc/html/boost_asio/reference/ip__address_v4/broadcast.html
new file mode 100644
index 0000000000..9d3ab81695
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/broadcast.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="any.html" title="ip::address_v4::any">
+<link rel="next" href="broadcast/overload1.html" title="ip::address_v4::broadcast (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="broadcast/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.broadcast"></a><a class="link" href="broadcast.html" title="ip::address_v4::broadcast">ip::address_v4::broadcast</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146888896"></a>
+Obtain an address object that represents the broadcast
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="broadcast/overload1.html" title="ip::address_v4::broadcast (1 of 2 overloads)">broadcast</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="broadcast/overload1.html" title="ip::address_v4::broadcast (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Obtain an address object that represents the broadcast address that corresponds
+ to the specified address and netmask.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="broadcast/overload2.html" title="ip::address_v4::broadcast (2 of 2 overloads)">broadcast</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="broadcast/overload2.html" title="ip::address_v4::broadcast (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="any.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="broadcast/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/broadcast/overload1.html b/doc/html/boost_asio/reference/ip__address_v4/broadcast/overload1.html
new file mode 100644
index 0000000000..30304c8408
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/broadcast/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::broadcast (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../broadcast.html" title="ip::address_v4::broadcast">
+<link rel="prev" href="../broadcast.html" title="ip::address_v4::broadcast">
+<link rel="next" href="overload2.html" title="ip::address_v4::broadcast (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../broadcast.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../broadcast.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.broadcast.overload1"></a><a class="link" href="overload1.html" title="ip::address_v4::broadcast (1 of 2 overloads)">ip::address_v4::broadcast
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Obtain an address object that represents the broadcast address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">broadcast</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../broadcast.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../broadcast.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/broadcast/overload2.html b/doc/html/boost_asio/reference/ip__address_v4/broadcast/overload2.html
new file mode 100644
index 0000000000..12c8e63df3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/broadcast/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::broadcast (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../broadcast.html" title="ip::address_v4::broadcast">
+<link rel="prev" href="overload1.html" title="ip::address_v4::broadcast (1 of 2 overloads)">
+<link rel="next" href="../bytes_type.html" title="ip::address_v4::bytes_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../broadcast.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bytes_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.broadcast.overload2"></a><a class="link" href="overload2.html" title="ip::address_v4::broadcast (2 of 2 overloads)">ip::address_v4::broadcast
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Obtain an address object that represents the broadcast address that corresponds
+ to the specified address and netmask.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">broadcast</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">mask</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../broadcast.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bytes_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/bytes_type.html b/doc/html/boost_asio/reference/ip__address_v4/bytes_type.html
new file mode 100644
index 0000000000..a31b215ddd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/bytes_type.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::bytes_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="broadcast/overload2.html" title="ip::address_v4::broadcast (2 of 2 overloads)">
+<link rel="next" href="from_string.html" title="ip::address_v4::from_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.bytes_type"></a><a class="link" href="bytes_type.html" title="ip::address_v4::bytes_type">ip::address_v4::bytes_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146926880"></a>
+The type used to represent an address as an array
+ of bytes.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="number">4</span> <span class="special">&gt;</span> <span class="identifier">bytes_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.bytes_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.bytes_type.remarks"></a></span><a class="link" href="bytes_type.html#boost_asio.reference.ip__address_v4.bytes_type.remarks">Remarks</a>
+ </h6>
+<p>
+ This type is defined in terms of the C++0x template <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>
+ when it is available. Otherwise, it uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">:</span><span class="identifier">array</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.bytes_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.bytes_type.requirements"></a></span><a class="link" href="bytes_type.html#boost_asio.reference.ip__address_v4.bytes_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/from_string.html b/doc/html/boost_asio/reference/ip__address_v4/from_string.html
new file mode 100644
index 0000000000..20d7cfbd48
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/from_string.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::from_string</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="bytes_type.html" title="ip::address_v4::bytes_type">
+<link rel="next" href="from_string/overload1.html" title="ip::address_v4::from_string (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.from_string"></a><a class="link" href="from_string.html" title="ip::address_v4::from_string">ip::address_v4::from_string</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp146950880"></a>
+Create an address from an IP address string in
+ dotted decimal form.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="from_string/overload1.html" title="ip::address_v4::from_string (1 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload1.html" title="ip::address_v4::from_string (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="from_string/overload2.html" title="ip::address_v4::from_string (2 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload2.html" title="ip::address_v4::from_string (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="from_string/overload3.html" title="ip::address_v4::from_string (3 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload3.html" title="ip::address_v4::from_string (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address_v4</span> <a class="link" href="from_string/overload4.html" title="ip::address_v4::from_string (4 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload4.html" title="ip::address_v4::from_string (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/from_string/overload1.html b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload1.html
new file mode 100644
index 0000000000..b380a71c35
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::from_string (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v4::from_string">
+<link rel="prev" href="../from_string.html" title="ip::address_v4::from_string">
+<link rel="next" href="overload2.html" title="ip::address_v4::from_string (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../from_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.from_string.overload1"></a><a class="link" href="overload1.html" title="ip::address_v4::from_string (1 of 4 overloads)">ip::address_v4::from_string
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string in dotted decimal form.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../from_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/from_string/overload2.html b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload2.html
new file mode 100644
index 0000000000..e682ac95b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::from_string (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v4::from_string">
+<link rel="prev" href="overload1.html" title="ip::address_v4::from_string (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::address_v4::from_string (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.from_string.overload2"></a><a class="link" href="overload2.html" title="ip::address_v4::from_string (2 of 4 overloads)">ip::address_v4::from_string
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string in dotted decimal form.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/from_string/overload3.html b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload3.html
new file mode 100644
index 0000000000..06470305aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::from_string (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v4::from_string">
+<link rel="prev" href="overload2.html" title="ip::address_v4::from_string (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::address_v4::from_string (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.from_string.overload3"></a><a class="link" href="overload3.html" title="ip::address_v4::from_string (3 of 4 overloads)">ip::address_v4::from_string
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string in dotted decimal form.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/from_string/overload4.html b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload4.html
new file mode 100644
index 0000000000..3ab9f62ffb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/from_string/overload4.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::from_string (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v4::from_string">
+<link rel="prev" href="overload3.html" title="ip::address_v4::from_string (3 of 4 overloads)">
+<link rel="next" href="../is_class_a.html" title="ip::address_v4::is_class_a">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_class_a.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.from_string.overload4"></a><a class="link" href="overload4.html" title="ip::address_v4::from_string (4 of 4 overloads)">ip::address_v4::from_string
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string in dotted decimal form.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_class_a.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/is_class_a.html b/doc/html/boost_asio/reference/ip__address_v4/is_class_a.html
new file mode 100644
index 0000000000..a30ca0300b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/is_class_a.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::is_class_a</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="from_string/overload4.html" title="ip::address_v4::from_string (4 of 4 overloads)">
+<link rel="next" href="is_class_b.html" title="ip::address_v4::is_class_b">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_string/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class_b.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.is_class_a"></a><a class="link" href="is_class_a.html" title="ip::address_v4::is_class_a">ip::address_v4::is_class_a</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147043488"></a>
+Determine whether the address is a class A address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_class_a</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="from_string/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class_b.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/is_class_b.html b/doc/html/boost_asio/reference/ip__address_v4/is_class_b.html
new file mode 100644
index 0000000000..f8a3ccd859
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/is_class_b.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::is_class_b</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="is_class_a.html" title="ip::address_v4::is_class_a">
+<link rel="next" href="is_class_c.html" title="ip::address_v4::is_class_c">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_class_a.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.is_class_b"></a><a class="link" href="is_class_b.html" title="ip::address_v4::is_class_b">ip::address_v4::is_class_b</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147050736"></a>
+Determine whether the address is a class B address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_class_b</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_class_a.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/is_class_c.html b/doc/html/boost_asio/reference/ip__address_v4/is_class_c.html
new file mode 100644
index 0000000000..10f60b23cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/is_class_c.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::is_class_c</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="is_class_b.html" title="ip::address_v4::is_class_b">
+<link rel="next" href="is_loopback.html" title="ip::address_v4::is_loopback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_class_b.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.is_class_c"></a><a class="link" href="is_class_c.html" title="ip::address_v4::is_class_c">ip::address_v4::is_class_c</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147057920"></a>
+Determine whether the address is a class C address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_class_c</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_class_b.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/is_loopback.html b/doc/html/boost_asio/reference/ip__address_v4/is_loopback.html
new file mode 100644
index 0000000000..822e5db0ca
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/is_loopback.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::is_loopback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="is_class_c.html" title="ip::address_v4::is_class_c">
+<link rel="next" href="is_multicast.html" title="ip::address_v4::is_multicast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_class_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.is_loopback"></a><a class="link" href="is_loopback.html" title="ip::address_v4::is_loopback">ip::address_v4::is_loopback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147065104"></a>
+Determine whether the address is a loopback address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_loopback</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_class_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/is_multicast.html b/doc/html/boost_asio/reference/ip__address_v4/is_multicast.html
new file mode 100644
index 0000000000..f7f684bc42
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/is_multicast.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::is_multicast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="is_loopback.html" title="ip::address_v4::is_loopback">
+<link rel="next" href="is_unspecified.html" title="ip::address_v4::is_unspecified">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unspecified.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.is_multicast"></a><a class="link" href="is_multicast.html" title="ip::address_v4::is_multicast">ip::address_v4::is_multicast</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147072352"></a>
+Determine whether the address is a multicast
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unspecified.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/is_unspecified.html b/doc/html/boost_asio/reference/ip__address_v4/is_unspecified.html
new file mode 100644
index 0000000000..67dcbd2ac7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/is_unspecified.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::is_unspecified</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="is_multicast.html" title="ip::address_v4::is_multicast">
+<link rel="next" href="loopback.html" title="ip::address_v4::loopback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.is_unspecified"></a><a class="link" href="is_unspecified.html" title="ip::address_v4::is_unspecified">ip::address_v4::is_unspecified</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147079552"></a>
+Determine whether the address is unspecified.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_unspecified</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/loopback.html b/doc/html/boost_asio/reference/ip__address_v4/loopback.html
new file mode 100644
index 0000000000..2de6474a5e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/loopback.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::loopback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="is_unspecified.html" title="ip::address_v4::is_unspecified">
+<link rel="next" href="netmask.html" title="ip::address_v4::netmask">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unspecified.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="netmask.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.loopback"></a><a class="link" href="loopback.html" title="ip::address_v4::loopback">ip::address_v4::loopback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147086736"></a>
+Obtain an address object that represents the loopback
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">loopback</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="is_unspecified.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="netmask.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/netmask.html b/doc/html/boost_asio/reference/ip__address_v4/netmask.html
new file mode 100644
index 0000000000..271e83b68e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/netmask.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::netmask</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="loopback.html" title="ip::address_v4::loopback">
+<link rel="next" href="operator_not__eq_.html" title="ip::address_v4::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.netmask"></a><a class="link" href="netmask.html" title="ip::address_v4::netmask">ip::address_v4::netmask</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147093296"></a>
+Obtain the netmask that corresponds to the address,
+ based on its address class.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v4</span> <span class="identifier">netmask</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_eq_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_eq_.html
new file mode 100644
index 0000000000..ac912ed6fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_lt__eq_.html" title="ip::address_v4::operator&lt;=">
+<link rel="next" href="operator_eq__eq_.html" title="ip::address_v4::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_eq_"></a><a class="link" href="operator_eq_.html" title="ip::address_v4::operator=">ip::address_v4::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147196240"></a>
+Assign from another address.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_eq__eq_.html
new file mode 100644
index 0000000000..487fdb7210
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_eq_.html" title="ip::address_v4::operator=">
+<link rel="next" href="operator_gt_.html" title="ip::address_v4::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::address_v4::operator==">ip::address_v4::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147206144"></a>
+Compare two addresses for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__address_v4.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_gt_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_gt_.html
new file mode 100644
index 0000000000..856abe9be2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::address_v4::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="ip::address_v4::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_gt_"></a><a class="link" href="operator_gt_.html" title="ip::address_v4::operator&gt;">ip::address_v4::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147224960"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.ip__address_v4.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_gt__eq_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_gt__eq_.html
new file mode 100644
index 0000000000..30f35fce86
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_gt_.html" title="ip::address_v4::operator&gt;">
+<link rel="next" href="to_bytes.html" title="ip::address_v4::to_bytes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_bytes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="ip::address_v4::operator&gt;=">ip::address_v4::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147243808"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.ip__address_v4.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_bytes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_lt_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_lt_.html
new file mode 100644
index 0000000000..6ea910ae62
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_not__eq_.html" title="ip::address_v4::operator!=">
+<link rel="next" href="operator_lt__lt_.html" title="ip::address_v4::operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_lt_"></a><a class="link" href="operator_lt_.html" title="ip::address_v4::operator&lt;">ip::address_v4::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147122160"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.ip__address_v4.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_lt__eq_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_lt__eq_.html
new file mode 100644
index 0000000000..35f0f93aef
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_lt__lt_.html" title="ip::address_v4::operator&lt;&lt;">
+<link rel="next" href="operator_eq_.html" title="ip::address_v4::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="ip::address_v4::operator&lt;=">ip::address_v4::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147177440"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.ip__address_v4.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_.html
new file mode 100644
index 0000000000..c1ff23716a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_lt__lt_.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator&lt;&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_lt_.html" title="ip::address_v4::operator&lt;">
+<link rel="next" href="operator_lt__eq_.html" title="ip::address_v4::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_lt__lt_"></a><a class="link" href="operator_lt__lt_.html" title="ip::address_v4::operator&lt;&lt;">ip::address_v4::operator&lt;&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147141008"></a>
+Output an address as a string.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+<p>
+ Used to output a human-readable string for a specified address.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.parameters"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__address_v4.operator_lt__lt_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">os</span></dt>
+<dd><p>
+ The output stream to which the string will be written.
+ </p></dd>
+<dt><span class="term">addr</span></dt>
+<dd><p>
+ The address to be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_lt__lt_.return_value"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__address_v4.operator_lt__lt_.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The output stream.
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__address_v4/operator_not__eq_.html
new file mode 100644
index 0000000000..1e4c5030b0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="netmask.html" title="ip::address_v4::netmask">
+<link rel="next" href="operator_lt_.html" title="ip::address_v4::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="netmask.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::address_v4::operator!=">ip::address_v4::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147103360"></a>
+Compare two addresses for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v4.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v4.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__address_v4.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v4.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="netmask.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/to_bytes.html b/doc/html/boost_asio/reference/ip__address_v4/to_bytes.html
new file mode 100644
index 0000000000..74145ba6b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/to_bytes.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::to_bytes</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="operator_gt__eq_.html" title="ip::address_v4::operator&gt;=">
+<link rel="next" href="to_string.html" title="ip::address_v4::to_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.to_bytes"></a><a class="link" href="to_bytes.html" title="ip::address_v4::to_bytes">ip::address_v4::to_bytes</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147262512"></a>
+Get the address in bytes, in network byte order.
+ </p>
+<pre class="programlisting"><span class="identifier">bytes_type</span> <span class="identifier">to_bytes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/to_string.html b/doc/html/boost_asio/reference/ip__address_v4/to_string.html
new file mode 100644
index 0000000000..1b6783d9c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/to_string.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::to_string</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="to_bytes.html" title="ip::address_v4::to_bytes">
+<link rel="next" href="to_string/overload1.html" title="ip::address_v4::to_string (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_bytes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.to_string"></a><a class="link" href="to_string.html" title="ip::address_v4::to_string">ip::address_v4::to_string</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147269616"></a>
+Get the address as a string in dotted decimal format.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="to_string/overload1.html" title="ip::address_v4::to_string (1 of 2 overloads)">to_string</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="to_string/overload1.html" title="ip::address_v4::to_string (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="to_string/overload2.html" title="ip::address_v4::to_string (2 of 2 overloads)">to_string</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="to_string/overload2.html" title="ip::address_v4::to_string (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="to_bytes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/to_string/overload1.html b/doc/html/boost_asio/reference/ip__address_v4/to_string/overload1.html
new file mode 100644
index 0000000000..29acf56a2b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/to_string/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::to_string (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../to_string.html" title="ip::address_v4::to_string">
+<link rel="prev" href="../to_string.html" title="ip::address_v4::to_string">
+<link rel="next" href="overload2.html" title="ip::address_v4::to_string (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../to_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.to_string.overload1"></a><a class="link" href="overload1.html" title="ip::address_v4::to_string (1 of 2 overloads)">ip::address_v4::to_string
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the address as a string in dotted decimal format.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../to_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/to_string/overload2.html b/doc/html/boost_asio/reference/ip__address_v4/to_string/overload2.html
new file mode 100644
index 0000000000..a4dd3ce464
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/to_string/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::to_string (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../to_string.html" title="ip::address_v4::to_string">
+<link rel="prev" href="overload1.html" title="ip::address_v4::to_string (1 of 2 overloads)">
+<link rel="next" href="../to_ulong.html" title="ip::address_v4::to_ulong">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_ulong.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v4.to_string.overload2"></a><a class="link" href="overload2.html" title="ip::address_v4::to_string (2 of 2 overloads)">ip::address_v4::to_string
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the address as a string in dotted decimal format.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_ulong.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v4/to_ulong.html b/doc/html/boost_asio/reference/ip__address_v4/to_ulong.html
new file mode 100644
index 0000000000..38908a46a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v4/to_ulong.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v4::to_ulong</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v4.html" title="ip::address_v4">
+<link rel="prev" href="to_string/overload2.html" title="ip::address_v4::to_string (2 of 2 overloads)">
+<link rel="next" href="../ip__address_v6.html" title="ip::address_v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_string/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v4.to_ulong"></a><a class="link" href="to_ulong.html" title="ip::address_v4::to_ulong">ip::address_v4::to_ulong</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147308800"></a>
+Get the address as an unsigned long in host byte
+ order.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">to_ulong</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="to_string/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6.html b/doc/html/boost_asio/reference/ip__address_v6.html
new file mode 100644
index 0000000000..efd6ae8761
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6.html
@@ -0,0 +1,543 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__address_v4/to_ulong.html" title="ip::address_v4::to_ulong">
+<link rel="next" href="ip__address_v6/address_v6.html" title="ip::address_v6::address_v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__address_v4/to_ulong.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__address_v6/address_v6.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__address_v6"></a><a class="link" href="ip__address_v6.html" title="ip::address_v6">ip::address_v6</a>
+</h3></div></div></div>
+<p>
+ Implements IP version 6 style addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">address_v6</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__address_v6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.types"></a></span><a class="link" href="ip__address_v6.html#boost_asio.reference.ip__address_v6.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/bytes_type.html" title="ip::address_v6::bytes_type"><span class="bold"><strong>bytes_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used to represent an address as an array of bytes.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address_v6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.member_functions"></a></span><a class="link" href="ip__address_v6.html#boost_asio.reference.ip__address_v6.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/address_v6.html" title="ip::address_v6::address_v6"><span class="bold"><strong>address_v6</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an address from raw bytes and scope ID.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/any.html" title="ip::address_v6::any"><span class="bold"><strong>any</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an address object that represents any address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/from_string.html" title="ip::address_v6::from_string"><span class="bold"><strong>from_string</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an address from an IP address string.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_link_local.html" title="ip::address_v6::is_link_local"><span class="bold"><strong>is_link_local</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is link local.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_loopback.html" title="ip::address_v6::is_loopback"><span class="bold"><strong>is_loopback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a loopback address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_multicast.html" title="ip::address_v6::is_multicast"><span class="bold"><strong>is_multicast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_multicast_global.html" title="ip::address_v6::is_multicast_global"><span class="bold"><strong>is_multicast_global</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a global multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_multicast_link_local.html" title="ip::address_v6::is_multicast_link_local"><span class="bold"><strong>is_multicast_link_local</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a link-local multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_multicast_node_local.html" title="ip::address_v6::is_multicast_node_local"><span class="bold"><strong>is_multicast_node_local</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a node-local multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_multicast_org_local.html" title="ip::address_v6::is_multicast_org_local"><span class="bold"><strong>is_multicast_org_local</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a org-local multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_multicast_site_local.html" title="ip::address_v6::is_multicast_site_local"><span class="bold"><strong>is_multicast_site_local</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a site-local multicast address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_site_local.html" title="ip::address_v6::is_site_local"><span class="bold"><strong>is_site_local</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is site local.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_unspecified.html" title="ip::address_v6::is_unspecified"><span class="bold"><strong>is_unspecified</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is unspecified.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_v4_compatible.html" title="ip::address_v6::is_v4_compatible"><span class="bold"><strong>is_v4_compatible</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is an IPv4-compatible address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/is_v4_mapped.html" title="ip::address_v6::is_v4_mapped"><span class="bold"><strong>is_v4_mapped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the address is a mapped IPv4 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/loopback.html" title="ip::address_v6::loopback"><span class="bold"><strong>loopback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an address object that represents the loopback address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_eq_.html" title="ip::address_v6::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/scope_id.html" title="ip::address_v6::scope_id"><span class="bold"><strong>scope_id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The scope ID of the address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/to_bytes.html" title="ip::address_v6::to_bytes"><span class="bold"><strong>to_bytes</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address in bytes, in network byte order.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/to_string.html" title="ip::address_v6::to_string"><span class="bold"><strong>to_string</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the address as a string.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/to_v4.html" title="ip::address_v6::to_v4"><span class="bold"><strong>to_v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Converts an IPv4-mapped or IPv4-compatible address to an IPv4 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/v4_compatible.html" title="ip::address_v6::v4_compatible"><span class="bold"><strong>v4_compatible</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an IPv4-compatible IPv6 address.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/v4_mapped.html" title="ip::address_v6::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an IPv4-mapped IPv6 address.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address_v6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.friends"></a></span><a class="link" href="ip__address_v6.html#boost_asio.reference.ip__address_v6.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_not__eq_.html" title="ip::address_v6::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two addresses for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_lt_.html" title="ip::address_v6::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_lt__eq_.html" title="ip::address_v6::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_eq__eq_.html" title="ip::address_v6::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two addresses for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_gt_.html" title="ip::address_v6::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_gt__eq_.html" title="ip::address_v6::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare addresses for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__address_v6.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.related_functions"></a></span><a class="link" href="ip__address_v6.html#boost_asio.reference.ip__address_v6.related_functions">Related Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__address_v6/operator_lt__lt_.html" title="ip::address_v6::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an address as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__address_v6.html" title="ip::address_v6"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v6</span></code></a>
+ class provides the ability to use and manipulate IP version 6 addresses.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__address_v6.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.thread_safety"></a></span><a class="link" href="ip__address_v6.html#boost_asio.reference.ip__address_v6.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__address_v6.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.requirements"></a></span><a class="link" href="ip__address_v6.html#boost_asio.reference.ip__address_v6.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__address_v4/to_ulong.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__address_v6/address_v6.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/address_v6.html b/doc/html/boost_asio/reference/ip__address_v6/address_v6.html
new file mode 100644
index 0000000000..366fccdbfa
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/address_v6.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::address_v6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="next" href="address_v6/overload1.html" title="ip::address_v6::address_v6 (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_v6/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.address_v6"></a><a class="link" href="address_v6.html" title="ip::address_v6::address_v6">ip::address_v6::address_v6</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147469824"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="address_v6/overload1.html" title="ip::address_v6::address_v6 (1 of 3 overloads)">address_v6</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v6/overload1.html" title="ip::address_v6::address_v6 (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an address from raw bytes and scope ID.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="address_v6/overload2.html" title="ip::address_v6::address_v6 (2 of 3 overloads)">address_v6</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">scope_id</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v6/overload2.html" title="ip::address_v6::address_v6 (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="address_v6/overload3.html" title="ip::address_v6::address_v6 (3 of 3 overloads)">address_v6</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address_v6/overload3.html" title="ip::address_v6::address_v6 (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__address_v6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address_v6/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload1.html b/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload1.html
new file mode 100644
index 0000000000..f7872fb89b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::address_v6 (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v6.html" title="ip::address_v6::address_v6">
+<link rel="prev" href="../address_v6.html" title="ip::address_v6::address_v6">
+<link rel="next" href="overload2.html" title="ip::address_v6::address_v6 (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../address_v6.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v6.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.address_v6.overload1"></a><a class="link" href="overload1.html" title="ip::address_v6::address_v6 (1 of 3 overloads)">ip::address_v6::address_v6
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v6</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../address_v6.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v6.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload2.html b/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload2.html
new file mode 100644
index 0000000000..f2dc26abb7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::address_v6 (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v6.html" title="ip::address_v6::address_v6">
+<link rel="prev" href="overload1.html" title="ip::address_v6::address_v6 (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="ip::address_v6::address_v6 (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v6.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.address_v6.overload2"></a><a class="link" href="overload2.html" title="ip::address_v6::address_v6 (2 of 3 overloads)">ip::address_v6::address_v6
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an address from raw bytes and scope ID.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v6</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">bytes_type</span> <span class="special">&amp;</span> <span class="identifier">bytes</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">scope_id</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v6.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload3.html b/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload3.html
new file mode 100644
index 0000000000..b43bf001f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/address_v6/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::address_v6 (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address_v6.html" title="ip::address_v6::address_v6">
+<link rel="prev" href="overload2.html" title="ip::address_v6::address_v6 (2 of 3 overloads)">
+<link rel="next" href="../any.html" title="ip::address_v6::any">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v6.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../any.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.address_v6.overload3"></a><a class="link" href="overload3.html" title="ip::address_v6::address_v6 (3 of 3 overloads)">ip::address_v6::address_v6
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v6</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address_v6.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../any.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/any.html b/doc/html/boost_asio/reference/ip__address_v6/any.html
new file mode 100644
index 0000000000..1e84f7e7b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/any.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::any</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="address_v6/overload3.html" title="ip::address_v6::address_v6 (3 of 3 overloads)">
+<link rel="next" href="bytes_type.html" title="ip::address_v6::bytes_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="address_v6/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.any"></a><a class="link" href="any.html" title="ip::address_v6::any">ip::address_v6::any</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147518736"></a>
+Obtain an address object that represents any address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">any</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="address_v6/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/bytes_type.html b/doc/html/boost_asio/reference/ip__address_v6/bytes_type.html
new file mode 100644
index 0000000000..efc4e58073
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/bytes_type.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::bytes_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="any.html" title="ip::address_v6::any">
+<link rel="next" href="from_string.html" title="ip::address_v6::from_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="any.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.bytes_type"></a><a class="link" href="bytes_type.html" title="ip::address_v6::bytes_type">ip::address_v6::bytes_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147525264"></a>
+The type used to represent an address as an array
+ of bytes.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">array</span><span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">,</span> <span class="number">16</span> <span class="special">&gt;</span> <span class="identifier">bytes_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.bytes_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.bytes_type.remarks"></a></span><a class="link" href="bytes_type.html#boost_asio.reference.ip__address_v6.bytes_type.remarks">Remarks</a>
+ </h6>
+<p>
+ This type is defined in terms of the C++0x template <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>
+ when it is available. Otherwise, it uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">:</span><span class="identifier">array</span></code>.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.bytes_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.bytes_type.requirements"></a></span><a class="link" href="bytes_type.html#boost_asio.reference.ip__address_v6.bytes_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="any.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/from_string.html b/doc/html/boost_asio/reference/ip__address_v6/from_string.html
new file mode 100644
index 0000000000..36344f5c4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/from_string.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::from_string</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="bytes_type.html" title="ip::address_v6::bytes_type">
+<link rel="next" href="from_string/overload1.html" title="ip::address_v6::from_string (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.from_string"></a><a class="link" href="from_string.html" title="ip::address_v6::from_string">ip::address_v6::from_string</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147549264"></a>
+Create an address from an IP address string.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="from_string/overload1.html" title="ip::address_v6::from_string (1 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload1.html" title="ip::address_v6::from_string (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="from_string/overload2.html" title="ip::address_v6::from_string (2 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload2.html" title="ip::address_v6::from_string (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="from_string/overload3.html" title="ip::address_v6::from_string (3 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload3.html" title="ip::address_v6::from_string (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">static</span> <span class="identifier">address_v6</span> <a class="link" href="from_string/overload4.html" title="ip::address_v6::from_string (4 of 4 overloads)">from_string</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="from_string/overload4.html" title="ip::address_v6::from_string (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="from_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/from_string/overload1.html b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload1.html
new file mode 100644
index 0000000000..463c1e950a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::from_string (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v6::from_string">
+<link rel="prev" href="../from_string.html" title="ip::address_v6::from_string">
+<link rel="next" href="overload2.html" title="ip::address_v6::from_string (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../from_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.from_string.overload1"></a><a class="link" href="overload1.html" title="ip::address_v6::from_string (1 of 4 overloads)">ip::address_v6::from_string
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../from_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/from_string/overload2.html b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload2.html
new file mode 100644
index 0000000000..e34ce4104d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::from_string (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v6::from_string">
+<link rel="prev" href="overload1.html" title="ip::address_v6::from_string (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::address_v6::from_string (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.from_string.overload2"></a><a class="link" href="overload2.html" title="ip::address_v6::from_string (2 of 4 overloads)">ip::address_v6::from_string
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/from_string/overload3.html b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload3.html
new file mode 100644
index 0000000000..d7e3f9b1c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::from_string (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v6::from_string">
+<link rel="prev" href="overload2.html" title="ip::address_v6::from_string (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::address_v6::from_string (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.from_string.overload3"></a><a class="link" href="overload3.html" title="ip::address_v6::from_string (3 of 4 overloads)">ip::address_v6::from_string
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/from_string/overload4.html b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload4.html
new file mode 100644
index 0000000000..879aa27e86
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/from_string/overload4.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::from_string (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../from_string.html" title="ip::address_v6::from_string">
+<link rel="prev" href="overload3.html" title="ip::address_v6::from_string (3 of 4 overloads)">
+<link rel="next" href="../is_link_local.html" title="ip::address_v6::is_link_local">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_link_local.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.from_string.overload4"></a><a class="link" href="overload4.html" title="ip::address_v6::from_string (4 of 4 overloads)">ip::address_v6::from_string
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an address from an IP address string.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">from_string</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">str</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../from_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_link_local.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_link_local.html b/doc/html/boost_asio/reference/ip__address_v6/is_link_local.html
new file mode 100644
index 0000000000..f613726d93
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_link_local.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_link_local</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="from_string/overload4.html" title="ip::address_v6::from_string (4 of 4 overloads)">
+<link rel="next" href="is_loopback.html" title="ip::address_v6::is_loopback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="from_string/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_link_local"></a><a class="link" href="is_link_local.html" title="ip::address_v6::is_link_local">ip::address_v6::is_link_local</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147641520"></a>
+Determine whether the address is link local.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_link_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="from_string/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_loopback.html b/doc/html/boost_asio/reference/ip__address_v6/is_loopback.html
new file mode 100644
index 0000000000..ef72e37380
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_loopback.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_loopback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_link_local.html" title="ip::address_v6::is_link_local">
+<link rel="next" href="is_multicast.html" title="ip::address_v6::is_multicast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_link_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_loopback"></a><a class="link" href="is_loopback.html" title="ip::address_v6::is_loopback">ip::address_v6::is_loopback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147648848"></a>
+Determine whether the address is a loopback address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_loopback</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_link_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_multicast.html b/doc/html/boost_asio/reference/ip__address_v6/is_multicast.html
new file mode 100644
index 0000000000..d4bd99d42d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_multicast.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_multicast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_loopback.html" title="ip::address_v6::is_loopback">
+<link rel="next" href="is_multicast_global.html" title="ip::address_v6::is_multicast_global">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_global.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_multicast"></a><a class="link" href="is_multicast.html" title="ip::address_v6::is_multicast">ip::address_v6::is_multicast</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147656032"></a>
+Determine whether the address is a multicast
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_global.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_multicast_global.html b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_global.html
new file mode 100644
index 0000000000..b0197aeb21
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_global.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_multicast_global</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_multicast.html" title="ip::address_v6::is_multicast">
+<link rel="next" href="is_multicast_link_local.html" title="ip::address_v6::is_multicast_link_local">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_link_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_multicast_global"></a><a class="link" href="is_multicast_global.html" title="ip::address_v6::is_multicast_global">ip::address_v6::is_multicast_global</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147663232"></a>
+Determine whether the address is a global
+ multicast address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_global</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_link_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_multicast_link_local.html b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_link_local.html
new file mode 100644
index 0000000000..8d8034ac40
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_link_local.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_multicast_link_local</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_multicast_global.html" title="ip::address_v6::is_multicast_global">
+<link rel="next" href="is_multicast_node_local.html" title="ip::address_v6::is_multicast_node_local">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast_global.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_node_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_multicast_link_local"></a><a class="link" href="is_multicast_link_local.html" title="ip::address_v6::is_multicast_link_local">ip::address_v6::is_multicast_link_local</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147670576"></a>
+Determine whether the address is a
+ link-local multicast address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_link_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast_global.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_node_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_multicast_node_local.html b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_node_local.html
new file mode 100644
index 0000000000..3500a854a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_node_local.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_multicast_node_local</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_multicast_link_local.html" title="ip::address_v6::is_multicast_link_local">
+<link rel="next" href="is_multicast_org_local.html" title="ip::address_v6::is_multicast_org_local">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast_link_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_org_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_multicast_node_local"></a><a class="link" href="is_multicast_node_local.html" title="ip::address_v6::is_multicast_node_local">ip::address_v6::is_multicast_node_local</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147677904"></a>
+Determine whether the address is a
+ node-local multicast address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_node_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast_link_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_org_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_multicast_org_local.html b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_org_local.html
new file mode 100644
index 0000000000..98b0d12c56
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_org_local.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_multicast_org_local</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_multicast_node_local.html" title="ip::address_v6::is_multicast_node_local">
+<link rel="next" href="is_multicast_site_local.html" title="ip::address_v6::is_multicast_site_local">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast_node_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_site_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_multicast_org_local"></a><a class="link" href="is_multicast_org_local.html" title="ip::address_v6::is_multicast_org_local">ip::address_v6::is_multicast_org_local</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147685168"></a>
+Determine whether the address is a
+ org-local multicast address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_org_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast_node_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_multicast_site_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_multicast_site_local.html b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_site_local.html
new file mode 100644
index 0000000000..f37d7a5314
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_multicast_site_local.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_multicast_site_local</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_multicast_org_local.html" title="ip::address_v6::is_multicast_org_local">
+<link rel="next" href="is_site_local.html" title="ip::address_v6::is_site_local">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast_org_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_site_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_multicast_site_local"></a><a class="link" href="is_multicast_site_local.html" title="ip::address_v6::is_multicast_site_local">ip::address_v6::is_multicast_site_local</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147692432"></a>
+Determine whether the address is a
+ site-local multicast address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_multicast_site_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast_org_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_site_local.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_site_local.html b/doc/html/boost_asio/reference/ip__address_v6/is_site_local.html
new file mode 100644
index 0000000000..f0516d6226
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_site_local.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_site_local</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_multicast_site_local.html" title="ip::address_v6::is_multicast_site_local">
+<link rel="next" href="is_unspecified.html" title="ip::address_v6::is_unspecified">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_multicast_site_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unspecified.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_site_local"></a><a class="link" href="is_site_local.html" title="ip::address_v6::is_site_local">ip::address_v6::is_site_local</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147699760"></a>
+Determine whether the address is site local.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_site_local</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_multicast_site_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_unspecified.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_unspecified.html b/doc/html/boost_asio/reference/ip__address_v6/is_unspecified.html
new file mode 100644
index 0000000000..4ad7dacb2a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_unspecified.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_unspecified</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_site_local.html" title="ip::address_v6::is_site_local">
+<link rel="next" href="is_v4_compatible.html" title="ip::address_v6::is_v4_compatible">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_site_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v4_compatible.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_unspecified"></a><a class="link" href="is_unspecified.html" title="ip::address_v6::is_unspecified">ip::address_v6::is_unspecified</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147706928"></a>
+Determine whether the address is unspecified.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_unspecified</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_site_local.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v4_compatible.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_v4_compatible.html b/doc/html/boost_asio/reference/ip__address_v6/is_v4_compatible.html
new file mode 100644
index 0000000000..78b393a5a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_v4_compatible.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_v4_compatible</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_unspecified.html" title="ip::address_v6::is_unspecified">
+<link rel="next" href="is_v4_mapped.html" title="ip::address_v6::is_v4_mapped">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unspecified.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_v4_compatible"></a><a class="link" href="is_v4_compatible.html" title="ip::address_v6::is_v4_compatible">ip::address_v6::is_v4_compatible</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147714032"></a>
+Determine whether the address is an IPv4-compatible
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v4_compatible</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_unspecified.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/is_v4_mapped.html b/doc/html/boost_asio/reference/ip__address_v6/is_v4_mapped.html
new file mode 100644
index 0000000000..6acfc68a28
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/is_v4_mapped.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::is_v4_mapped</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_v4_compatible.html" title="ip::address_v6::is_v4_compatible">
+<link rel="next" href="loopback.html" title="ip::address_v6::loopback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_v4_compatible.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.is_v4_mapped"></a><a class="link" href="is_v4_mapped.html" title="ip::address_v6::is_v4_mapped">ip::address_v6::is_v4_mapped</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147721232"></a>
+Determine whether the address is a mapped IPv4
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_v4_mapped</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_v4_compatible.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/loopback.html b/doc/html/boost_asio/reference/ip__address_v6/loopback.html
new file mode 100644
index 0000000000..02d1280a85
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/loopback.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::loopback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="is_v4_mapped.html" title="ip::address_v6::is_v4_mapped">
+<link rel="next" href="operator_not__eq_.html" title="ip::address_v6::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_v4_mapped.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.loopback"></a><a class="link" href="loopback.html" title="ip::address_v6::loopback">ip::address_v6::loopback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147728432"></a>
+Obtain an address object that represents the loopback
+ address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">loopback</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="is_v4_mapped.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_eq_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_eq_.html
new file mode 100644
index 0000000000..74007543cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_lt__eq_.html" title="ip::address_v6::operator&lt;=">
+<link rel="next" href="operator_eq__eq_.html" title="ip::address_v6::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_eq_"></a><a class="link" href="operator_eq_.html" title="ip::address_v6::operator=">ip::address_v6::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147828032"></a>
+Assign from another address.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_eq__eq_.html
new file mode 100644
index 0000000000..0397dabac4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_eq_.html" title="ip::address_v6::operator=">
+<link rel="next" href="operator_gt_.html" title="ip::address_v6::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::address_v6::operator==">ip::address_v6::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147837936"></a>
+Compare two addresses for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__address_v6.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_gt_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_gt_.html
new file mode 100644
index 0000000000..e51583afa2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::address_v6::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="ip::address_v6::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_gt_"></a><a class="link" href="operator_gt_.html" title="ip::address_v6::operator&gt;">ip::address_v6::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147856752"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.ip__address_v6.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_gt__eq_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_gt__eq_.html
new file mode 100644
index 0000000000..250e2dd898
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_gt_.html" title="ip::address_v6::operator&gt;">
+<link rel="next" href="scope_id.html" title="ip::address_v6::scope_id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scope_id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="ip::address_v6::operator&gt;=">ip::address_v6::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147875536"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.ip__address_v6.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scope_id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_lt_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_lt_.html
new file mode 100644
index 0000000000..28c511f936
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_not__eq_.html" title="ip::address_v6::operator!=">
+<link rel="next" href="operator_lt__lt_.html" title="ip::address_v6::operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_lt_"></a><a class="link" href="operator_lt_.html" title="ip::address_v6::operator&lt;">ip::address_v6::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147753904"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.ip__address_v6.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_lt__eq_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_lt__eq_.html
new file mode 100644
index 0000000000..3754f14c7f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_lt__lt_.html" title="ip::address_v6::operator&lt;&lt;">
+<link rel="next" href="operator_eq_.html" title="ip::address_v6::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="ip::address_v6::operator&lt;=">ip::address_v6::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147809232"></a>
+Compare addresses for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.ip__address_v6.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_.html
new file mode 100644
index 0000000000..f58bb2d555
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_lt__lt_.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator&lt;&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_lt_.html" title="ip::address_v6::operator&lt;">
+<link rel="next" href="operator_lt__eq_.html" title="ip::address_v6::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_lt__lt_"></a><a class="link" href="operator_lt__lt_.html" title="ip::address_v6::operator&lt;&lt;">ip::address_v6::operator&lt;&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147772688"></a>
+Output an address as a string.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Elem</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Traits</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+<p>
+ Used to output a human-readable string for a specified address.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.parameters"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__address_v6.operator_lt__lt_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">os</span></dt>
+<dd><p>
+ The output stream to which the string will be written.
+ </p></dd>
+<dt><span class="term">addr</span></dt>
+<dd><p>
+ The address to be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_lt__lt_.return_value"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__address_v6.operator_lt__lt_.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The output stream.
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__address_v6/operator_not__eq_.html
new file mode 100644
index 0000000000..4ef5706c58
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="loopback.html" title="ip::address_v6::loopback">
+<link rel="next" href="operator_lt_.html" title="ip::address_v6::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::address_v6::operator!=">ip::address_v6::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147735104"></a>
+Compare two addresses for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">address_v6</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__address_v6.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__address_v6.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__address_v6.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/address_v6.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="loopback.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/scope_id.html b/doc/html/boost_asio/reference/ip__address_v6/scope_id.html
new file mode 100644
index 0000000000..813ed221e6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/scope_id.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::scope_id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="operator_gt__eq_.html" title="ip::address_v6::operator&gt;=">
+<link rel="next" href="scope_id/overload1.html" title="ip::address_v6::scope_id (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scope_id/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.scope_id"></a><a class="link" href="scope_id.html" title="ip::address_v6::scope_id">ip::address_v6::scope_id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147894304"></a>
+The scope ID of the address.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">long</span> <a class="link" href="scope_id/overload1.html" title="ip::address_v6::scope_id (1 of 2 overloads)">scope_id</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="scope_id/overload1.html" title="ip::address_v6::scope_id (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">void</span> <a class="link" href="scope_id/overload2.html" title="ip::address_v6::scope_id (2 of 2 overloads)">scope_id</a><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">id</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="scope_id/overload2.html" title="ip::address_v6::scope_id (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scope_id/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/scope_id/overload1.html b/doc/html/boost_asio/reference/ip__address_v6/scope_id/overload1.html
new file mode 100644
index 0000000000..8ad98f9380
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/scope_id/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::scope_id (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../scope_id.html" title="ip::address_v6::scope_id">
+<link rel="prev" href="../scope_id.html" title="ip::address_v6::scope_id">
+<link rel="next" href="overload2.html" title="ip::address_v6::scope_id (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../scope_id.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope_id.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.scope_id.overload1"></a><a class="link" href="overload1.html" title="ip::address_v6::scope_id (1 of 2 overloads)">ip::address_v6::scope_id
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ The scope ID of the address.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">scope_id</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the scope ID associated with the IPv6 address.
+ </p>
+</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 &#169; 2003-2017 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="../scope_id.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope_id.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/scope_id/overload2.html b/doc/html/boost_asio/reference/ip__address_v6/scope_id/overload2.html
new file mode 100644
index 0000000000..9a5c302a08
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/scope_id/overload2.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::scope_id (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../scope_id.html" title="ip::address_v6::scope_id">
+<link rel="prev" href="overload1.html" title="ip::address_v6::scope_id (1 of 2 overloads)">
+<link rel="next" href="../to_bytes.html" title="ip::address_v6::to_bytes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope_id.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_bytes.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.scope_id.overload2"></a><a class="link" href="overload2.html" title="ip::address_v6::scope_id (2 of 2 overloads)">ip::address_v6::scope_id
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ The scope ID of the address.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">scope_id</span><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">id</span><span class="special">);</span>
+</pre>
+<p>
+ Modifies the scope ID associated with the IPv6 address.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope_id.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_bytes.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/to_bytes.html b/doc/html/boost_asio/reference/ip__address_v6/to_bytes.html
new file mode 100644
index 0000000000..592b686941
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/to_bytes.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::to_bytes</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="scope_id/overload2.html" title="ip::address_v6::scope_id (2 of 2 overloads)">
+<link rel="next" href="to_string.html" title="ip::address_v6::to_string">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="scope_id/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.to_bytes"></a><a class="link" href="to_bytes.html" title="ip::address_v6::to_bytes">ip::address_v6::to_bytes</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147924672"></a>
+Get the address in bytes, in network byte order.
+ </p>
+<pre class="programlisting"><span class="identifier">bytes_type</span> <span class="identifier">to_bytes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="scope_id/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/to_string.html b/doc/html/boost_asio/reference/ip__address_v6/to_string.html
new file mode 100644
index 0000000000..cb1fe18925
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/to_string.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::to_string</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="to_bytes.html" title="ip::address_v6::to_bytes">
+<link rel="next" href="to_string/overload1.html" title="ip::address_v6::to_string (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_bytes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.to_string"></a><a class="link" href="to_string.html" title="ip::address_v6::to_string">ip::address_v6::to_string</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147931952"></a>
+Get the address as a string.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="to_string/overload1.html" title="ip::address_v6::to_string (1 of 2 overloads)">to_string</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="to_string/overload1.html" title="ip::address_v6::to_string (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="to_string/overload2.html" title="ip::address_v6::to_string (2 of 2 overloads)">to_string</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="to_string/overload2.html" title="ip::address_v6::to_string (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="to_bytes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_string/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/to_string/overload1.html b/doc/html/boost_asio/reference/ip__address_v6/to_string/overload1.html
new file mode 100644
index 0000000000..1d229d5c83
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/to_string/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::to_string (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../to_string.html" title="ip::address_v6::to_string">
+<link rel="prev" href="../to_string.html" title="ip::address_v6::to_string">
+<link rel="next" href="overload2.html" title="ip::address_v6::to_string (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../to_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.to_string.overload1"></a><a class="link" href="overload1.html" title="ip::address_v6::to_string (1 of 2 overloads)">ip::address_v6::to_string
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the address as a string.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../to_string.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/to_string/overload2.html b/doc/html/boost_asio/reference/ip__address_v6/to_string/overload2.html
new file mode 100644
index 0000000000..9883fec003
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/to_string/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::to_string (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../to_string.html" title="ip::address_v6::to_string">
+<link rel="prev" href="overload1.html" title="ip::address_v6::to_string (1 of 2 overloads)">
+<link rel="next" href="../to_v4.html" title="ip::address_v6::to_v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_v4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__address_v6.to_string.overload2"></a><a class="link" href="overload2.html" title="ip::address_v6::to_string (2 of 2 overloads)">ip::address_v6::to_string
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the address as a string.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">to_string</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../to_string.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../to_v4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/to_v4.html b/doc/html/boost_asio/reference/ip__address_v6/to_v4.html
new file mode 100644
index 0000000000..1b37359375
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/to_v4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::to_v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="to_string/overload2.html" title="ip::address_v6::to_string (2 of 2 overloads)">
+<link rel="next" href="v4_compatible.html" title="ip::address_v6::v4_compatible">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_string/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_compatible.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.to_v4"></a><a class="link" href="to_v4.html" title="ip::address_v6::to_v4">ip::address_v6::to_v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147971136"></a>
+Converts an IPv4-mapped or IPv4-compatible address to
+ an IPv4 address.
+ </p>
+<pre class="programlisting"><span class="identifier">address_v4</span> <span class="identifier">to_v4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="to_string/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_compatible.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/v4_compatible.html b/doc/html/boost_asio/reference/ip__address_v6/v4_compatible.html
new file mode 100644
index 0000000000..380a7c6ea0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/v4_compatible.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::v4_compatible</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="to_v4.html" title="ip::address_v6::to_v4">
+<link rel="next" href="v4_mapped.html" title="ip::address_v6::v4_mapped">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="to_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.v4_compatible"></a><a class="link" href="v4_compatible.html" title="ip::address_v6::v4_compatible">ip::address_v6::v4_compatible</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147978352"></a>
+Create an IPv4-compatible IPv6 address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">v4_compatible</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="to_v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__address_v6/v4_mapped.html b/doc/html/boost_asio/reference/ip__address_v6/v4_mapped.html
new file mode 100644
index 0000000000..2a9ad4b7af
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__address_v6/v4_mapped.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::address_v6::v4_mapped</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__address_v6.html" title="ip::address_v6">
+<link rel="prev" href="v4_compatible.html" title="ip::address_v6::v4_compatible">
+<link rel="next" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="v4_compatible.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__address_v6.v4_mapped"></a><a class="link" href="v4_mapped.html" title="ip::address_v6::v4_mapped">ip::address_v6::v4_mapped</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp147988272"></a>
+Create an IPv4-mapped IPv6 address.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">address_v6</span> <span class="identifier">v4_mapped</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">address_v4</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="v4_compatible.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__address_v6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint.html b/doc/html/boost_asio/reference/ip__basic_endpoint.html
new file mode 100644
index 0000000000..d3b20afd2f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint.html
@@ -0,0 +1,410 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__address_v6/v4_mapped.html" title="ip::address_v6::v4_mapped">
+<link rel="next" href="ip__basic_endpoint/address.html" title="ip::basic_endpoint::address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__address_v6/v4_mapped.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_endpoint/address.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint"></a><a class="link" href="ip__basic_endpoint.html" title="ip::basic_endpoint">ip::basic_endpoint</a>
+</h3></div></div></div>
+<p>
+ Describes an endpoint for a version-independent IP socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__basic_endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.types"></a></span><a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/data_type.html" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on the
+ underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/protocol_type.html" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.member_functions"></a></span><a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/address.html" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the IP address associated with the endpoint.
+ </p>
+ <p>
+ Set the IP address associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using a port number, specified in the host's
+ byte order. The IP address will be the any address (i.e. INADDR_ANY
+ or in6addr_any). This constructor would typically be used for accepting
+ new connections.
+ </p>
+ <p>
+ Construct an endpoint using a port number and an IP address. This
+ constructor may be used for accepting connections on a specific
+ interface or for making a connection to a remote endpoint.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/capacity.html" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/data.html" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_eq_.html" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/port.html" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the port associated with the endpoint. The port number is always
+ in the host's byte order.
+ </p>
+ <p>
+ Set the port associated with the endpoint. The port number is always
+ in the host's byte order.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/protocol.html" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/resize.html" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/size.html" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.friends"></a></span><a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_not__eq_.html" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_lt_.html" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_eq__eq_.html" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_gt_.html" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.related_functions"></a></span><a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.related_functions">Related
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_endpoint/operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__basic_endpoint.html" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a>
+ class template describes an endpoint that may be associated with a particular
+ socket.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.thread_safety"></a></span><a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.thread_safety">Thread Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.requirements"></a></span><a class="link" href="ip__basic_endpoint.html#boost_asio.reference.ip__basic_endpoint.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__address_v6/v4_mapped.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_endpoint/address.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/address.html b/doc/html/boost_asio/reference/ip__basic_endpoint/address.html
new file mode 100644
index 0000000000..807359bd6c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/address.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="next" href="address/overload1.html" title="ip::basic_endpoint::address (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.address"></a><a class="link" href="address.html" title="ip::basic_endpoint::address">ip::basic_endpoint::address</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148112416"></a>
+Get the IP address associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <a class="link" href="address/overload1.html" title="ip::basic_endpoint::address (1 of 2 overloads)">address</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address/overload1.html" title="ip::basic_endpoint::address (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the IP address associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="address/overload2.html" title="ip::basic_endpoint::address (2 of 2 overloads)">address</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="address/overload2.html" title="ip::basic_endpoint::address (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="address/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/address/overload1.html b/doc/html/boost_asio/reference/ip__basic_endpoint/address/overload1.html
new file mode 100644
index 0000000000..7aa522200d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/address/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::address (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address.html" title="ip::basic_endpoint::address">
+<link rel="prev" href="../address.html" title="ip::basic_endpoint::address">
+<link rel="next" href="overload2.html" title="ip::basic_endpoint::address (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../address.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.address.overload1"></a><a class="link" href="overload1.html" title="ip::basic_endpoint::address (1 of 2 overloads)">ip::basic_endpoint::address
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the IP address associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="identifier">address</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../address.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/address/overload2.html b/doc/html/boost_asio/reference/ip__basic_endpoint/address/overload2.html
new file mode 100644
index 0000000000..624ab40441
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/address/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::address (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../address.html" title="ip::basic_endpoint::address">
+<link rel="prev" href="overload1.html" title="ip::basic_endpoint::address (1 of 2 overloads)">
+<link rel="next" href="../basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.address.overload2"></a><a class="link" href="overload2.html" title="ip::basic_endpoint::address (2 of 2 overloads)">ip::basic_endpoint::address
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the IP address associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">address</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../address.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint.html b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint.html
new file mode 100644
index 0000000000..cb114bbeaa
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::basic_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="address/overload2.html" title="ip::basic_endpoint::address (2 of 2 overloads)">
+<link rel="next" href="basic_endpoint/overload1.html" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="address/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint"></a><a class="link" href="basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">ip::basic_endpoint::basic_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148156432"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload1.html" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">basic_endpoint</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload1.html" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an endpoint using a port number, specified in the host's byte
+ order. The IP address will be the any address (i.e. INADDR_ANY or in6addr_any).
+ This constructor would typically be used for accepting new connections.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload2.html" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">InternetProtocol</span> <span class="special">&amp;</span> <span class="identifier">internet_protocol</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload2.html" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an endpoint using a port number and an IP address. This constructor
+ may be used for accepting connections on a specific interface or for making
+ a connection to a remote endpoint.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload3.html" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload3.html" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload4.html" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload4.html" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="address/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload1.html b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload1.html
new file mode 100644
index 0000000000..43b2d340d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::basic_endpoint (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">
+<link rel="prev" href="../basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">
+<link rel="next" href="overload2.html" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload1"></a><a class="link" href="overload1.html" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">ip::basic_endpoint::basic_endpoint
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload2.html b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload2.html
new file mode 100644
index 0000000000..f306b3fb1b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload2.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::basic_endpoint (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload1.html" title="ip::basic_endpoint::basic_endpoint (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2"></a><a class="link" href="overload2.html" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">ip::basic_endpoint::basic_endpoint
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an endpoint using a port number, specified in the host's byte
+ order. The IP address will be the any address (i.e. INADDR_ANY or in6addr_any).
+ This constructor would typically be used for accepting new connections.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">InternetProtocol</span> <span class="special">&amp;</span> <span class="identifier">internet_protocol</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2.examples"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload2.examples">Examples</a>
+ </h6>
+<p>
+ To initialise an IPv4 TCP endpoint for port 1234, use:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">ep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">1234</span><span class="special">);</span>
+</pre>
+<p>
+ To specify an IPv6 UDP endpoint for port 9876, use:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">ep</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v6</span><span class="special">(),</span> <span class="number">9876</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload3.html b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload3.html
new file mode 100644
index 0000000000..776dfa5cb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload3.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::basic_endpoint (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload2.html" title="ip::basic_endpoint::basic_endpoint (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload3"></a><a class="link" href="overload3.html" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">ip::basic_endpoint::basic_endpoint
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an endpoint using a port number and an IP address. This constructor
+ may be used for accepting connections on a specific interface or for
+ making a connection to a remote endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="special">&amp;</span> <span class="identifier">addr</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload4.html b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload4.html
new file mode 100644
index 0000000000..6f0e153bbf
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/basic_endpoint/overload4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::basic_endpoint (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload3.html" title="ip::basic_endpoint::basic_endpoint (3 of 4 overloads)">
+<link rel="next" href="../capacity.html" title="ip::basic_endpoint::capacity">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../capacity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.basic_endpoint.overload4"></a><a class="link" href="overload4.html" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">ip::basic_endpoint::basic_endpoint
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../capacity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/capacity.html b/doc/html/boost_asio/reference/ip__basic_endpoint/capacity.html
new file mode 100644
index 0000000000..0f164db860
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/capacity.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::capacity</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="basic_endpoint/overload4.html" title="ip::basic_endpoint::basic_endpoint (4 of 4 overloads)">
+<link rel="next" href="data.html" title="ip::basic_endpoint::data">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_endpoint/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.capacity"></a><a class="link" href="capacity.html" title="ip::basic_endpoint::capacity">ip::basic_endpoint::capacity</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148259920"></a>
+Get the capacity of the endpoint in the native
+ type.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">capacity</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="basic_endpoint/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/data.html b/doc/html/boost_asio/reference/ip__basic_endpoint/data.html
new file mode 100644
index 0000000000..6ea0f5c1cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/data.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::data</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="capacity.html" title="ip::basic_endpoint::capacity">
+<link rel="next" href="data/overload1.html" title="ip::basic_endpoint::data (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="capacity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.data"></a><a class="link" href="data.html" title="ip::basic_endpoint::data">ip::basic_endpoint::data</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148268240"></a>
+Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="data/overload1.html" title="ip::basic_endpoint::data (1 of 2 overloads)">data</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="data/overload1.html" title="ip::basic_endpoint::data (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="data/overload2.html" title="ip::basic_endpoint::data (2 of 2 overloads)">data</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="data/overload2.html" title="ip::basic_endpoint::data (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="capacity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/data/overload1.html b/doc/html/boost_asio/reference/ip__basic_endpoint/data/overload1.html
new file mode 100644
index 0000000000..aaa3894a0c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/data/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::data (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../data.html" title="ip::basic_endpoint::data">
+<link rel="prev" href="../data.html" title="ip::basic_endpoint::data">
+<link rel="next" href="overload2.html" title="ip::basic_endpoint::data (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.data.overload1"></a><a class="link" href="overload1.html" title="ip::basic_endpoint::data (1 of 2 overloads)">ip::basic_endpoint::data
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/data/overload2.html b/doc/html/boost_asio/reference/ip__basic_endpoint/data/overload2.html
new file mode 100644
index 0000000000..ab724e7303
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/data/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::data (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../data.html" title="ip::basic_endpoint::data">
+<link rel="prev" href="overload1.html" title="ip::basic_endpoint::data (1 of 2 overloads)">
+<link rel="next" href="../data_type.html" title="ip::basic_endpoint::data_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../data_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.data.overload2"></a><a class="link" href="overload2.html" title="ip::basic_endpoint::data (2 of 2 overloads)">ip::basic_endpoint::data
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../data_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/data_type.html b/doc/html/boost_asio/reference/ip__basic_endpoint/data_type.html
new file mode 100644
index 0000000000..d80b7b3980
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/data_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::data_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="data/overload2.html" title="ip::basic_endpoint::data (2 of 2 overloads)">
+<link rel="next" href="operator_not__eq_.html" title="ip::basic_endpoint::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.data_type"></a><a class="link" href="data_type.html" title="ip::basic_endpoint::data_type">ip::basic_endpoint::data_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148295376"></a>
+The type of the endpoint structure. This type
+ is dependent on the underlying implementation of the socket layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">data_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.data_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.data_type.requirements"></a></span><a class="link" href="data_type.html#boost_asio.reference.ip__basic_endpoint.data_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="data/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_.html
new file mode 100644
index 0000000000..0684512483
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;=">
+<link rel="next" href="operator_eq__eq_.html" title="ip::basic_endpoint::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_eq_"></a><a class="link" href="operator_eq_.html" title="ip::basic_endpoint::operator=">ip::basic_endpoint::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148409216"></a>
+Assign from another endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq__eq_.html
new file mode 100644
index 0000000000..80785752bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_eq_.html" title="ip::basic_endpoint::operator=">
+<link rel="next" href="operator_gt_.html" title="ip::basic_endpoint::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::basic_endpoint::operator==">ip::basic_endpoint::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148419200"></a>
+Compare two endpoints for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__basic_endpoint.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt_.html
new file mode 100644
index 0000000000..6f6c83be2f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::basic_endpoint::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_gt_"></a><a class="link" href="operator_gt_.html" title="ip::basic_endpoint::operator&gt;">ip::basic_endpoint::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148441872"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.ip__basic_endpoint.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt__eq_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt__eq_.html
new file mode 100644
index 0000000000..8469ded87c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_gt_.html" title="ip::basic_endpoint::operator&gt;">
+<link rel="next" href="port.html" title="ip::basic_endpoint::port">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;=">ip::basic_endpoint::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148464480"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.ip__basic_endpoint.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt_.html
new file mode 100644
index 0000000000..2d3acfd90d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_not__eq_.html" title="ip::basic_endpoint::operator!=">
+<link rel="next" href="operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt_"></a><a class="link" href="operator_lt_.html" title="ip::basic_endpoint::operator&lt;">ip::basic_endpoint::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148330576"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.ip__basic_endpoint.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__eq_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__eq_.html
new file mode 100644
index 0000000000..27694b53ae
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;">
+<link rel="next" href="operator_eq_.html" title="ip::basic_endpoint::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;=">ip::basic_endpoint::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148386560"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.ip__basic_endpoint.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__lt_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__lt_.html
new file mode 100644
index 0000000000..3b2c9e9203
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_lt__lt_.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator&lt;&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_lt_.html" title="ip::basic_endpoint::operator&lt;">
+<link rel="next" href="operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_"></a><a class="link" href="operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;">ip::basic_endpoint::operator&lt;&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148353184"></a>
+Output an endpoint as a string.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ Used to output a human-readable string for a specified endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.parameters"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">os</span></dt>
+<dd><p>
+ The output stream to which the string will be written.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ The endpoint to be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.return_value"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.ip__basic_endpoint.operator_lt__lt_.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The output stream.
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_not__eq_.html
new file mode 100644
index 0000000000..24321456af
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="data_type.html" title="ip::basic_endpoint::data_type">
+<link rel="next" href="operator_lt_.html" title="ip::basic_endpoint::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::basic_endpoint::operator!=">ip::basic_endpoint::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148307760"></a>
+Compare two endpoints for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__basic_endpoint.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="data_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/port.html b/doc/html/boost_asio/reference/ip__basic_endpoint/port.html
new file mode 100644
index 0000000000..e3ea372f99
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/port.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::port</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;=">
+<link rel="next" href="port/overload1.html" title="ip::basic_endpoint::port (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.port"></a><a class="link" href="port.html" title="ip::basic_endpoint::port">ip::basic_endpoint::port</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148487280"></a>
+Get the port associated with the endpoint. The port
+ number is always in the host's byte order.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">short</span> <a class="link" href="port/overload1.html" title="ip::basic_endpoint::port (1 of 2 overloads)">port</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="port/overload1.html" title="ip::basic_endpoint::port (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the port associated with the endpoint. The port number is always in
+ the host's byte order.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="port/overload2.html" title="ip::basic_endpoint::port (2 of 2 overloads)">port</a><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="port/overload2.html" title="ip::basic_endpoint::port (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/port/overload1.html b/doc/html/boost_asio/reference/ip__basic_endpoint/port/overload1.html
new file mode 100644
index 0000000000..9288266d4f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/port/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::port (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../port.html" title="ip::basic_endpoint::port">
+<link rel="prev" href="../port.html" title="ip::basic_endpoint::port">
+<link rel="next" href="overload2.html" title="ip::basic_endpoint::port (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../port.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.port.overload1"></a><a class="link" href="overload1.html" title="ip::basic_endpoint::port (1 of 2 overloads)">ip::basic_endpoint::port
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the port associated with the endpoint. The port number is always
+ in the host's byte order.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../port.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/port/overload2.html b/doc/html/boost_asio/reference/ip__basic_endpoint/port/overload2.html
new file mode 100644
index 0000000000..e81484c6c4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/port/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::port (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../port.html" title="ip::basic_endpoint::port">
+<link rel="prev" href="overload1.html" title="ip::basic_endpoint::port (1 of 2 overloads)">
+<link rel="next" href="../protocol.html" title="ip::basic_endpoint::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.port.overload2"></a><a class="link" href="overload2.html" title="ip::basic_endpoint::port (2 of 2 overloads)">ip::basic_endpoint::port
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the port associated with the endpoint. The port number is always
+ in the host's byte order.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">port</span><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">port_num</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../port.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/protocol.html b/doc/html/boost_asio/reference/ip__basic_endpoint/protocol.html
new file mode 100644
index 0000000000..a853a9e8ab
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="port/overload2.html" title="ip::basic_endpoint::port (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="ip::basic_endpoint::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="port/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.protocol"></a><a class="link" href="protocol.html" title="ip::basic_endpoint::protocol">ip::basic_endpoint::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148518288"></a>
+The protocol associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">protocol_type</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="port/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/protocol_type.html b/doc/html/boost_asio/reference/ip__basic_endpoint/protocol_type.html
new file mode 100644
index 0000000000..71e678f634
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="protocol.html" title="ip::basic_endpoint::protocol">
+<link rel="next" href="resize.html" title="ip::basic_endpoint::resize">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resize.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.protocol_type"></a><a class="link" href="protocol_type.html" title="ip::basic_endpoint::protocol_type">ip::basic_endpoint::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148525456"></a>
+The protocol type associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_endpoint.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_endpoint.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.ip__basic_endpoint.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resize.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/resize.html b/doc/html/boost_asio/reference/ip__basic_endpoint/resize.html
new file mode 100644
index 0000000000..08d31b8153
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/resize.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::resize</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="protocol_type.html" title="ip::basic_endpoint::protocol_type">
+<link rel="next" href="size.html" title="ip::basic_endpoint::size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.resize"></a><a class="link" href="resize.html" title="ip::basic_endpoint::resize">ip::basic_endpoint::resize</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148537824"></a>
+Set the underlying size of the endpoint in the
+ native type.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resize</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">new_size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_endpoint/size.html b/doc/html/boost_asio/reference/ip__basic_endpoint/size.html
new file mode 100644
index 0000000000..08fa19aa44
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_endpoint/size.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_endpoint::size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_endpoint.html" title="ip::basic_endpoint">
+<link rel="prev" href="resize.html" title="ip::basic_endpoint::resize">
+<link rel="next" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resize.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_endpoint.size"></a><a class="link" href="size.html" title="ip::basic_endpoint::size">ip::basic_endpoint::size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148546768"></a>
+Get the underlying size of the endpoint in the native
+ type.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="resize.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver.html b/doc/html/boost_asio/reference/ip__basic_resolver.html
new file mode 100644
index 0000000000..eecb488407
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver.html
@@ -0,0 +1,365 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__basic_endpoint/size.html" title="ip::basic_endpoint::size">
+<link rel="next" href="ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__basic_endpoint/size.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver/async_resolve.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__basic_resolver"></a><a class="link" href="ip__basic_resolver.html" title="ip::basic_resolver">ip::basic_resolver</a>
+</h3></div></div></div>
+<p>
+ Provides endpoint resolution functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ResolverService.html" title="Resolver service requirements">ResolverService</a> <span class="special">=</span> <span class="identifier">resolver_service</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_resolver</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">ResolverService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.types"></a></span><a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/endpoint_type.html" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/implementation_type.html" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/protocol_type.html" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/query.html" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The query type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/service_type.html" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.member_functions"></a></span><a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Asynchronously perform forward resolution of a query to a list
+ of entries.
+ </p>
+ <p>
+ Asynchronously perform reverse resolution of an endpoint to a list
+ of entries.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/basic_resolver.html" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/cancel.html" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the resolver.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/get_io_service.html" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform forward resolution of a query to a list of entries.
+ </p>
+ <p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.protected_member_functions"></a></span><a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/get_implementation.html" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/get_service.html" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.protected_data_members"></a></span><a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/implementation.html" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver/service.html" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__basic_resolver.html" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a>
+ class template provides the ability to resolve a query to a list of endpoints.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.thread_safety"></a></span><a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.thread_safety">Thread Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.requirements"></a></span><a class="link" href="ip__basic_resolver.html#boost_asio.reference.ip__basic_resolver.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__basic_endpoint/size.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver/async_resolve.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve.html b/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve.html
new file mode 100644
index 0000000000..6f0be2d071
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::async_resolve</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="next" href="async_resolve/overload1.html" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve"></a><a class="link" href="async_resolve.html" title="ip::basic_resolver::async_resolve">ip::basic_resolver::async_resolve</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148664944"></a>
+Asynchronously perform forward resolution
+ of a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_resolve/overload1.html" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">async_resolve</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_resolve/overload1.html" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Asynchronously perform reverse resolution of an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_resolve/overload2.html" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">async_resolve</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_resolve/overload2.html" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload1.html
new file mode 100644
index 0000000000..4491e09f50
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload1.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::async_resolve (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_resolve.html" title="ip::basic_resolver::async_resolve">
+<link rel="prev" href="../async_resolve.html" title="ip::basic_resolver::async_resolve">
+<link rel="next" href="overload2.html" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">ip::basic_resolver::async_resolve
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Asynchronously perform forward resolution of a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously resolve a query into a list of
+ endpoint entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">q</span></dt>
+<dd><p>
+ A query object that determines what endpoints will be returned.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the resolve operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span> <span class="comment">// Forward-only iterator that can</span>
+ <span class="comment">// be used to traverse the list</span>
+ <span class="comment">// of endpoint entries.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ A default constructed iterator represents the end of the list.
+ </p>
+<p>
+ A successful resolve operation is guaranteed to pass at least one entry
+ to the handler.
+ </p>
+</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 &#169; 2003-2017 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="../async_resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload2.html
new file mode 100644
index 0000000000..5958d6b0bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/async_resolve/overload2.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::async_resolve (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_resolve.html" title="ip::basic_resolver::async_resolve">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver::async_resolve (1 of 2 overloads)">
+<link rel="next" href="../basic_resolver.html" title="ip::basic_resolver::basic_resolver">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_resolver.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">ip::basic_resolver::async_resolve
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Asynchronously perform reverse resolution of an endpoint to a list of
+ entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously resolve an endpoint into a list
+ of endpoint entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">e</span></dt>
+<dd><p>
+ An endpoint object that determines what endpoints will be returned.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the resolve operation completes.
+ Copies will be made of the handler as required. The function signature
+ of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span> <span class="comment">// Forward-only iterator that can</span>
+ <span class="comment">// be used to traverse the list</span>
+ <span class="comment">// of endpoint entries.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.async_resolve.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.async_resolve.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ A default constructed iterator represents the end of the list.
+ </p>
+<p>
+ A successful resolve operation is guaranteed to pass at least one entry
+ to the handler.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_resolver.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver.html b/doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver.html
new file mode 100644
index 0000000000..7b84dbe51c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/basic_resolver.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::basic_resolver</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="async_resolve/overload2.html" title="ip::basic_resolver::async_resolve (2 of 2 overloads)">
+<link rel="next" href="cancel.html" title="ip::basic_resolver::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_resolve/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.basic_resolver"></a><a class="link" href="basic_resolver.html" title="ip::basic_resolver::basic_resolver">ip::basic_resolver::basic_resolver</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148783536"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a <a class="link" href="../ip__basic_resolver.html" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a>.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.basic_resolver.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.basic_resolver.parameters"></a></span><a class="link" href="basic_resolver.html#boost_asio.reference.ip__basic_resolver.basic_resolver.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the
+ resolver will use to dispatch handlers for any asynchronous operations
+ performed on the timer.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="async_resolve/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/cancel.html b/doc/html/boost_asio/reference/ip__basic_resolver/cancel.html
new file mode 100644
index 0000000000..612f1e56d2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/cancel.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="basic_resolver.html" title="ip::basic_resolver::basic_resolver">
+<link rel="next" href="endpoint_type.html" title="ip::basic_resolver::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.cancel"></a><a class="link" href="cancel.html" title="ip::basic_resolver::cancel">ip::basic_resolver::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148803952"></a>
+Cancel any asynchronous operations that are waiting
+ on the resolver.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function forces the completion of any pending asynchronous operations
+ on the host resolver. The handler for each cancelled operation will be
+ invoked with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
+ error code.
+ </p>
+</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 &#169; 2003-2017 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="basic_resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/endpoint_type.html b/doc/html/boost_asio/reference/ip__basic_resolver/endpoint_type.html
new file mode 100644
index 0000000000..b652156763
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="cancel.html" title="ip::basic_resolver::cancel">
+<link rel="next" href="get_implementation.html" title="ip::basic_resolver::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.endpoint_type"></a><a class="link" href="endpoint_type.html" title="ip::basic_resolver::endpoint_type">ip::basic_resolver::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148815088"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.ip__basic_resolver.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation.html
new file mode 100644
index 0000000000..2b07a36633
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="endpoint_type.html" title="ip::basic_resolver::endpoint_type">
+<link rel="next" href="get_implementation/overload1.html" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_implementation"></a><a class="link" href="get_implementation.html" title="ip::basic_resolver::get_implementation">ip::basic_resolver::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148828384"></a>
+Get the underlying implementation of
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload1.html
new file mode 100644
index 0000000000..1aee0f0216
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="ip::basic_resolver::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="ip::basic_resolver::get_implementation">
+<link rel="next" href="overload2.html" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_implementation.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">ip::basic_resolver::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload2.html
new file mode 100644
index 0000000000..6bf9d335b3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="ip::basic_resolver::get_implementation">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="ip::basic_resolver::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_implementation.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">ip::basic_resolver::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_io_service.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_io_service.html
new file mode 100644
index 0000000000..57f36fd5c6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="get_implementation/overload2.html" title="ip::basic_resolver::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="ip::basic_resolver::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_io_service"></a><a class="link" href="get_io_service.html" title="ip::basic_resolver::get_io_service">ip::basic_resolver::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp148858432"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.ip__basic_resolver.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_service.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_service.html
new file mode 100644
index 0000000000..d4adb73de3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="get_io_service.html" title="ip::basic_resolver::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="ip::basic_resolver::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_service"></a><a class="link" href="get_service.html" title="ip::basic_resolver::get_service">ip::basic_resolver::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148876656"></a>
+Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="ip::basic_resolver::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="ip::basic_resolver::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="ip::basic_resolver::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="ip::basic_resolver::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload1.html
new file mode 100644
index 0000000000..054b455ca1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="ip::basic_resolver::get_service">
+<link rel="prev" href="../get_service.html" title="ip::basic_resolver::get_service">
+<link rel="next" href="overload2.html" title="ip::basic_resolver::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_service.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver::get_service (1 of 2 overloads)">ip::basic_resolver::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload2.html
new file mode 100644
index 0000000000..b54af79a9f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="ip::basic_resolver::get_service">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="ip::basic_resolver::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.get_service.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver::get_service (2 of 2 overloads)">ip::basic_resolver::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/implementation.html b/doc/html/boost_asio/reference/ip__basic_resolver/implementation.html
new file mode 100644
index 0000000000..bd377fdec5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="get_service/overload2.html" title="ip::basic_resolver::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="ip::basic_resolver::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.implementation"></a><a class="link" href="implementation.html" title="ip::basic_resolver::implementation">ip::basic_resolver::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp148906592"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/implementation_type.html b/doc/html/boost_asio/reference/ip__basic_resolver/implementation_type.html
new file mode 100644
index 0000000000..e83859f7fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="implementation.html" title="ip::basic_resolver::implementation">
+<link rel="next" href="iterator.html" title="ip::basic_resolver::iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.implementation_type"></a><a class="link" href="implementation_type.html" title="ip::basic_resolver::implementation_type">ip::basic_resolver::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp148915312"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.ip__basic_resolver.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/iterator.html b/doc/html/boost_asio/reference/ip__basic_resolver/iterator.html
new file mode 100644
index 0000000000..cf5fe75aa7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/iterator.html
@@ -0,0 +1,307 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::iterator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="implementation_type.html" title="ip::basic_resolver::implementation_type">
+<link rel="next" href="protocol_type.html" title="ip::basic_resolver::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.iterator"></a><a class="link" href="iterator.html" title="ip::basic_resolver::iterator">ip::basic_resolver::iterator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp148928816"></a>
+The iterator type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.types"></a></span><a class="link" href="iterator.html#boost_asio.reference.ip__basic_resolver.iterator.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/difference_type.html" title="ip::basic_resolver_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used for the distance between two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/iterator_category.html" title="ip::basic_resolver_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator category.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/pointer.html" title="ip::basic_resolver_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator-&gt;() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/reference.html" title="ip::basic_resolver_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator*() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/value_type.html" title="ip::basic_resolver_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the value pointed to by the iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.iterator.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.member_functions"></a></span><a class="link" href="iterator.html#boost_asio.reference.ip__basic_resolver.iterator.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/basic_resolver_iterator.html" title="ip::basic_resolver_iterator::basic_resolver_iterator"><span class="bold"><strong>basic_resolver_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor creates an end iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/create.html" title="ip::basic_resolver_iterator::create"><span class="bold"><strong>create</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an iterator from an addrinfo list returned by getaddrinfo.
+ </p>
+ <p>
+ Create an iterator from an endpoint, host name and service name.
+ </p>
+ <p>
+ Create an iterator from a sequence of endpoints, host and service
+ name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator__star_.html" title="ip::basic_resolver_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Increment operator (prefix).
+ </p>
+ <p>
+ Increment operator (postfix).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_arrow_.html" title="ip::basic_resolver_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.iterator.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.friends"></a></span><a class="link" href="iterator.html#boost_asio.reference.ip__basic_resolver.iterator.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_not__eq_.html" title="ip::basic_resolver_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_eq__eq_.html" title="ip::basic_resolver_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span></code></a> class
+ template is used to define iterators over the results returned by a resolver.
+ </p>
+<p>
+ The iterator's value_type, obtained when the iterator is dereferenced,
+ is:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.iterator.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.thread_safety"></a></span><a class="link" href="iterator.html#boost_asio.reference.ip__basic_resolver.iterator.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.iterator.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.iterator.requirements"></a></span><a class="link" href="iterator.html#boost_asio.reference.ip__basic_resolver.iterator.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/protocol_type.html b/doc/html/boost_asio/reference/ip__basic_resolver/protocol_type.html
new file mode 100644
index 0000000000..673217dc0f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="iterator.html" title="ip::basic_resolver::iterator">
+<link rel="next" href="query.html" title="ip::basic_resolver::query">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.protocol_type"></a><a class="link" href="protocol_type.html" title="ip::basic_resolver::protocol_type">ip::basic_resolver::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149019664"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.ip__basic_resolver.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/query.html b/doc/html/boost_asio/reference/ip__basic_resolver/query.html
new file mode 100644
index 0000000000..b6647caa09
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/query.html
@@ -0,0 +1,320 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::query</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="protocol_type.html" title="ip::basic_resolver::protocol_type">
+<link rel="next" href="resolve.html" title="ip::basic_resolver::resolve">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.query"></a><a class="link" href="query.html" title="ip::basic_resolver::query">ip::basic_resolver::query</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149031920"></a>
+The query type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_query</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">query</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.query.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.types"></a></span><a class="link" href="query.html#boost_asio.reference.ip__basic_resolver.query.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/flags.html" title="ip::basic_resolver_query::flags"><span class="bold"><strong>flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A bitmask type (C++ Std [lib.bitmask.types]).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/protocol_type.html" title="ip::basic_resolver_query::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint query.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.query.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.member_functions"></a></span><a class="link" href="query.html#boost_asio.reference.ip__basic_resolver.query.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query"><span class="bold"><strong>basic_resolver_query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct with specified service name for any protocol.
+ </p>
+ <p>
+ Construct with specified service name for a given protocol.
+ </p>
+ <p>
+ Construct with specified host name and service name for any protocol.
+ </p>
+ <p>
+ Construct with specified host name and service name for a given
+ protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/hints.html" title="ip::basic_resolver_query::hints"><span class="bold"><strong>hints</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the hints associated with the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/host_name.html" title="ip::basic_resolver_query::host_name"><span class="bold"><strong>host_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the host name associated with the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/service_name.html" title="ip::basic_resolver_query::service_name"><span class="bold"><strong>service_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service name associated with the query.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.query.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.data_members"></a></span><a class="link" href="query.html#boost_asio.reference.ip__basic_resolver.query.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/address_configured.html" title="ip::basic_resolver_query::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Only return IPv4 addresses if a non-loopback IPv4 address is
+ configured for the system. Only return IPv6 addresses if a non-loopback
+ IPv6 address is configured for the system.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/all_matching.html" title="ip::basic_resolver_query::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/canonical_name.html" title="ip::basic_resolver_query::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the canonical name of the host specified in the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/numeric_host.html" title="ip::basic_resolver_query::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Host name should be treated as a numeric string defining an IPv4
+ or IPv6 address and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/numeric_service.html" title="ip::basic_resolver_query::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Service name should be treated as a numeric string defining a
+ port number and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/passive.html" title="ip::basic_resolver_query::passive"><span class="bold"><strong>passive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Indicate that returned endpoint is intended for use as a locally
+ bound socket endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/v4_mapped.html" title="ip::basic_resolver_query::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If the query protocol family is specified as IPv6, return IPv4-mapped
+ IPv6 addresses on finding no IPv6 addresses.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a> class template
+ describes a query that can be passed to a resolver.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.query.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.thread_safety"></a></span><a class="link" href="query.html#boost_asio.reference.ip__basic_resolver.query.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.query.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.query.requirements"></a></span><a class="link" href="query.html#boost_asio.reference.ip__basic_resolver.query.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/resolve.html b/doc/html/boost_asio/reference/ip__basic_resolver/resolve.html
new file mode 100644
index 0000000000..4ef31b0bd8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/resolve.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::resolve</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="query.html" title="ip::basic_resolver::query">
+<link rel="next" href="resolve/overload1.html" title="ip::basic_resolver::resolve (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="query.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.resolve"></a><a class="link" href="resolve.html" title="ip::basic_resolver::resolve">ip::basic_resolver::resolve</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149122272"></a>
+Perform forward resolution of a query to a list
+ of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator</span> <a class="link" href="resolve/overload1.html" title="ip::basic_resolver::resolve (1 of 4 overloads)">resolve</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="resolve/overload1.html" title="ip::basic_resolver::resolve (1 of 4 overloads)">more...</a></em></span>
+
+<span class="identifier">iterator</span> <a class="link" href="resolve/overload2.html" title="ip::basic_resolver::resolve (2 of 4 overloads)">resolve</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="resolve/overload2.html" title="ip::basic_resolver::resolve (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator</span> <a class="link" href="resolve/overload3.html" title="ip::basic_resolver::resolve (3 of 4 overloads)">resolve</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="resolve/overload3.html" title="ip::basic_resolver::resolve (3 of 4 overloads)">more...</a></em></span>
+
+<span class="identifier">iterator</span> <a class="link" href="resolve/overload4.html" title="ip::basic_resolver::resolve (4 of 4 overloads)">resolve</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="resolve/overload4.html" title="ip::basic_resolver::resolve (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="query.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload1.html
new file mode 100644
index 0000000000..a950e7050a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload1.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::resolve (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../resolve.html" title="ip::basic_resolver::resolve">
+<link rel="prev" href="../resolve.html" title="ip::basic_resolver::resolve">
+<link rel="next" href="overload2.html" title="ip::basic_resolver::resolve (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver::resolve (1 of 4 overloads)">ip::basic_resolver::resolve
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform forward resolution of a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to resolve a query into a list of endpoint entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">q</span></dt>
+<dd><p>
+ A query object that determines what endpoints will be returned.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A forward-only iterator that can be used to traverse the list of endpoint
+ entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver.resolve.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ A default constructed iterator represents the end of the list.
+ </p>
+<p>
+ A successful call to this function is guaranteed to return at least one
+ entry.
+ </p>
+</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 &#169; 2003-2017 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="../resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload2.html
new file mode 100644
index 0000000000..c1e8250958
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::resolve (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../resolve.html" title="ip::basic_resolver::resolve">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver::resolve (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::basic_resolver::resolve (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver::resolve (2 of 4 overloads)">ip::basic_resolver::resolve
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform forward resolution of a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">query</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to resolve a query into a list of endpoint entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.resolve.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">q</span></dt>
+<dd><p>
+ A query object that determines what endpoints will be returned.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.resolve.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A forward-only iterator that can be used to traverse the list of endpoint
+ entries. Returns a default constructed iterator if an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver.resolve.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ A default constructed iterator represents the end of the list.
+ </p>
+<p>
+ A successful call to this function is guaranteed to return at least one
+ entry.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload3.html b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload3.html
new file mode 100644
index 0000000000..ae8e5d4fff
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload3.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::resolve (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../resolve.html" title="ip::basic_resolver::resolve">
+<link rel="prev" href="overload2.html" title="ip::basic_resolver::resolve (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::basic_resolver::resolve (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3"></a><a class="link" href="overload3.html" title="ip::basic_resolver::resolve (3 of 4 overloads)">ip::basic_resolver::resolve
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to resolve an endpoint into a list of endpoint
+ entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">e</span></dt>
+<dd><p>
+ An endpoint object that determines what endpoints will be returned.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A forward-only iterator that can be used to traverse the list of endpoint
+ entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.ip__basic_resolver.resolve.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ A default constructed iterator represents the end of the list.
+ </p>
+<p>
+ A successful call to this function is guaranteed to return at least one
+ entry.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload4.html b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload4.html
new file mode 100644
index 0000000000..6cfd00b838
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/resolve/overload4.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::resolve (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../resolve.html" title="ip::basic_resolver::resolve">
+<link rel="prev" href="overload3.html" title="ip::basic_resolver::resolve (3 of 4 overloads)">
+<link rel="next" href="../service.html" title="ip::basic_resolver::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4"></a><a class="link" href="overload4.html" title="ip::basic_resolver::resolve (4 of 4 overloads)">ip::basic_resolver::resolve
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">resolve</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to resolve an endpoint into a list of endpoint
+ entries.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.ip__basic_resolver.resolve.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">e</span></dt>
+<dd><p>
+ An endpoint object that determines what endpoints will be returned.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.ip__basic_resolver.resolve.overload4.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A forward-only iterator that can be used to traverse the list of endpoint
+ entries. Returns a default constructed iterator if an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.resolve.overload4.remarks"></a></span><a class="link" href="overload4.html#boost_asio.reference.ip__basic_resolver.resolve.overload4.remarks">Remarks</a>
+ </h6>
+<p>
+ A default constructed iterator represents the end of the list.
+ </p>
+<p>
+ A successful call to this function is guaranteed to return at least one
+ entry.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/service.html b/doc/html/boost_asio/reference/ip__basic_resolver/service.html
new file mode 100644
index 0000000000..39560a2b13
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="resolve/overload4.html" title="ip::basic_resolver::resolve (4 of 4 overloads)">
+<link rel="next" href="service_type.html" title="ip::basic_resolver::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resolve/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.service"></a><a class="link" href="service.html" title="ip::basic_resolver::service">ip::basic_resolver::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp149272720"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.ip__basic_resolver.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="resolve/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver/service_type.html b/doc/html/boost_asio/reference/ip__basic_resolver/service_type.html
new file mode 100644
index 0000000000..8f1dfe5517
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver.html" title="ip::basic_resolver">
+<link rel="prev" href="service.html" title="ip::basic_resolver::service">
+<link rel="next" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver.service_type"></a><a class="link" href="service_type.html" title="ip::basic_resolver::service_type">ip::basic_resolver::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp149285072"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ResolverService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.ip__basic_resolver.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry.html
new file mode 100644
index 0000000000..9b48688540
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry.html
@@ -0,0 +1,211 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__basic_resolver/service_type.html" title="ip::basic_resolver::service_type">
+<link rel="next" href="ip__basic_resolver_entry/basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__basic_resolver/service_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver_entry/basic_resolver_entry.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry"></a><a class="link" href="ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">ip::basic_resolver_entry</a>
+</h3></div></div></div>
+<p>
+ An entry produced by a resolver.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_resolver_entry</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_entry.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.types"></a></span><a class="link" href="ip__basic_resolver_entry.html#boost_asio.reference.ip__basic_resolver_entry.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/endpoint_type.html" title="ip::basic_resolver_entry::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type associated with the endpoint entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/protocol_type.html" title="ip::basic_resolver_entry::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint entry.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_entry.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.member_functions"></a></span><a class="link" href="ip__basic_resolver_entry.html#boost_asio.reference.ip__basic_resolver_entry.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry"><span class="bold"><strong>basic_resolver_entry</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct with specified endpoint, host name and service name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/endpoint.html" title="ip::basic_resolver_entry::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the endpoint associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/host_name.html" title="ip::basic_resolver_entry::host_name"><span class="bold"><strong>host_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the host name associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/operator_endpoint_type.html" title="ip::basic_resolver_entry::operator endpoint_type"><span class="bold"><strong>operator endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Convert to the endpoint associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_entry/service_name.html" title="ip::basic_resolver_entry::service_name"><span class="bold"><strong>service_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service name associated with the entry.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__basic_resolver_entry.html" title="ip::basic_resolver_entry"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_entry</span></code></a>
+ class template describes an entry as returned by a resolver.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_entry.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.thread_safety"></a></span><a class="link" href="ip__basic_resolver_entry.html#boost_asio.reference.ip__basic_resolver_entry.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_entry.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.requirements"></a></span><a class="link" href="ip__basic_resolver_entry.html#boost_asio.reference.ip__basic_resolver_entry.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_entry.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__basic_resolver/service_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver_entry/basic_resolver_entry.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry.html
new file mode 100644
index 0000000000..984af3bf80
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::basic_resolver_entry</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="next" href="basic_resolver_entry/overload1.html" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_resolver_entry/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry"></a><a class="link" href="basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry">ip::basic_resolver_entry::basic_resolver_entry</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149357824"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_resolver_entry/overload1.html" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">basic_resolver_entry</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_resolver_entry/overload1.html" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct with specified endpoint, host name and service name.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_resolver_entry/overload2.html" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">basic_resolver_entry</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">ep</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_resolver_entry/overload2.html" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_resolver_entry/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload1.html
new file mode 100644
index 0000000000..279e6efda6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry">
+<link rel="prev" href="../basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry">
+<link rel="next" href="overload2.html" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_resolver_entry.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_entry.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">ip::basic_resolver_entry::basic_resolver_entry
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_entry</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_resolver_entry.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_entry.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload2.html
new file mode 100644
index 0000000000..7f30e8fce9
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/basic_resolver_entry/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver_entry::basic_resolver_entry (1 of 2 overloads)">
+<link rel="next" href="../endpoint.html" title="ip::basic_resolver_entry::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_entry.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.basic_resolver_entry.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">ip::basic_resolver_entry::basic_resolver_entry
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct with specified endpoint, host name and service name.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_entry</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">ep</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_entry.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../endpoint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint.html
new file mode 100644
index 0000000000..fe20cad7d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="basic_resolver_entry/overload2.html" title="ip::basic_resolver_entry::basic_resolver_entry (2 of 2 overloads)">
+<link rel="next" href="endpoint_type.html" title="ip::basic_resolver_entry::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_resolver_entry/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.endpoint"></a><a class="link" href="endpoint.html" title="ip::basic_resolver_entry::endpoint">ip::basic_resolver_entry::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149401216"></a>
+Get the endpoint associated with the entry.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">endpoint</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="basic_resolver_entry/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint_type.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint_type.html
new file mode 100644
index 0000000000..32be80a081
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/endpoint_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="endpoint.html" title="ip::basic_resolver_entry::endpoint">
+<link rel="next" href="host_name.html" title="ip::basic_resolver_entry::host_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="host_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.endpoint_type"></a><a class="link" href="endpoint_type.html" title="ip::basic_resolver_entry::endpoint_type">ip::basic_resolver_entry::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149408576"></a>
+The endpoint type associated with
+ the endpoint entry.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_entry.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.ip__basic_resolver_entry.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_entry.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="host_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name.html
new file mode 100644
index 0000000000..4c4fc70217
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/host_name.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::host_name</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="endpoint_type.html" title="ip::basic_resolver_entry::endpoint_type">
+<link rel="next" href="operator_endpoint_type.html" title="ip::basic_resolver_entry::operator endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.host_name"></a><a class="link" href="host_name.html" title="ip::basic_resolver_entry::host_name">ip::basic_resolver_entry::host_name</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149422112"></a>
+Get the host name associated with the
+ entry.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/operator_endpoint_type.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/operator_endpoint_type.html
new file mode 100644
index 0000000000..abd2123549
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/operator_endpoint_type.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::operator endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="host_name.html" title="ip::basic_resolver_entry::host_name">
+<link rel="next" href="protocol_type.html" title="ip::basic_resolver_entry::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="host_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.operator_endpoint_type"></a><a class="link" href="operator_endpoint_type.html" title="ip::basic_resolver_entry::operator endpoint_type">ip::basic_resolver_entry::operator
+ endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149430384"></a>
+Convert to the endpoint associated
+ with the entry.
+ </p>
+<pre class="programlisting"><span class="keyword">operator</span> <span class="identifier">endpoint_type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="host_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/protocol_type.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/protocol_type.html
new file mode 100644
index 0000000000..24d67a0519
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/protocol_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="operator_endpoint_type.html" title="ip::basic_resolver_entry::operator endpoint_type">
+<link rel="next" href="service_name.html" title="ip::basic_resolver_entry::service_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.protocol_type"></a><a class="link" href="protocol_type.html" title="ip::basic_resolver_entry::protocol_type">ip::basic_resolver_entry::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149437728"></a>
+The protocol type associated with
+ the endpoint entry.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_entry.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_entry.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.ip__basic_resolver_entry.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_entry.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name.html b/doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name.html
new file mode 100644
index 0000000000..8fc4a0e18c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_entry/service_name.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_entry::service_name</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry">
+<link rel="prev" href="protocol_type.html" title="ip::basic_resolver_entry::protocol_type">
+<link rel="next" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_entry.service_name"></a><a class="link" href="service_name.html" title="ip::basic_resolver_entry::service_name">ip::basic_resolver_entry::service_name</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149450176"></a>
+Get the service name associated with
+ the entry.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">service_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_entry.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator.html
new file mode 100644
index 0000000000..7ede1a0b83
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator.html
@@ -0,0 +1,308 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__basic_resolver_entry/service_name.html" title="ip::basic_resolver_entry::service_name">
+<link rel="next" href="ip__basic_resolver_iterator/basic_resolver_iterator.html" title="ip::basic_resolver_iterator::basic_resolver_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__basic_resolver_entry/service_name.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver_iterator/basic_resolver_iterator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator"></a><a class="link" href="ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">ip::basic_resolver_iterator</a>
+</h3></div></div></div>
+<p>
+ An iterator over the entries produced by a resolver.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_resolver_iterator</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.types"></a></span><a class="link" href="ip__basic_resolver_iterator.html#boost_asio.reference.ip__basic_resolver_iterator.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/difference_type.html" title="ip::basic_resolver_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used for the distance between two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/iterator_category.html" title="ip::basic_resolver_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator category.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/pointer.html" title="ip::basic_resolver_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator-&gt;() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/reference.html" title="ip::basic_resolver_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator*() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/value_type.html" title="ip::basic_resolver_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the value pointed to by the iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.member_functions"></a></span><a class="link" href="ip__basic_resolver_iterator.html#boost_asio.reference.ip__basic_resolver_iterator.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/basic_resolver_iterator.html" title="ip::basic_resolver_iterator::basic_resolver_iterator"><span class="bold"><strong>basic_resolver_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor creates an end iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/create.html" title="ip::basic_resolver_iterator::create"><span class="bold"><strong>create</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an iterator from an addrinfo list returned by getaddrinfo.
+ </p>
+ <p>
+ Create an iterator from an endpoint, host name and service name.
+ </p>
+ <p>
+ Create an iterator from a sequence of endpoints, host and service
+ name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/operator__star_.html" title="ip::basic_resolver_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Increment operator (prefix).
+ </p>
+ <p>
+ Increment operator (postfix).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/operator_arrow_.html" title="ip::basic_resolver_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.friends"></a></span><a class="link" href="ip__basic_resolver_iterator.html#boost_asio.reference.ip__basic_resolver_iterator.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/operator_not__eq_.html" title="ip::basic_resolver_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_iterator/operator_eq__eq_.html" title="ip::basic_resolver_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span></code></a>
+ class template is used to define iterators over the results returned by a
+ resolver.
+ </p>
+<p>
+ The iterator's value_type, obtained when the iterator is dereferenced, is:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.thread_safety"></a></span><a class="link" href="ip__basic_resolver_iterator.html#boost_asio.reference.ip__basic_resolver_iterator.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.requirements"></a></span><a class="link" href="ip__basic_resolver_iterator.html#boost_asio.reference.ip__basic_resolver_iterator.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__basic_resolver_entry/service_name.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver_iterator/basic_resolver_iterator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator.html
new file mode 100644
index 0000000000..b83a8a8878
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/basic_resolver_iterator.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::basic_resolver_iterator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="next" href="create.html" title="ip::basic_resolver_iterator::create">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.basic_resolver_iterator"></a><a class="link" href="basic_resolver_iterator.html" title="ip::basic_resolver_iterator::basic_resolver_iterator">ip::basic_resolver_iterator::basic_resolver_iterator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149546816"></a>
+Default constructor creates
+ an end iterator.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create.html
new file mode 100644
index 0000000000..077d9f1fa7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::create</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="basic_resolver_iterator.html" title="ip::basic_resolver_iterator::basic_resolver_iterator">
+<link rel="next" href="create/overload1.html" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_resolver_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.create"></a><a class="link" href="create.html" title="ip::basic_resolver_iterator::create">ip::basic_resolver_iterator::create</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149552096"></a>
+Create an iterator from an addrinfo list
+ returned by getaddrinfo.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <a class="link" href="create/overload1.html" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">create</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">addrinfo_type</span> <span class="special">*</span> <span class="identifier">address_info</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="create/overload1.html" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Create an iterator from an endpoint, host name and service name.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <a class="link" href="create/overload2.html" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">create</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="create/overload2.html" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Create an iterator from a sequence of endpoints, host and service name.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">EndpointIterator</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <a class="link" href="create/overload3.html" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">create</a><span class="special">(</span>
+ <span class="identifier">EndpointIterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">EndpointIterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="create/overload3.html" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_resolver_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload1.html
new file mode 100644
index 0000000000..d034a6ce25
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::create (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../create.html" title="ip::basic_resolver_iterator::create">
+<link rel="prev" href="../create.html" title="ip::basic_resolver_iterator::create">
+<link rel="next" href="overload2.html" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../create.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../create.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.create.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">ip::basic_resolver_iterator::create
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an iterator from an addrinfo list returned by getaddrinfo.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <span class="identifier">create</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">addrinfo_type</span> <span class="special">*</span> <span class="identifier">address_info</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../create.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../create.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload2.html
new file mode 100644
index 0000000000..2f0d8d0258
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::create (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../create.html" title="ip::basic_resolver_iterator::create">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver_iterator::create (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../create.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.create.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">ip::basic_resolver_iterator::create
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an iterator from an endpoint, host name and service name.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <span class="identifier">create</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../create.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload3.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload3.html
new file mode 100644
index 0000000000..850c449979
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/create/overload3.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::create (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../create.html" title="ip::basic_resolver_iterator::create">
+<link rel="prev" href="overload2.html" title="ip::basic_resolver_iterator::create (2 of 3 overloads)">
+<link rel="next" href="../difference_type.html" title="ip::basic_resolver_iterator::difference_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../create.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../difference_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.create.overload3"></a><a class="link" href="overload3.html" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">ip::basic_resolver_iterator::create
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create an iterator from a sequence of endpoints, host and service name.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">EndpointIterator</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="identifier">basic_resolver_iterator</span> <span class="identifier">create</span><span class="special">(</span>
+ <span class="identifier">EndpointIterator</span> <span class="identifier">begin</span><span class="special">,</span>
+ <span class="identifier">EndpointIterator</span> <span class="identifier">end</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host_name</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service_name</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../create.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../difference_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/difference_type.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/difference_type.html
new file mode 100644
index 0000000000..a9bea96cbb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/difference_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::difference_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="create/overload3.html" title="ip::basic_resolver_iterator::create (3 of 3 overloads)">
+<link rel="next" href="iterator_category.html" title="ip::basic_resolver_iterator::iterator_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="create/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.difference_type"></a><a class="link" href="difference_type.html" title="ip::basic_resolver_iterator::difference_type">ip::basic_resolver_iterator::difference_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149675808"></a>
+The type used for the distance
+ between two iterators.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <span class="identifier">difference_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.difference_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.difference_type.requirements"></a></span><a class="link" href="difference_type.html#boost_asio.reference.ip__basic_resolver_iterator.difference_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="create/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/iterator_category.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/iterator_category.html
new file mode 100644
index 0000000000..cab147a718
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/iterator_category.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::iterator_category</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="difference_type.html" title="ip::basic_resolver_iterator::difference_type">
+<link rel="next" href="operator__star_.html" title="ip::basic_resolver_iterator::operator *">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="difference_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__star_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.iterator_category"></a><a class="link" href="iterator_category.html" title="ip::basic_resolver_iterator::iterator_category">ip::basic_resolver_iterator::iterator_category</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149689440"></a>
+The iterator category.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">forward_iterator_tag</span> <span class="identifier">iterator_category</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.iterator_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.iterator_category.requirements"></a></span><a class="link" href="iterator_category.html#boost_asio.reference.ip__basic_resolver_iterator.iterator_category.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="difference_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator__star_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator__star_.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator__star_.html
new file mode 100644
index 0000000000..1c7285ddcc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator__star_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator *</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="iterator_category.html" title="ip::basic_resolver_iterator::iterator_category">
+<link rel="next" href="operator_not__eq_.html" title="ip::basic_resolver_iterator::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iterator_category.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator__star_"></a><a class="link" href="operator__star_.html" title="ip::basic_resolver_iterator::operator *">ip::basic_resolver_iterator::operator
+ *</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149702928"></a>
+Dereference an iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="iterator_category.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_arrow_.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_arrow_.html
new file mode 100644
index 0000000000..7008a257dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_arrow_.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator-&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="operator_plus__plus_/overload2.html" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">
+<link rel="next" href="operator_eq__eq_.html" title="ip::basic_resolver_iterator::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_plus__plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_arrow_"></a><a class="link" href="operator_arrow_.html" title="ip::basic_resolver_iterator::operator-&gt;">ip::basic_resolver_iterator::operator-&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149758928"></a>
+Dereference an iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="keyword">operator</span><span class="special">-&gt;()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_plus__plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq__eq_.html
new file mode 100644
index 0000000000..f2e7a5bd60
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="operator_arrow_.html" title="ip::basic_resolver_iterator::operator-&gt;">
+<link rel="next" href="pointer.html" title="ip::basic_resolver_iterator::pointer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_arrow_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pointer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::basic_resolver_iterator::operator==">ip::basic_resolver_iterator::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149769536"></a>
+Test two iterators for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__basic_resolver_iterator.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_arrow_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pointer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_not__eq_.html
new file mode 100644
index 0000000000..2e4a2ee100
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="operator__star_.html" title="ip::basic_resolver_iterator::operator *">
+<link rel="next" href="operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator__star_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus__plus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::basic_resolver_iterator::operator!=">ip::basic_resolver_iterator::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149713600"></a>
+Test two iterators for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__basic_resolver_iterator.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator__star_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus__plus_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_.html
new file mode 100644
index 0000000000..92b60505c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator++</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="operator_not__eq_.html" title="ip::basic_resolver_iterator::operator!=">
+<link rel="next" href="operator_plus__plus_/overload1.html" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus__plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_"></a><a class="link" href="operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++">ip::basic_resolver_iterator::operator++</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149732464"></a>
+Increment operator (prefix).
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <a class="link" href="operator_plus__plus_/overload1.html" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">operator++</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus__plus_/overload1.html" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Increment operator (postfix).
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <a class="link" href="operator_plus__plus_/overload2.html" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">operator++</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus__plus_/overload2.html" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus__plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload1.html
new file mode 100644
index 0000000000..ab36e20842
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator++ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++">
+<link rel="prev" href="../operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++">
+<link rel="next" href="overload2.html" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">ip::basic_resolver_iterator::operator++
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Increment operator (prefix).
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++();</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload2.html
new file mode 100644
index 0000000000..d67a24359b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/operator_plus__plus_/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::operator++ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver_iterator::operator++ (1 of 2 overloads)">
+<link rel="next" href="../operator_arrow_.html" title="ip::basic_resolver_iterator::operator-&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_arrow_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.operator_plus__plus_.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver_iterator::operator++ (2 of 2 overloads)">ip::basic_resolver_iterator::operator++
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Increment operator (postfix).
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_iterator</span> <span class="keyword">operator</span><span class="special">++(</span>
+ <span class="keyword">int</span> <span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus__plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_arrow_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/pointer.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/pointer.html
new file mode 100644
index 0000000000..aafe04b107
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/pointer.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::pointer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::basic_resolver_iterator::operator==">
+<link rel="next" href="reference.html" title="ip::basic_resolver_iterator::reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.pointer"></a><a class="link" href="pointer.html" title="ip::basic_resolver_iterator::pointer">ip::basic_resolver_iterator::pointer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149788464"></a>
+The type of the result of applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">-&gt;()</span></code>
+ to the iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">*</span> <span class="identifier">pointer</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.pointer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.pointer.requirements"></a></span><a class="link" href="pointer.html#boost_asio.reference.ip__basic_resolver_iterator.pointer.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/reference.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/reference.html
new file mode 100644
index 0000000000..8961a574bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/reference.html
@@ -0,0 +1,212 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::reference</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="pointer.html" title="ip::basic_resolver_iterator::pointer">
+<link rel="next" href="value_type.html" title="ip::basic_resolver_iterator::value_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pointer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.reference"></a><a class="link" href="reference.html" title="ip::basic_resolver_iterator::reference">ip::basic_resolver_iterator::reference</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149805792"></a>
+The type of the result of applying
+ <code class="computeroutput"><span class="keyword">operator</span><span class="special">*()</span></code>
+ to the iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">reference</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.types"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/endpoint_type.html" title="ip::basic_resolver_entry::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type associated with the endpoint entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/protocol_type.html" title="ip::basic_resolver_entry::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint entry.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.member_functions"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry"><span class="bold"><strong>basic_resolver_entry</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct with specified endpoint, host name and service name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/endpoint.html" title="ip::basic_resolver_entry::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the endpoint associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/host_name.html" title="ip::basic_resolver_entry::host_name"><span class="bold"><strong>host_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the host name associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/operator_endpoint_type.html" title="ip::basic_resolver_entry::operator endpoint_type"><span class="bold"><strong>operator endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Convert to the endpoint associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/service_name.html" title="ip::basic_resolver_entry::service_name"><span class="bold"><strong>service_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service name associated with the entry.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_entry</span></code></a> class template
+ describes an entry as returned by a resolver.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.thread_safety"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.reference.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.reference.requirements"></a></span><a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver_iterator.reference.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="pointer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_iterator/value_type.html b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/value_type.html
new file mode 100644
index 0000000000..c045ed0b40
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_iterator/value_type.html
@@ -0,0 +1,211 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_iterator::value_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator">
+<link rel="prev" href="reference.html" title="ip::basic_resolver_iterator::reference">
+<link rel="next" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type"></a><a class="link" href="value_type.html" title="ip::basic_resolver_iterator::value_type">ip::basic_resolver_iterator::value_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp149869632"></a>
+The type of the value pointed to by
+ the iterator.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.types"></a></span><a class="link" href="value_type.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/endpoint_type.html" title="ip::basic_resolver_entry::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type associated with the endpoint entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/protocol_type.html" title="ip::basic_resolver_entry::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint entry.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.member_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/basic_resolver_entry.html" title="ip::basic_resolver_entry::basic_resolver_entry"><span class="bold"><strong>basic_resolver_entry</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct with specified endpoint, host name and service name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/endpoint.html" title="ip::basic_resolver_entry::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the endpoint associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/host_name.html" title="ip::basic_resolver_entry::host_name"><span class="bold"><strong>host_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the host name associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/operator_endpoint_type.html" title="ip::basic_resolver_entry::operator endpoint_type"><span class="bold"><strong>operator endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Convert to the endpoint associated with the entry.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_entry/service_name.html" title="ip::basic_resolver_entry::service_name"><span class="bold"><strong>service_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service name associated with the entry.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver_entry.html" title="ip::basic_resolver_entry"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_entry</span></code></a> class template
+ describes an entry as returned by a resolver.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.thread_safety"></a></span><a class="link" href="value_type.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_iterator.value_type.requirements"></a></span><a class="link" href="value_type.html#boost_asio.reference.ip__basic_resolver_iterator.value_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_iterator.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_iterator.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query.html b/doc/html/boost_asio/reference/ip__basic_resolver_query.html
new file mode 100644
index 0000000000..7b9a87a697
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query.html
@@ -0,0 +1,322 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__basic_resolver_iterator/value_type.html" title="ip::basic_resolver_iterator::value_type">
+<link rel="next" href="ip__basic_resolver_query/address_configured.html" title="ip::basic_resolver_query::address_configured">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__basic_resolver_iterator/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver_query/address_configured.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query"></a><a class="link" href="ip__basic_resolver_query.html" title="ip::basic_resolver_query">ip::basic_resolver_query</a>
+</h3></div></div></div>
+<p>
+ An query to be passed to a resolver.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_resolver_query</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">ip</span><span class="special">::</span><span class="identifier">resolver_query_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_query.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.types"></a></span><a class="link" href="ip__basic_resolver_query.html#boost_asio.reference.ip__basic_resolver_query.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/flags.html" title="ip::basic_resolver_query::flags"><span class="bold"><strong>flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A bitmask type (C++ Std [lib.bitmask.types]).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/protocol_type.html" title="ip::basic_resolver_query::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint query.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_query.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.member_functions"></a></span><a class="link" href="ip__basic_resolver_query.html#boost_asio.reference.ip__basic_resolver_query.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query"><span class="bold"><strong>basic_resolver_query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct with specified service name for any protocol.
+ </p>
+ <p>
+ Construct with specified service name for a given protocol.
+ </p>
+ <p>
+ Construct with specified host name and service name for any protocol.
+ </p>
+ <p>
+ Construct with specified host name and service name for a given
+ protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/hints.html" title="ip::basic_resolver_query::hints"><span class="bold"><strong>hints</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the hints associated with the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/host_name.html" title="ip::basic_resolver_query::host_name"><span class="bold"><strong>host_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the host name associated with the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/service_name.html" title="ip::basic_resolver_query::service_name"><span class="bold"><strong>service_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service name associated with the query.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_query.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.data_members"></a></span><a class="link" href="ip__basic_resolver_query.html#boost_asio.reference.ip__basic_resolver_query.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/address_configured.html" title="ip::basic_resolver_query::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Only return IPv4 addresses if a non-loopback IPv4 address is configured
+ for the system. Only return IPv6 addresses if a non-loopback IPv6
+ address is configured for the system.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/all_matching.html" title="ip::basic_resolver_query::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/canonical_name.html" title="ip::basic_resolver_query::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the canonical name of the host specified in the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/numeric_host.html" title="ip::basic_resolver_query::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Host name should be treated as a numeric string defining an IPv4
+ or IPv6 address and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/numeric_service.html" title="ip::basic_resolver_query::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Service name should be treated as a numeric string defining a port
+ number and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/passive.html" title="ip::basic_resolver_query::passive"><span class="bold"><strong>passive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Indicate that returned endpoint is intended for use as a locally
+ bound socket endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__basic_resolver_query/v4_mapped.html" title="ip::basic_resolver_query::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If the query protocol family is specified as IPv6, return IPv4-mapped
+ IPv6 addresses on finding no IPv6 addresses.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__basic_resolver_query.html" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a>
+ class template describes a query that can be passed to a resolver.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_query.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.thread_safety"></a></span><a class="link" href="ip__basic_resolver_query.html#boost_asio.reference.ip__basic_resolver_query.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__basic_resolver_query.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.requirements"></a></span><a class="link" href="ip__basic_resolver_query.html#boost_asio.reference.ip__basic_resolver_query.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_query.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__basic_resolver_iterator/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__basic_resolver_query/address_configured.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/address_configured.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/address_configured.html
new file mode 100644
index 0000000000..55f9585236
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/address_configured.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::address_configured</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="next" href="all_matching.html" title="ip::basic_resolver_query::all_matching">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all_matching.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.address_configured"></a><a class="link" href="address_configured.html" title="ip::basic_resolver_query::address_configured">ip::basic_resolver_query::address_configured</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150022288"></a>
+Only return IPv4 addresses if
+ a non-loopback IPv4 address is configured for the system. Only return IPv6
+ addresses if a non-loopback IPv6 address is configured for the system.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">address_configured</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all_matching.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/all_matching.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/all_matching.html
new file mode 100644
index 0000000000..05a9bd66ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/all_matching.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::all_matching</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="address_configured.html" title="ip::basic_resolver_query::address_configured">
+<link rel="next" href="basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="address_configured.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_resolver_query.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.all_matching"></a><a class="link" href="all_matching.html" title="ip::basic_resolver_query::all_matching">ip::basic_resolver_query::all_matching</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150032176"></a>
+If used with v4_mapped, return all
+ matching IPv6 and IPv4 addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">all_matching</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="address_configured.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_resolver_query.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query.html
new file mode 100644
index 0000000000..27b5660bf8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::basic_resolver_query</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="all_matching.html" title="ip::basic_resolver_query::all_matching">
+<link rel="next" href="basic_resolver_query/overload1.html" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="all_matching.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_resolver_query/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query"></a><a class="link" href="basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">ip::basic_resolver_query::basic_resolver_query</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150040992"></a>
+Construct with specified service
+ name for any protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_resolver_query/overload1.html" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_resolver_query/overload1.html" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct with specified service name for a given protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_resolver_query/overload2.html" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_resolver_query/overload2.html" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct with specified host name and service name for any protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_resolver_query/overload3.html" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_resolver_query/overload3.html" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct with specified host name and service name for a given protocol.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_resolver_query/overload4.html" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">basic_resolver_query</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_resolver_query/overload4.html" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="all_matching.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_resolver_query/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload1.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload1.html
new file mode 100644
index 0000000000..4cac4c461e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload1.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">
+<link rel="prev" href="../basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">
+<link rel="next" href="overload2.html" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1"></a><a class="link" href="overload1.html" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct with specified service name for any protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor is typically used to perform name resolution for local
+ service binding.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">service</span></dt>
+<dd><p>
+ A string identifying the requested service. This may be a descriptive
+ name or a numeric string corresponding to a port number.
+ </p></dd>
+<dt><span class="term">resolve_flags</span></dt>
+<dd><p>
+ A set of flags that determine how name resolution should be performed.
+ The default flags are suitable for local service binding.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
+ On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
+ Operating systems may use additional locations when resolving service
+ names.
+ </p>
+</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 &#169; 2003-2017 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="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload2.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload2.html
new file mode 100644
index 0000000000..e252bd9dc7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload2.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">
+<link rel="prev" href="overload1.html" title="ip::basic_resolver_query::basic_resolver_query (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2"></a><a class="link" href="overload2.html" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct with specified service name for a given protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">passive</span><span class="special">|</span><span class="identifier">address_configured</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor is typically used to perform name resolution for local
+ service binding with a specific protocol version.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ A protocol object, normally representing either the IPv4 or IPv6
+ version of an internet protocol.
+ </p></dd>
+<dt><span class="term">service</span></dt>
+<dd><p>
+ A string identifying the requested service. This may be a descriptive
+ name or a numeric string corresponding to a port number.
+ </p></dd>
+<dt><span class="term">resolve_flags</span></dt>
+<dd><p>
+ A set of flags that determine how name resolution should be performed.
+ The default flags are suitable for local service binding.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
+ On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
+ Operating systems may use additional locations when resolving service
+ names.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload3.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload3.html
new file mode 100644
index 0000000000..742ce6ce44
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload3.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">
+<link rel="prev" href="overload2.html" title="ip::basic_resolver_query::basic_resolver_query (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3"></a><a class="link" href="overload3.html" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct with specified host name and service name for any protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor is typically used to perform name resolution for communication
+ with remote hosts.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">host</span></dt>
+<dd><p>
+ A string identifying a location. May be a descriptive name or a
+ numeric address string. If an empty string and the passive flag
+ has been specified, the resolved endpoints are suitable for local
+ service binding. If an empty string and passive is not specified,
+ the resolved endpoints will use the loopback address.
+ </p></dd>
+<dt><span class="term">service</span></dt>
+<dd><p>
+ A string identifying the requested service. This may be a descriptive
+ name or a numeric string corresponding to a port number. May be
+ an empty string, in which case all resolved endpoints will have
+ a port number of 0.
+ </p></dd>
+<dt><span class="term">resolve_flags</span></dt>
+<dd><p>
+ A set of flags that determine how name resolution should be performed.
+ The default flags are suitable for communication with remote hosts.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ On POSIX systems, host names may be locally defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">hosts</span></code>.
+ On Windows, host names may be defined in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">hosts</span></code>.
+ Remote host name resolution is performed using DNS. Operating systems
+ may use additional locations when resolving host names (such as NETBIOS
+ names on Windows).
+ </p>
+<p>
+ On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
+ On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
+ Operating systems may use additional locations when resolving service
+ names.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload4.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload4.html
new file mode 100644
index 0000000000..39edc11de7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/basic_resolver_query/overload4.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query">
+<link rel="prev" href="overload3.html" title="ip::basic_resolver_query::basic_resolver_query (3 of 4 overloads)">
+<link rel="next" href="../canonical_name.html" title="ip::basic_resolver_query::canonical_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../canonical_name.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4"></a><a class="link" href="overload4.html" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">ip::basic_resolver_query::basic_resolver_query
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct with specified host name and service name for a given protocol.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_resolver_query</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">,</span>
+ <span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span> <span class="identifier">resolve_flags</span> <span class="special">=</span> <span class="identifier">address_configured</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor is typically used to perform name resolution for communication
+ with remote hosts.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">protocol</span></dt>
+<dd><p>
+ A protocol object, normally representing either the IPv4 or IPv6
+ version of an internet protocol.
+ </p></dd>
+<dt><span class="term">host</span></dt>
+<dd><p>
+ A string identifying a location. May be a descriptive name or a
+ numeric address string. If an empty string and the passive flag
+ has been specified, the resolved endpoints are suitable for local
+ service binding. If an empty string and passive is not specified,
+ the resolved endpoints will use the loopback address.
+ </p></dd>
+<dt><span class="term">service</span></dt>
+<dd><p>
+ A string identifying the requested service. This may be a descriptive
+ name or a numeric string corresponding to a port number. May be
+ an empty string, in which case all resolved endpoints will have
+ a port number of 0.
+ </p></dd>
+<dt><span class="term">resolve_flags</span></dt>
+<dd><p>
+ A set of flags that determine how name resolution should be performed.
+ The default flags are suitable for communication with remote hosts.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.remarks"></a></span><a class="link" href="overload4.html#boost_asio.reference.ip__basic_resolver_query.basic_resolver_query.overload4.remarks">Remarks</a>
+ </h6>
+<p>
+ On POSIX systems, host names may be locally defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">hosts</span></code>.
+ On Windows, host names may be defined in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">hosts</span></code>.
+ Remote host name resolution is performed using DNS. Operating systems
+ may use additional locations when resolving host names (such as NETBIOS
+ names on Windows).
+ </p>
+<p>
+ On POSIX systems, service names are typically defined in the file <code class="computeroutput"><span class="special">/</span><span class="identifier">etc</span><span class="special">/</span><span class="identifier">services</span></code>.
+ On Windows, service names may be found in the file <code class="computeroutput"><span class="identifier">c</span><span class="special">:\</span><span class="identifier">windows</span><span class="special">\</span><span class="identifier">system32</span><span class="special">\</span><span class="identifier">drivers</span><span class="special">\</span><span class="identifier">etc</span><span class="special">\</span><span class="identifier">services</span></code>.
+ Operating systems may use additional locations when resolving service
+ names.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_resolver_query.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../canonical_name.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/canonical_name.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/canonical_name.html
new file mode 100644
index 0000000000..8d0f14dad4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/canonical_name.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::canonical_name</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="basic_resolver_query/overload4.html" title="ip::basic_resolver_query::basic_resolver_query (4 of 4 overloads)">
+<link rel="next" href="flags.html" title="ip::basic_resolver_query::flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_resolver_query/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.canonical_name"></a><a class="link" href="canonical_name.html" title="ip::basic_resolver_query::canonical_name">ip::basic_resolver_query::canonical_name</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150293760"></a>
+Determine the canonical name of the
+ host specified in the query.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">canonical_name</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="basic_resolver_query/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/flags.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/flags.html
new file mode 100644
index 0000000000..d72dc1d1ba
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/flags.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="canonical_name.html" title="ip::basic_resolver_query::canonical_name">
+<link rel="next" href="hints.html" title="ip::basic_resolver_query::hints">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="canonical_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hints.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.flags"></a><a class="link" href="flags.html" title="ip::basic_resolver_query::flags">ip::basic_resolver_query::flags</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150303360"></a>
+A bitmask type (C++ Std [lib.bitmask.types]).
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.flags.requirements"></a></span><a class="link" href="flags.html#boost_asio.reference.ip__basic_resolver_query.flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_query.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="canonical_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hints.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/hints.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/hints.html
new file mode 100644
index 0000000000..1432460425
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/hints.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::hints</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="flags.html" title="ip::basic_resolver_query::flags">
+<link rel="next" href="host_name.html" title="ip::basic_resolver_query::host_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="host_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.hints"></a><a class="link" href="hints.html" title="ip::basic_resolver_query::hints">ip::basic_resolver_query::hints</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150315568"></a>
+Get the hints associated with the query.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">addrinfo_type</span> <span class="special">&amp;</span> <span class="identifier">hints</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="host_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/host_name.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/host_name.html
new file mode 100644
index 0000000000..ddd471427e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/host_name.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::host_name</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="hints.html" title="ip::basic_resolver_query::hints">
+<link rel="next" href="numeric_host.html" title="ip::basic_resolver_query::numeric_host">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hints.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_host.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.host_name"></a><a class="link" href="host_name.html" title="ip::basic_resolver_query::host_name">ip::basic_resolver_query::host_name</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150327392"></a>
+Get the host name associated with the
+ query.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="hints.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_host.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_host.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_host.html
new file mode 100644
index 0000000000..a7060c038b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_host.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::numeric_host</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="host_name.html" title="ip::basic_resolver_query::host_name">
+<link rel="next" href="numeric_service.html" title="ip::basic_resolver_query::numeric_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="host_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.numeric_host"></a><a class="link" href="numeric_host.html" title="ip::basic_resolver_query::numeric_host">ip::basic_resolver_query::numeric_host</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150336432"></a>
+Host name should be treated as a numeric
+ string defining an IPv4 or IPv6 address and no name resolution should be
+ attempted.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_host</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="host_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_service.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_service.html
new file mode 100644
index 0000000000..528e5c27f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/numeric_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::numeric_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="numeric_host.html" title="ip::basic_resolver_query::numeric_host">
+<link rel="next" href="passive.html" title="ip::basic_resolver_query::passive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="numeric_host.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="passive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.numeric_service"></a><a class="link" href="numeric_service.html" title="ip::basic_resolver_query::numeric_service">ip::basic_resolver_query::numeric_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150346224"></a>
+Service name should be treated as
+ a numeric string defining a port number and no name resolution should be
+ attempted.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_service</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="numeric_host.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="passive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/passive.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/passive.html
new file mode 100644
index 0000000000..8540e3fde5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/passive.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::passive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="numeric_service.html" title="ip::basic_resolver_query::numeric_service">
+<link rel="next" href="protocol_type.html" title="ip::basic_resolver_query::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="numeric_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.passive"></a><a class="link" href="passive.html" title="ip::basic_resolver_query::passive">ip::basic_resolver_query::passive</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150355888"></a>
+Indicate that returned endpoint is intended
+ for use as a locally bound socket endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">passive</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="numeric_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/protocol_type.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/protocol_type.html
new file mode 100644
index 0000000000..8d86df664d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/protocol_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="passive.html" title="ip::basic_resolver_query::passive">
+<link rel="next" href="service_name.html" title="ip::basic_resolver_query::service_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="passive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.protocol_type"></a><a class="link" href="protocol_type.html" title="ip::basic_resolver_query::protocol_type">ip::basic_resolver_query::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150364640"></a>
+The protocol type associated with
+ the endpoint query.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__basic_resolver_query.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__basic_resolver_query.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.ip__basic_resolver_query.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/basic_resolver_query.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="passive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/service_name.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/service_name.html
new file mode 100644
index 0000000000..132d6ba5b0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/service_name.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::service_name</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="protocol_type.html" title="ip::basic_resolver_query::protocol_type">
+<link rel="next" href="v4_mapped.html" title="ip::basic_resolver_query::v4_mapped">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.service_name"></a><a class="link" href="service_name.html" title="ip::basic_resolver_query::service_name">ip::basic_resolver_query::service_name</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150377088"></a>
+Get the service name associated with
+ the query.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">service_name</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__basic_resolver_query/v4_mapped.html b/doc/html/boost_asio/reference/ip__basic_resolver_query/v4_mapped.html
new file mode 100644
index 0000000000..525375a573
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__basic_resolver_query/v4_mapped.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::basic_resolver_query::v4_mapped</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query">
+<link rel="prev" href="service_name.html" title="ip::basic_resolver_query::service_name">
+<link rel="next" href="../ip__host_name.html" title="ip::host_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__host_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__basic_resolver_query.v4_mapped"></a><a class="link" href="v4_mapped.html" title="ip::basic_resolver_query::v4_mapped">ip::basic_resolver_query::v4_mapped</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from ip::resolver_query_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp150386208"></a>
+If the query protocol family is specified
+ as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">v4_mapped</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="service_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__basic_resolver_query.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__host_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__host_name.html b/doc/html/boost_asio/reference/ip__host_name.html
new file mode 100644
index 0000000000..490ac99341
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__host_name.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::host_name</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__basic_resolver_query/v4_mapped.html" title="ip::basic_resolver_query::v4_mapped">
+<link rel="next" href="ip__host_name/overload1.html" title="ip::host_name (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__basic_resolver_query/v4_mapped.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__host_name/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__host_name"></a><a class="link" href="ip__host_name.html" title="ip::host_name">ip::host_name</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp150395008"></a>
+Get the current host name.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="ip__host_name/overload1.html" title="ip::host_name (1 of 2 overloads)">host_name</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="ip__host_name/overload1.html" title="ip::host_name (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="ip__host_name/overload2.html" title="ip::host_name (2 of 2 overloads)">host_name</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="ip__host_name/overload2.html" title="ip::host_name (2 of 2 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__host_name.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__host_name.requirements"></a></span><a class="link" href="ip__host_name.html#boost_asio.reference.ip__host_name.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/host_name.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__basic_resolver_query/v4_mapped.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__host_name/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__host_name/overload1.html b/doc/html/boost_asio/reference/ip__host_name/overload1.html
new file mode 100644
index 0000000000..ac2330aa69
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__host_name/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::host_name (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__host_name.html" title="ip::host_name">
+<link rel="prev" href="../ip__host_name.html" title="ip::host_name">
+<link rel="next" href="overload2.html" title="ip::host_name (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__host_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__host_name.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__host_name.overload1"></a><a class="link" href="overload1.html" title="ip::host_name (1 of 2 overloads)">ip::host_name
+ (1 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the current host name.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__host_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__host_name.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__host_name/overload2.html b/doc/html/boost_asio/reference/ip__host_name/overload2.html
new file mode 100644
index 0000000000..0168b431b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__host_name/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::host_name (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__host_name.html" title="ip::host_name">
+<link rel="prev" href="overload1.html" title="ip::host_name (1 of 2 overloads)">
+<link rel="next" href="../ip__icmp.html" title="ip::icmp">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__host_name.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__icmp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__host_name.overload2"></a><a class="link" href="overload2.html" title="ip::host_name (2 of 2 overloads)">ip::host_name
+ (2 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Get the current host name.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">host_name</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__host_name.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__icmp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp.html b/doc/html/boost_asio/reference/ip__icmp.html
new file mode 100644
index 0000000000..c25ff542ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp.html
@@ -0,0 +1,266 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__host_name/overload2.html" title="ip::host_name (2 of 2 overloads)">
+<link rel="next" href="ip__icmp/endpoint.html" title="ip::icmp::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__host_name/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__icmp/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__icmp"></a><a class="link" href="ip__icmp.html" title="ip::icmp">ip::icmp</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for ICMP.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">icmp</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__icmp.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.types"></a></span><a class="link" href="ip__icmp.html#boost_asio.reference.ip__icmp.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/endpoint.html" title="ip::icmp::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a ICMP endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/resolver.html" title="ip::icmp::resolver"><span class="bold"><strong>resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The ICMP resolver type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/socket.html" title="ip::icmp::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The ICMP socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__icmp.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.member_functions"></a></span><a class="link" href="ip__icmp.html#boost_asio.reference.ip__icmp.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/family.html" title="ip::icmp::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/protocol.html" title="ip::icmp::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/type.html" title="ip::icmp::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/v4.html" title="ip::icmp::v4"><span class="bold"><strong>v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent the IPv4 ICMP protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/v6.html" title="ip::icmp::v6"><span class="bold"><strong>v6</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent the IPv6 ICMP protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__icmp.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.friends"></a></span><a class="link" href="ip__icmp.html#boost_asio.reference.ip__icmp.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/operator_not__eq_.html" title="ip::icmp::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__icmp/operator_eq__eq_.html" title="ip::icmp::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__icmp.html" title="ip::icmp"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span></code></a>
+ class contains flags necessary for ICMP sockets.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__icmp.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.thread_safety"></a></span><a class="link" href="ip__icmp.html#boost_asio.reference.ip__icmp.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__icmp.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.requirements"></a></span><a class="link" href="ip__icmp.html#boost_asio.reference.ip__icmp.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__host_name/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__icmp/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/endpoint.html b/doc/html/boost_asio/reference/ip__icmp/endpoint.html
new file mode 100644
index 0000000000..3a8939bcf3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/endpoint.html
@@ -0,0 +1,408 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="../ip__icmp.html" title="ip::icmp">
+<link rel="next" href="family.html" title="ip::icmp::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__icmp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.endpoint"></a><a class="link" href="endpoint.html" title="ip::icmp::endpoint">ip::icmp::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150506416"></a>
+The type of a ICMP endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">icmp</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__icmp.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__icmp.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/data_type.html" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/protocol_type.html" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__icmp.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/address.html" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the IP address associated with the endpoint.
+ </p>
+ <p>
+ Set the IP address associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using a port number, specified in the host's
+ byte order. The IP address will be the any address (i.e. INADDR_ANY
+ or in6addr_any). This constructor would typically be used for
+ accepting new connections.
+ </p>
+ <p>
+ Construct an endpoint using a port number and an IP address.
+ This constructor may be used for accepting connections on a specific
+ interface or for making a connection to a remote endpoint.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/capacity.html" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/data.html" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_eq_.html" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/port.html" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the port associated with the endpoint. The port number is
+ always in the host's byte order.
+ </p>
+ <p>
+ Set the port associated with the endpoint. The port number is
+ always in the host's byte order.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/protocol.html" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/resize.html" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/size.html" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__icmp.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_not__eq_.html" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt_.html" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_eq__eq_.html" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_gt_.html" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.related_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__icmp.endpoint.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_endpoint.html" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with a particular socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__icmp.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__icmp.endpoint.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__icmp.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__icmp.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../ip__icmp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/family.html b/doc/html/boost_asio/reference/ip__icmp/family.html
new file mode 100644
index 0000000000..ab5b642f70
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="endpoint.html" title="ip::icmp::endpoint">
+<link rel="next" href="operator_not__eq_.html" title="ip::icmp::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.family"></a><a class="link" href="family.html" title="ip::icmp::family">ip::icmp::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150618416"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__icmp/operator_eq__eq_.html
new file mode 100644
index 0000000000..689825fd1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="operator_not__eq_.html" title="ip::icmp::operator!=">
+<link rel="next" href="protocol.html" title="ip::icmp::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::icmp::operator==">ip::icmp::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150644448"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__icmp.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__icmp.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__icmp/operator_not__eq_.html
new file mode 100644
index 0000000000..fcb9cbf38e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="family.html" title="ip::icmp::family">
+<link rel="next" href="operator_eq__eq_.html" title="ip::icmp::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::icmp::operator!=">ip::icmp::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150625664"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">icmp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__icmp.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__icmp.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/protocol.html b/doc/html/boost_asio/reference/ip__icmp/protocol.html
new file mode 100644
index 0000000000..02076155f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::icmp::operator==">
+<link rel="next" href="resolver.html" title="ip::icmp::resolver">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.protocol"></a><a class="link" href="protocol.html" title="ip::icmp::protocol">ip::icmp::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150663008"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/resolver.html b/doc/html/boost_asio/reference/ip__icmp/resolver.html
new file mode 100644
index 0000000000..1c50f85841
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/resolver.html
@@ -0,0 +1,362 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::resolver</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="protocol.html" title="ip::icmp::protocol">
+<link rel="next" href="socket.html" title="ip::icmp::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.resolver"></a><a class="link" href="resolver.html" title="ip::icmp::resolver">ip::icmp::resolver</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150670064"></a>
+The ICMP resolver type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver</span><span class="special">&lt;</span> <span class="identifier">icmp</span> <span class="special">&gt;</span> <span class="identifier">resolver</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__icmp.resolver.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.types"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__icmp.resolver.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/endpoint_type.html" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/implementation_type.html" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/protocol_type.html" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/query.html" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The query type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/service_type.html" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.resolver.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.member_functions"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__icmp.resolver.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Asynchronously perform forward resolution of a query to a list
+ of entries.
+ </p>
+ <p>
+ Asynchronously perform reverse resolution of an endpoint to a
+ list of entries.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/basic_resolver.html" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/cancel.html" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the resolver.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_io_service.html" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform forward resolution of a query to a list of entries.
+ </p>
+ <p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.resolver.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.protected_member_functions"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__icmp.resolver.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_implementation.html" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_service.html" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.resolver.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.protected_data_members"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__icmp.resolver.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/implementation.html" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/service.html" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver.html" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a> class template
+ provides the ability to resolve a query to a list of endpoints.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__icmp.resolver.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.thread_safety"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__icmp.resolver.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__icmp.resolver.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.resolver.requirements"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__icmp.resolver.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/socket.html b/doc/html/boost_asio/reference/ip__icmp/socket.html
new file mode 100644
index 0000000000..98b837a5c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/socket.html
@@ -0,0 +1,991 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="resolver.html" title="ip::icmp::resolver">
+<link rel="next" href="type.html" title="ip::icmp::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.socket"></a><a class="link" href="socket.html" title="ip::icmp::socket">ip::icmp::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp150770480"></a>
+The ICMP socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_raw_socket</span><span class="special">&lt;</span> <span class="identifier">icmp</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/broadcast.html" title="basic_raw_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/bytes_readable.html" title="basic_raw_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/debug.html" title="basic_raw_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/do_not_route.html" title="basic_raw_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/enable_connection_aborted.html" title="basic_raw_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/endpoint_type.html" title="basic_raw_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/implementation_type.html" title="basic_raw_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/keep_alive.html" title="basic_raw_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/linger.html" title="basic_raw_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/lowest_layer_type.html" title="basic_raw_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_flags.html" title="basic_raw_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_handle_type.html" title="basic_raw_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_type.html" title="basic_raw_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/non_blocking_io.html" title="basic_raw_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/protocol_type.html" title="basic_raw_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive_buffer_size.html" title="basic_raw_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive_low_watermark.html" title="basic_raw_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/reuse_address.html" title="basic_raw_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send_buffer_size.html" title="basic_raw_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send_low_watermark.html" title="basic_raw_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/service_type.html" title="basic_raw_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/shutdown_type.html" title="basic_raw_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/assign.html" title="basic_raw_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_connect.html" title="basic_raw_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_receive.html" title="basic_raw_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_receive_from.html" title="basic_raw_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_send.html" title="basic_raw_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/async_send_to.html" title="basic_raw_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/at_mark.html" title="basic_raw_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/available.html" title="basic_raw_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/basic_raw_socket.html" title="basic_raw_socket::basic_raw_socket"><span class="bold"><strong>basic_raw_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_raw_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_raw_socket.
+ </p>
+ <p>
+ Construct a basic_raw_socket, opening it and binding it to the
+ given local endpoint.
+ </p>
+ <p>
+ Construct a basic_raw_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_raw_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_raw_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/bind.html" title="basic_raw_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/cancel.html" title="basic_raw_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/close.html" title="basic_raw_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/connect.html" title="basic_raw_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_io_service.html" title="basic_raw_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_option.html" title="basic_raw_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/io_control.html" title="basic_raw_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/is_open.html" title="basic_raw_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/local_endpoint.html" title="basic_raw_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/lowest_layer.html" title="basic_raw_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native.html" title="basic_raw_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_handle.html" title="basic_raw_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/native_non_blocking.html" title="basic_raw_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/non_blocking.html" title="basic_raw_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/open.html" title="basic_raw_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/operator_eq_.html" title="basic_raw_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_raw_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_raw_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive.html" title="basic_raw_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/receive_from.html" title="basic_raw_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/remote_endpoint.html" title="basic_raw_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send.html" title="basic_raw_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/send_to.html" title="basic_raw_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send raw data to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/set_option.html" title="basic_raw_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/shutdown.html" title="basic_raw_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_implementation.html" title="basic_raw_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/get_service.html" title="basic_raw_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/max_connections.html" title="basic_raw_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_do_not_route.html" title="basic_raw_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_end_of_record.html" title="basic_raw_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_out_of_band.html" title="basic_raw_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/message_peek.html" title="basic_raw_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/implementation.html" title="basic_raw_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_raw_socket/service.html" title="basic_raw_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_raw_socket.html" title="basic_raw_socket"><code class="computeroutput"><span class="identifier">basic_raw_socket</span></code></a> class template
+ provides asynchronous and blocking raw-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__icmp.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__icmp.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__icmp.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/icmp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/type.html b/doc/html/boost_asio/reference/ip__icmp/type.html
new file mode 100644
index 0000000000..c2a8348789
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="socket.html" title="ip::icmp::socket">
+<link rel="next" href="v4.html" title="ip::icmp::v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.type"></a><a class="link" href="type.html" title="ip::icmp::type">ip::icmp::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151038368"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/v4.html b/doc/html/boost_asio/reference/ip__icmp/v4.html
new file mode 100644
index 0000000000..ac812dc5f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/v4.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="type.html" title="ip::icmp::type">
+<link rel="next" href="v6.html" title="ip::icmp::v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.v4"></a><a class="link" href="v4.html" title="ip::icmp::v4">ip::icmp::v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151045360"></a>
+Construct to represent the IPv4 ICMP protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">icmp</span> <span class="identifier">v4</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__icmp/v6.html b/doc/html/boost_asio/reference/ip__icmp/v6.html
new file mode 100644
index 0000000000..eca4768cf2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__icmp/v6.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::icmp::v6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__icmp.html" title="ip::icmp">
+<link rel="prev" href="v4.html" title="ip::icmp::v4">
+<link rel="next" href="../ip__multicast__enable_loopback.html" title="ip::multicast::enable_loopback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__multicast__enable_loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__icmp.v6"></a><a class="link" href="v6.html" title="ip::icmp::v6">ip::icmp::v6</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151051872"></a>
+Construct to represent the IPv6 ICMP protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">icmp</span> <span class="identifier">v6</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__icmp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__multicast__enable_loopback.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__multicast__enable_loopback.html b/doc/html/boost_asio/reference/ip__multicast__enable_loopback.html
new file mode 100644
index 0000000000..009aa39b8c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__multicast__enable_loopback.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::multicast::enable_loopback</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__icmp/v6.html" title="ip::icmp::v6">
+<link rel="next" href="ip__multicast__hops.html" title="ip::multicast::hops">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__icmp/v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__hops.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__multicast__enable_loopback"></a><a class="link" href="ip__multicast__enable_loopback.html" title="ip::multicast::enable_loopback">ip::multicast::enable_loopback</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp151058608"></a>
+Socket option determining whether outgoing
+ multicast packets will be received on the same socket if it is a member of
+ the multicast group.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_loopback</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IP/IP_MULTICAST_LOOP socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__multicast__enable_loopback.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__enable_loopback.examples"></a></span><a class="link" href="ip__multicast__enable_loopback.html#boost_asio.reference.ip__multicast__enable_loopback.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">enable_loopback</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">enable_loopback</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__multicast__enable_loopback.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__enable_loopback.requirements"></a></span><a class="link" href="ip__multicast__enable_loopback.html#boost_asio.reference.ip__multicast__enable_loopback.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__icmp/v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__hops.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__multicast__hops.html b/doc/html/boost_asio/reference/ip__multicast__hops.html
new file mode 100644
index 0000000000..eb9da65437
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__multicast__hops.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::multicast::hops</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__multicast__enable_loopback.html" title="ip::multicast::enable_loopback">
+<link rel="next" href="ip__multicast__join_group.html" title="ip::multicast::join_group">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__multicast__enable_loopback.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__join_group.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__multicast__hops"></a><a class="link" href="ip__multicast__hops.html" title="ip::multicast::hops">ip::multicast::hops</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp151116720"></a>
+Socket option for time-to-live associated with outgoing
+ multicast packets.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">hops</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IP/IP_MULTICAST_TTL socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__multicast__hops.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__hops.examples"></a></span><a class="link" href="ip__multicast__hops.html#boost_asio.reference.ip__multicast__hops.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">ttl</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__multicast__hops.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__hops.requirements"></a></span><a class="link" href="ip__multicast__hops.html#boost_asio.reference.ip__multicast__hops.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__multicast__enable_loopback.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__join_group.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__multicast__join_group.html b/doc/html/boost_asio/reference/ip__multicast__join_group.html
new file mode 100644
index 0000000000..607918f72f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__multicast__join_group.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::multicast::join_group</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__multicast__hops.html" title="ip::multicast::hops">
+<link rel="next" href="ip__multicast__leave_group.html" title="ip::multicast::leave_group">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__multicast__hops.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__leave_group.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__multicast__join_group"></a><a class="link" href="ip__multicast__join_group.html" title="ip::multicast::join_group">ip::multicast::join_group</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp151174480"></a>
+Socket option to join a multicast group on a specified
+ interface.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">join_group</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IP/IP_ADD_MEMBERSHIP socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__multicast__join_group.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__join_group.examples"></a></span><a class="link" href="ip__multicast__join_group.html#boost_asio.reference.ip__multicast__join_group.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option to join a multicast group:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="identifier">multicast_address</span> <span class="special">=</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"225.0.0.1"</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">join_group</span> <span class="identifier">option</span><span class="special">(</span><span class="identifier">multicast_address</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__multicast__join_group.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__join_group.requirements"></a></span><a class="link" href="ip__multicast__join_group.html#boost_asio.reference.ip__multicast__join_group.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__multicast__hops.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__leave_group.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__multicast__leave_group.html b/doc/html/boost_asio/reference/ip__multicast__leave_group.html
new file mode 100644
index 0000000000..3488005e4e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__multicast__leave_group.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::multicast::leave_group</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__multicast__join_group.html" title="ip::multicast::join_group">
+<link rel="next" href="ip__multicast__outbound_interface.html" title="ip::multicast::outbound_interface">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__multicast__join_group.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__outbound_interface.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__multicast__leave_group"></a><a class="link" href="ip__multicast__leave_group.html" title="ip::multicast::leave_group">ip::multicast::leave_group</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp151221728"></a>
+Socket option to leave a multicast group on a specified
+ interface.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">leave_group</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IP/IP_DROP_MEMBERSHIP socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__multicast__leave_group.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__leave_group.examples"></a></span><a class="link" href="ip__multicast__leave_group.html#boost_asio.reference.ip__multicast__leave_group.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option to leave a multicast group:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span> <span class="identifier">multicast_address</span> <span class="special">=</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"225.0.0.1"</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">leave_group</span> <span class="identifier">option</span><span class="special">(</span><span class="identifier">multicast_address</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__multicast__leave_group.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__leave_group.requirements"></a></span><a class="link" href="ip__multicast__leave_group.html#boost_asio.reference.ip__multicast__leave_group.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__multicast__join_group.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__multicast__outbound_interface.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__multicast__outbound_interface.html b/doc/html/boost_asio/reference/ip__multicast__outbound_interface.html
new file mode 100644
index 0000000000..a40c355ab9
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__multicast__outbound_interface.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::multicast::outbound_interface</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__multicast__leave_group.html" title="ip::multicast::leave_group">
+<link rel="next" href="ip__resolver_query_base.html" title="ip::resolver_query_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__multicast__leave_group.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__resolver_query_base.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__multicast__outbound_interface"></a><a class="link" href="ip__multicast__outbound_interface.html" title="ip::multicast::outbound_interface">ip::multicast::outbound_interface</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp151268736"></a>
+Socket option for local interface to use
+ for outgoing multicast packets.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">outbound_interface</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IP/IP_MULTICAST_IF socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__multicast__outbound_interface.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__outbound_interface.examples"></a></span><a class="link" href="ip__multicast__outbound_interface.html#boost_asio.reference.ip__multicast__outbound_interface.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span> <span class="identifier">local_interface</span> <span class="special">=</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">address_v4</span><span class="special">::</span><span class="identifier">from_string</span><span class="special">(</span><span class="string">"1.2.3.4"</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">multicast</span><span class="special">::</span><span class="identifier">outbound_interface</span> <span class="identifier">option</span><span class="special">(</span><span class="identifier">local_interface</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__multicast__outbound_interface.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__multicast__outbound_interface.requirements"></a></span><a class="link" href="ip__multicast__outbound_interface.html#boost_asio.reference.ip__multicast__outbound_interface.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/multicast.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__multicast__leave_group.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__resolver_query_base.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base.html b/doc/html/boost_asio/reference/ip__resolver_query_base.html
new file mode 100644
index 0000000000..dd53558bd4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base.html
@@ -0,0 +1,244 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__multicast__outbound_interface.html" title="ip::multicast::outbound_interface">
+<link rel="next" href="ip__resolver_query_base/address_configured.html" title="ip::resolver_query_base::address_configured">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__multicast__outbound_interface.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__resolver_query_base/address_configured.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base"></a><a class="link" href="ip__resolver_query_base.html" title="ip::resolver_query_base">ip::resolver_query_base</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="ip__resolver_query_base.html" title="ip::resolver_query_base"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">resolver_query_base</span></code></a>
+ class is used as a base for the <a class="link" href="ip__basic_resolver_query.html" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a>
+ class templates to provide a common place to define the flag constants.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">resolver_query_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__resolver_query_base.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.types"></a></span><a class="link" href="ip__resolver_query_base.html#boost_asio.reference.ip__resolver_query_base.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/flags.html" title="ip::resolver_query_base::flags"><span class="bold"><strong>flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A bitmask type (C++ Std [lib.bitmask.types]).
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__resolver_query_base.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.protected_member_functions"></a></span><a class="link" href="ip__resolver_query_base.html#boost_asio.reference.ip__resolver_query_base.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/_resolver_query_base.html" title="ip::resolver_query_base::~resolver_query_base"><span class="bold"><strong>~resolver_query_base</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__resolver_query_base.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.data_members"></a></span><a class="link" href="ip__resolver_query_base.html#boost_asio.reference.ip__resolver_query_base.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/address_configured.html" title="ip::resolver_query_base::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Only return IPv4 addresses if a non-loopback IPv4 address is configured
+ for the system. Only return IPv6 addresses if a non-loopback IPv6
+ address is configured for the system.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/all_matching.html" title="ip::resolver_query_base::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/canonical_name.html" title="ip::resolver_query_base::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the canonical name of the host specified in the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/numeric_host.html" title="ip::resolver_query_base::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Host name should be treated as a numeric string defining an IPv4
+ or IPv6 address and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/numeric_service.html" title="ip::resolver_query_base::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Service name should be treated as a numeric string defining a port
+ number and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/passive.html" title="ip::resolver_query_base::passive"><span class="bold"><strong>passive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Indicate that returned endpoint is intended for use as a locally
+ bound socket endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_query_base/v4_mapped.html" title="ip::resolver_query_base::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If the query protocol family is specified as IPv6, return IPv4-mapped
+ IPv6 addresses on finding no IPv6 addresses.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__resolver_query_base.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.requirements"></a></span><a class="link" href="ip__resolver_query_base.html#boost_asio.reference.ip__resolver_query_base.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_query_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__multicast__outbound_interface.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__resolver_query_base/address_configured.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/_resolver_query_base.html b/doc/html/boost_asio/reference/ip__resolver_query_base/_resolver_query_base.html
new file mode 100644
index 0000000000..1cc3bafc5f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/_resolver_query_base.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::~resolver_query_base</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="v4_mapped.html" title="ip::resolver_query_base::v4_mapped">
+<link rel="next" href="../ip__resolver_service.html" title="ip::resolver_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="v4_mapped.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base._resolver_query_base"></a><a class="link" href="_resolver_query_base.html" title="ip::resolver_query_base::~resolver_query_base">ip::resolver_query_base::~resolver_query_base</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151457936"></a>
+Protected destructor to prevent
+ deletion through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">resolver_query_base</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="v4_mapped.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/address_configured.html b/doc/html/boost_asio/reference/ip__resolver_query_base/address_configured.html
new file mode 100644
index 0000000000..e503795201
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/address_configured.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::address_configured</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="next" href="all_matching.html" title="ip::resolver_query_base::all_matching">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all_matching.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.address_configured"></a><a class="link" href="address_configured.html" title="ip::resolver_query_base::address_configured">ip::resolver_query_base::address_configured</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151383872"></a>
+Only return IPv4 addresses if
+ a non-loopback IPv4 address is configured for the system. Only return IPv6
+ addresses if a non-loopback IPv6 address is configured for the system.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">address_configured</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all_matching.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/all_matching.html b/doc/html/boost_asio/reference/ip__resolver_query_base/all_matching.html
new file mode 100644
index 0000000000..6473925a32
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/all_matching.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::all_matching</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="address_configured.html" title="ip::resolver_query_base::address_configured">
+<link rel="next" href="canonical_name.html" title="ip::resolver_query_base::canonical_name">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="address_configured.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="canonical_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.all_matching"></a><a class="link" href="all_matching.html" title="ip::resolver_query_base::all_matching">ip::resolver_query_base::all_matching</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151392864"></a>
+If used with v4_mapped, return all matching
+ IPv6 and IPv4 addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">all_matching</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="address_configured.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="canonical_name.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/canonical_name.html b/doc/html/boost_asio/reference/ip__resolver_query_base/canonical_name.html
new file mode 100644
index 0000000000..ec99512689
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/canonical_name.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::canonical_name</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="all_matching.html" title="ip::resolver_query_base::all_matching">
+<link rel="next" href="flags.html" title="ip::resolver_query_base::flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="all_matching.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.canonical_name"></a><a class="link" href="canonical_name.html" title="ip::resolver_query_base::canonical_name">ip::resolver_query_base::canonical_name</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151401712"></a>
+Determine the canonical name of the
+ host specified in the query.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">canonical_name</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="all_matching.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/flags.html b/doc/html/boost_asio/reference/ip__resolver_query_base/flags.html
new file mode 100644
index 0000000000..0ad41cdbca
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/flags.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="canonical_name.html" title="ip::resolver_query_base::canonical_name">
+<link rel="next" href="numeric_host.html" title="ip::resolver_query_base::numeric_host">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="canonical_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_host.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.flags"></a><a class="link" href="flags.html" title="ip::resolver_query_base::flags">ip::resolver_query_base::flags</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151410544"></a>
+A bitmask type (C++ Std [lib.bitmask.types]).
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_query_base.flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_query_base.flags.requirements"></a></span><a class="link" href="flags.html#boost_asio.reference.ip__resolver_query_base.flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_query_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="canonical_name.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_host.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/numeric_host.html b/doc/html/boost_asio/reference/ip__resolver_query_base/numeric_host.html
new file mode 100644
index 0000000000..5c000cf974
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/numeric_host.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::numeric_host</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="flags.html" title="ip::resolver_query_base::flags">
+<link rel="next" href="numeric_service.html" title="ip::resolver_query_base::numeric_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.numeric_host"></a><a class="link" href="numeric_host.html" title="ip::resolver_query_base::numeric_host">ip::resolver_query_base::numeric_host</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151422640"></a>
+Host name should be treated as a numeric
+ string defining an IPv4 or IPv6 address and no name resolution should be
+ attempted.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_host</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="numeric_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/numeric_service.html b/doc/html/boost_asio/reference/ip__resolver_query_base/numeric_service.html
new file mode 100644
index 0000000000..a02d16388f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/numeric_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::numeric_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="numeric_host.html" title="ip::resolver_query_base::numeric_host">
+<link rel="next" href="passive.html" title="ip::resolver_query_base::passive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="numeric_host.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="passive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.numeric_service"></a><a class="link" href="numeric_service.html" title="ip::resolver_query_base::numeric_service">ip::resolver_query_base::numeric_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151431600"></a>
+Service name should be treated as
+ a numeric string defining a port number and no name resolution should be
+ attempted.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">numeric_service</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="numeric_host.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="passive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/passive.html b/doc/html/boost_asio/reference/ip__resolver_query_base/passive.html
new file mode 100644
index 0000000000..f8e4478c4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/passive.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::passive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="numeric_service.html" title="ip::resolver_query_base::numeric_service">
+<link rel="next" href="v4_mapped.html" title="ip::resolver_query_base::v4_mapped">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="numeric_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.passive"></a><a class="link" href="passive.html" title="ip::resolver_query_base::passive">ip::resolver_query_base::passive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151440432"></a>
+Indicate that returned endpoint is intended
+ for use as a locally bound socket endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">passive</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="numeric_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4_mapped.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_query_base/v4_mapped.html b/doc/html/boost_asio/reference/ip__resolver_query_base/v4_mapped.html
new file mode 100644
index 0000000000..cdc0e192ea
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_query_base/v4_mapped.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_query_base::v4_mapped</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_query_base.html" title="ip::resolver_query_base">
+<link rel="prev" href="passive.html" title="ip::resolver_query_base::passive">
+<link rel="next" href="_resolver_query_base.html" title="ip::resolver_query_base::~resolver_query_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="passive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_resolver_query_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_query_base.v4_mapped"></a><a class="link" href="v4_mapped.html" title="ip::resolver_query_base::v4_mapped">ip::resolver_query_base::v4_mapped</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151449168"></a>
+If the query protocol family is specified
+ as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">flags</span> <span class="identifier">v4_mapped</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="passive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_query_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_resolver_query_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service.html b/doc/html/boost_asio/reference/ip__resolver_service.html
new file mode 100644
index 0000000000..d0c4b13cf0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service.html
@@ -0,0 +1,294 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__resolver_query_base/_resolver_query_base.html" title="ip::resolver_query_base::~resolver_query_base">
+<link rel="next" href="ip__resolver_service/async_resolve.html" title="ip::resolver_service::async_resolve">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__resolver_query_base/_resolver_query_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__resolver_service/async_resolve.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__resolver_service"></a><a class="link" href="ip__resolver_service.html" title="ip::resolver_service">ip::resolver_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a resolver.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="InternetProtocol.html" title="Internet protocol requirements">InternetProtocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">resolver_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__resolver_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.types"></a></span><a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/endpoint_type.html" title="ip::resolver_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/implementation_type.html" title="ip::resolver_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a resolver implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/iterator_type.html" title="ip::resolver_service::iterator_type"><span class="bold"><strong>iterator_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/protocol_type.html" title="ip::resolver_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/query_type.html" title="ip::resolver_service::query_type"><span class="bold"><strong>query_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The query type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__resolver_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.member_functions"></a></span><a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/async_resolve.html" title="ip::resolver_service::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Asynchronously resolve a query to a list of entries.
+ </p>
+ <p>
+ Asynchronously resolve an endpoint to a list of entries.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/cancel.html" title="ip::resolver_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel pending asynchronous operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/construct.html" title="ip::resolver_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new resolver implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/destroy.html" title="ip::resolver_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a resolver implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/get_io_service.html" title="ip::resolver_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/resolve.html" title="ip::resolver_service::resolve"><span class="bold"><strong>resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Resolve a query to a list of entries.
+ </p>
+ <p>
+ Resolve an endpoint to a list of entries.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/resolver_service.html" title="ip::resolver_service::resolver_service"><span class="bold"><strong>resolver_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new resolver service for the specified io_service.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__resolver_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.data_members"></a></span><a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ip__resolver_service/id.html" title="ip::resolver_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__resolver_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.requirements"></a></span><a class="link" href="ip__resolver_service.html#boost_asio.reference.ip__resolver_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__resolver_query_base/_resolver_query_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__resolver_service/async_resolve.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/async_resolve.html b/doc/html/boost_asio/reference/ip__resolver_service/async_resolve.html
new file mode 100644
index 0000000000..f912b09f85
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/async_resolve.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::async_resolve</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="next" href="async_resolve/overload1.html" title="ip::resolver_service::async_resolve (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.async_resolve"></a><a class="link" href="async_resolve.html" title="ip::resolver_service::async_resolve">ip::resolver_service::async_resolve</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151546352"></a>
+Asynchronously resolve a query to a list
+ of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_resolve/overload1.html" title="ip::resolver_service::async_resolve (1 of 2 overloads)">async_resolve</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_resolve/overload1.html" title="ip::resolver_service::async_resolve (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Asynchronously resolve an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_resolve/overload2.html" title="ip::resolver_service::async_resolve (2 of 2 overloads)">async_resolve</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_resolve/overload2.html" title="ip::resolver_service::async_resolve (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ip__resolver_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload1.html b/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload1.html
new file mode 100644
index 0000000000..738fefaac8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::async_resolve (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_resolve.html" title="ip::resolver_service::async_resolve">
+<link rel="prev" href="../async_resolve.html" title="ip::resolver_service::async_resolve">
+<link rel="next" href="overload2.html" title="ip::resolver_service::async_resolve (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__resolver_service.async_resolve.overload1"></a><a class="link" href="overload1.html" title="ip::resolver_service::async_resolve (1 of 2 overloads)">ip::resolver_service::async_resolve
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Asynchronously resolve a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../async_resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload2.html b/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload2.html
new file mode 100644
index 0000000000..f7f21e0b7c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/async_resolve/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::async_resolve (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_resolve.html" title="ip::resolver_service::async_resolve">
+<link rel="prev" href="overload1.html" title="ip::resolver_service::async_resolve (1 of 2 overloads)">
+<link rel="next" href="../cancel.html" title="ip::resolver_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__resolver_service.async_resolve.overload2"></a><a class="link" href="overload2.html" title="ip::resolver_service::async_resolve (2 of 2 overloads)">ip::resolver_service::async_resolve
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Asynchronously resolve an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ResolveHandler.html" title="Resolve handler requirements">ResolveHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_resolve</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">ResolveHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/cancel.html b/doc/html/boost_asio/reference/ip__resolver_service/cancel.html
new file mode 100644
index 0000000000..fe774f8db7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/cancel.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="async_resolve/overload2.html" title="ip::resolver_service::async_resolve (2 of 2 overloads)">
+<link rel="next" href="construct.html" title="ip::resolver_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_resolve/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.cancel"></a><a class="link" href="cancel.html" title="ip::resolver_service::cancel">ip::resolver_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151614592"></a>
+Cancel pending asynchronous operations.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_resolve/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/construct.html b/doc/html/boost_asio/reference/ip__resolver_service/construct.html
new file mode 100644
index 0000000000..f7ce9a63b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="cancel.html" title="ip::resolver_service::cancel">
+<link rel="next" href="destroy.html" title="ip::resolver_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.construct"></a><a class="link" href="construct.html" title="ip::resolver_service::construct">ip::resolver_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151623136"></a>
+Construct a new resolver implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/destroy.html b/doc/html/boost_asio/reference/ip__resolver_service/destroy.html
new file mode 100644
index 0000000000..d58920ca9a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="construct.html" title="ip::resolver_service::construct">
+<link rel="next" href="endpoint_type.html" title="ip::resolver_service::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.destroy"></a><a class="link" href="destroy.html" title="ip::resolver_service::destroy">ip::resolver_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151631680"></a>
+Destroy a resolver implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/endpoint_type.html b/doc/html/boost_asio/reference/ip__resolver_service/endpoint_type.html
new file mode 100644
index 0000000000..25f5458330
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="destroy.html" title="ip::resolver_service::destroy">
+<link rel="next" href="get_io_service.html" title="ip::resolver_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.endpoint_type"></a><a class="link" href="endpoint_type.html" title="ip::resolver_service::endpoint_type">ip::resolver_service::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151640288"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.ip__resolver_service.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/get_io_service.html b/doc/html/boost_asio/reference/ip__resolver_service/get_io_service.html
new file mode 100644
index 0000000000..b714ac4e24
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="endpoint_type.html" title="ip::resolver_service::endpoint_type">
+<link rel="next" href="id.html" title="ip::resolver_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.get_io_service"></a><a class="link" href="get_io_service.html" title="ip::resolver_service::get_io_service">ip::resolver_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp151654528"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/id.html b/doc/html/boost_asio/reference/ip__resolver_service/id.html
new file mode 100644
index 0000000000..6c153258e7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="get_io_service.html" title="ip::resolver_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="ip::resolver_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.id"></a><a class="link" href="id.html" title="ip::resolver_service::id">ip::resolver_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151665280"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/implementation_type.html b/doc/html/boost_asio/reference/ip__resolver_service/implementation_type.html
new file mode 100644
index 0000000000..980e0124ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/implementation_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="id.html" title="ip::resolver_service::id">
+<link rel="next" href="iterator_type.html" title="ip::resolver_service::iterator_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.implementation_type"></a><a class="link" href="implementation_type.html" title="ip::resolver_service::implementation_type">ip::resolver_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151675104"></a>
+The type of a resolver implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.ip__resolver_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iterator_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/iterator_type.html b/doc/html/boost_asio/reference/ip__resolver_service/iterator_type.html
new file mode 100644
index 0000000000..136d76a3a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/iterator_type.html
@@ -0,0 +1,307 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::iterator_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="implementation_type.html" title="ip::resolver_service::implementation_type">
+<link rel="next" href="protocol_type.html" title="ip::resolver_service::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.iterator_type"></a><a class="link" href="iterator_type.html" title="ip::resolver_service::iterator_type">ip::resolver_service::iterator_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151687472"></a>
+The iterator type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_iterator</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">iterator_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.iterator_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.types"></a></span><a class="link" href="iterator_type.html#boost_asio.reference.ip__resolver_service.iterator_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/difference_type.html" title="ip::basic_resolver_iterator::difference_type"><span class="bold"><strong>difference_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used for the distance between two iterators.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/iterator_category.html" title="ip::basic_resolver_iterator::iterator_category"><span class="bold"><strong>iterator_category</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator category.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/pointer.html" title="ip::basic_resolver_iterator::pointer"><span class="bold"><strong>pointer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator-&gt;() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/reference.html" title="ip::basic_resolver_iterator::reference"><span class="bold"><strong>reference</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the result of applying operator*() to the iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/value_type.html" title="ip::basic_resolver_iterator::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the value pointed to by the iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.iterator_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.member_functions"></a></span><a class="link" href="iterator_type.html#boost_asio.reference.ip__resolver_service.iterator_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/basic_resolver_iterator.html" title="ip::basic_resolver_iterator::basic_resolver_iterator"><span class="bold"><strong>basic_resolver_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor creates an end iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/create.html" title="ip::basic_resolver_iterator::create"><span class="bold"><strong>create</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create an iterator from an addrinfo list returned by getaddrinfo.
+ </p>
+ <p>
+ Create an iterator from an endpoint, host name and service name.
+ </p>
+ <p>
+ Create an iterator from a sequence of endpoints, host and service
+ name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator__star_.html" title="ip::basic_resolver_iterator::operator *"><span class="bold"><strong>operator *</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_plus__plus_.html" title="ip::basic_resolver_iterator::operator++"><span class="bold"><strong>operator++</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Increment operator (prefix).
+ </p>
+ <p>
+ Increment operator (postfix).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_arrow_.html" title="ip::basic_resolver_iterator::operator-&gt;"><span class="bold"><strong>operator-&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Dereference an iterator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.iterator_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.friends"></a></span><a class="link" href="iterator_type.html#boost_asio.reference.ip__resolver_service.iterator_type.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_not__eq_.html" title="ip::basic_resolver_iterator::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_iterator/operator_eq__eq_.html" title="ip::basic_resolver_iterator::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test two iterators for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver_iterator.html" title="ip::basic_resolver_iterator"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_iterator</span></code></a> class
+ template is used to define iterators over the results returned by a resolver.
+ </p>
+<p>
+ The iterator's value_type, obtained when the iterator is dereferenced,
+ is:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">basic_resolver_entry</span><span class="special">&lt;</span><span class="identifier">InternetProtocol</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.iterator_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.thread_safety"></a></span><a class="link" href="iterator_type.html#boost_asio.reference.ip__resolver_service.iterator_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.iterator_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.iterator_type.requirements"></a></span><a class="link" href="iterator_type.html#boost_asio.reference.ip__resolver_service.iterator_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/protocol_type.html b/doc/html/boost_asio/reference/ip__resolver_service/protocol_type.html
new file mode 100644
index 0000000000..956dbee4c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="iterator_type.html" title="ip::resolver_service::iterator_type">
+<link rel="next" href="query_type.html" title="ip::resolver_service::query_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iterator_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.protocol_type"></a><a class="link" href="protocol_type.html" title="ip::resolver_service::protocol_type">ip::resolver_service::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151777136"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">InternetProtocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.ip__resolver_service.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="iterator_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/query_type.html b/doc/html/boost_asio/reference/ip__resolver_service/query_type.html
new file mode 100644
index 0000000000..ab7f272ee6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/query_type.html
@@ -0,0 +1,320 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::query_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="protocol_type.html" title="ip::resolver_service::protocol_type">
+<link rel="next" href="resolve.html" title="ip::resolver_service::resolve">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.query_type"></a><a class="link" href="query_type.html" title="ip::resolver_service::query_type">ip::resolver_service::query_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151789392"></a>
+The query type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver_query</span><span class="special">&lt;</span> <span class="identifier">InternetProtocol</span> <span class="special">&gt;</span> <span class="identifier">query_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.query_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.types"></a></span><a class="link" href="query_type.html#boost_asio.reference.ip__resolver_service.query_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/flags.html" title="ip::basic_resolver_query::flags"><span class="bold"><strong>flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A bitmask type (C++ Std [lib.bitmask.types]).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/protocol_type.html" title="ip::basic_resolver_query::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint query.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.query_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.member_functions"></a></span><a class="link" href="query_type.html#boost_asio.reference.ip__resolver_service.query_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/basic_resolver_query.html" title="ip::basic_resolver_query::basic_resolver_query"><span class="bold"><strong>basic_resolver_query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct with specified service name for any protocol.
+ </p>
+ <p>
+ Construct with specified service name for a given protocol.
+ </p>
+ <p>
+ Construct with specified host name and service name for any protocol.
+ </p>
+ <p>
+ Construct with specified host name and service name for a given
+ protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/hints.html" title="ip::basic_resolver_query::hints"><span class="bold"><strong>hints</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the hints associated with the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/host_name.html" title="ip::basic_resolver_query::host_name"><span class="bold"><strong>host_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the host name associated with the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/service_name.html" title="ip::basic_resolver_query::service_name"><span class="bold"><strong>service_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service name associated with the query.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.query_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.data_members"></a></span><a class="link" href="query_type.html#boost_asio.reference.ip__resolver_service.query_type.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/address_configured.html" title="ip::basic_resolver_query::address_configured"><span class="bold"><strong>address_configured</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Only return IPv4 addresses if a non-loopback IPv4 address is
+ configured for the system. Only return IPv6 addresses if a non-loopback
+ IPv6 address is configured for the system.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/all_matching.html" title="ip::basic_resolver_query::all_matching"><span class="bold"><strong>all_matching</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/canonical_name.html" title="ip::basic_resolver_query::canonical_name"><span class="bold"><strong>canonical_name</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the canonical name of the host specified in the query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/numeric_host.html" title="ip::basic_resolver_query::numeric_host"><span class="bold"><strong>numeric_host</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Host name should be treated as a numeric string defining an IPv4
+ or IPv6 address and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/numeric_service.html" title="ip::basic_resolver_query::numeric_service"><span class="bold"><strong>numeric_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Service name should be treated as a numeric string defining a
+ port number and no name resolution should be attempted.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/passive.html" title="ip::basic_resolver_query::passive"><span class="bold"><strong>passive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Indicate that returned endpoint is intended for use as a locally
+ bound socket endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver_query/v4_mapped.html" title="ip::basic_resolver_query::v4_mapped"><span class="bold"><strong>v4_mapped</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ If the query protocol family is specified as IPv6, return IPv4-mapped
+ IPv6 addresses on finding no IPv6 addresses.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver_query.html" title="ip::basic_resolver_query"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code></a> class template
+ describes a query that can be passed to a resolver.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.query_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.thread_safety"></a></span><a class="link" href="query_type.html#boost_asio.reference.ip__resolver_service.query_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__resolver_service.query_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__resolver_service.query_type.requirements"></a></span><a class="link" href="query_type.html#boost_asio.reference.ip__resolver_service.query_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/resolver_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/resolve.html b/doc/html/boost_asio/reference/ip__resolver_service/resolve.html
new file mode 100644
index 0000000000..0999a3a60f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/resolve.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::resolve</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="query_type.html" title="ip::resolver_service::query_type">
+<link rel="next" href="resolve/overload1.html" title="ip::resolver_service::resolve (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="query_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.resolve"></a><a class="link" href="resolve.html" title="ip::resolver_service::resolve">ip::resolver_service::resolve</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151877904"></a>
+Resolve a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator_type</span> <a class="link" href="resolve/overload1.html" title="ip::resolver_service::resolve (1 of 2 overloads)">resolve</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="resolve/overload1.html" title="ip::resolver_service::resolve (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Resolve an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator_type</span> <a class="link" href="resolve/overload2.html" title="ip::resolver_service::resolve (2 of 2 overloads)">resolve</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="resolve/overload2.html" title="ip::resolver_service::resolve (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="query_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolve/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload1.html b/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload1.html
new file mode 100644
index 0000000000..e2a122a5d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::resolve (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../resolve.html" title="ip::resolver_service::resolve">
+<link rel="prev" href="../resolve.html" title="ip::resolver_service::resolve">
+<link rel="next" href="overload2.html" title="ip::resolver_service::resolve (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__resolver_service.resolve.overload1"></a><a class="link" href="overload1.html" title="ip::resolver_service::resolve (1 of 2 overloads)">ip::resolver_service::resolve
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Resolve a query to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator_type</span> <span class="identifier">resolve</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">query_type</span> <span class="special">&amp;</span> <span class="identifier">query</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../resolve.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload2.html b/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload2.html
new file mode 100644
index 0000000000..baf920c4ea
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/resolve/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::resolve (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../resolve.html" title="ip::resolver_service::resolve">
+<link rel="prev" href="overload1.html" title="ip::resolver_service::resolve (1 of 2 overloads)">
+<link rel="next" href="../resolver_service.html" title="ip::resolver_service::resolver_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../resolver_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ip__resolver_service.resolve.overload2"></a><a class="link" href="overload2.html" title="ip::resolver_service::resolve (2 of 2 overloads)">ip::resolver_service::resolve
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Resolve an endpoint to a list of entries.
+ </p>
+<pre class="programlisting"><span class="identifier">iterator_type</span> <span class="identifier">resolve</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../resolve.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../resolver_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__resolver_service/resolver_service.html b/doc/html/boost_asio/reference/ip__resolver_service/resolver_service.html
new file mode 100644
index 0000000000..0e0f037cdf
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__resolver_service/resolver_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::resolver_service::resolver_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__resolver_service.html" title="ip::resolver_service">
+<link rel="prev" href="resolve/overload2.html" title="ip::resolver_service::resolve (2 of 2 overloads)">
+<link rel="next" href="../ip__tcp.html" title="ip::tcp">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resolve/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__tcp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__resolver_service.resolver_service"></a><a class="link" href="resolver_service.html" title="ip::resolver_service::resolver_service">ip::resolver_service::resolver_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp151942544"></a>
+Construct a new resolver service for
+ the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">resolver_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="resolve/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__resolver_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__tcp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp.html b/doc/html/boost_asio/reference/ip__tcp.html
new file mode 100644
index 0000000000..7a61cc7c59
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp.html
@@ -0,0 +1,302 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__resolver_service/resolver_service.html" title="ip::resolver_service::resolver_service">
+<link rel="next" href="ip__tcp/acceptor.html" title="ip::tcp::acceptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__resolver_service/resolver_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__tcp/acceptor.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__tcp"></a><a class="link" href="ip__tcp.html" title="ip::tcp">ip::tcp</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for TCP.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__tcp.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.types"></a></span><a class="link" href="ip__tcp.html#boost_asio.reference.ip__tcp.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/acceptor.html" title="ip::tcp::acceptor"><span class="bold"><strong>acceptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The TCP acceptor type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/endpoint.html" title="ip::tcp::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a TCP endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/iostream.html" title="ip::tcp::iostream"><span class="bold"><strong>iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The TCP iostream type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/no_delay.html" title="ip::tcp::no_delay"><span class="bold"><strong>no_delay</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for disabling the Nagle algorithm.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/resolver.html" title="ip::tcp::resolver"><span class="bold"><strong>resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The TCP resolver type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/socket.html" title="ip::tcp::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The TCP socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__tcp.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.member_functions"></a></span><a class="link" href="ip__tcp.html#boost_asio.reference.ip__tcp.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/family.html" title="ip::tcp::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/protocol.html" title="ip::tcp::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/type.html" title="ip::tcp::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/v4.html" title="ip::tcp::v4"><span class="bold"><strong>v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent the IPv4 TCP protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/v6.html" title="ip::tcp::v6"><span class="bold"><strong>v6</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent the IPv6 TCP protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__tcp.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.friends"></a></span><a class="link" href="ip__tcp.html#boost_asio.reference.ip__tcp.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/operator_not__eq_.html" title="ip::tcp::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__tcp/operator_eq__eq_.html" title="ip::tcp::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__tcp.html" title="ip::tcp"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span></code></a>
+ class contains flags necessary for TCP sockets.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__tcp.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.thread_safety"></a></span><a class="link" href="ip__tcp.html#boost_asio.reference.ip__tcp.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__tcp.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.requirements"></a></span><a class="link" href="ip__tcp.html#boost_asio.reference.ip__tcp.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__resolver_service/resolver_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__tcp/acceptor.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/acceptor.html b/doc/html/boost_asio/reference/ip__tcp/acceptor.html
new file mode 100644
index 0000000000..c11ff299e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/acceptor.html
@@ -0,0 +1,848 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::acceptor</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="../ip__tcp.html" title="ip::tcp">
+<link rel="next" href="endpoint.html" title="ip::tcp::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__tcp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.acceptor"></a><a class="link" href="acceptor.html" title="ip::tcp::acceptor">ip::tcp::acceptor</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152036080"></a>
+The TCP acceptor type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">acceptor</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.types"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/broadcast.html" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/bytes_readable.html" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/debug.html" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/do_not_route.html" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/endpoint_type.html" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/implementation_type.html" title="basic_socket_acceptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/keep_alive.html" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/linger.html" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_flags.html" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_handle_type.html" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of an acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_type.html" title="basic_socket_acceptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of an acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/non_blocking_io.html" title="basic_socket_acceptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/protocol_type.html" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/reuse_address.html" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/service_type.html" title="basic_socket_acceptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/shutdown_type.html" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.member_functions"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Accept a new connection.
+ </p>
+ <p>
+ Accept a new connection and obtain the endpoint of the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/assign.html" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assigns an existing native acceptor to the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/async_accept.html" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an acceptor without opening it.
+ </p>
+ <p>
+ Construct an open acceptor.
+ </p>
+ <p>
+ Construct an acceptor opened on the given endpoint.
+ </p>
+ <p>
+ Construct a basic_socket_acceptor on an existing native acceptor.
+ </p>
+ <p>
+ Move-construct a basic_socket_acceptor from another.
+ </p>
+ <p>
+ Move-construct a basic_socket_acceptor from an acceptor of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/bind.html" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the acceptor to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/cancel.html" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/close.html" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_io_service.html" title="basic_socket_acceptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_option.html" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/io_control.html" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/is_open.html" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the acceptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/listen.html" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Place the acceptor into the state where it will listen for new
+ connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/local_endpoint.html" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native.html" title="basic_socket_acceptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native acceptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_handle.html" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native acceptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native acceptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/non_blocking.html" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the acceptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/open.html" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the acceptor using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/operator_eq_.html" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket_acceptor from another.
+ </p>
+ <p>
+ Move-assign a basic_socket_acceptor from an acceptor of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/set_option.html" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the acceptor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.protected_member_functions"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_implementation.html" title="basic_socket_acceptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_service.html" title="basic_socket_acceptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.data_members"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.data_members">Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/max_connections.html" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_peek.html" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.protected_data_members"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/implementation.html" title="basic_socket_acceptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/service.html" title="basic_socket_acceptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> class template
+ is used for accepting new socket connections.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.thread_safety"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.example"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.example">Example</a>
+ </h6>
+<p>
+ Opening a socket acceptor with the SO_REUSEADDR option enabled:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">port</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.acceptor.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.acceptor.requirements"></a></span><a class="link" href="acceptor.html#boost_asio.reference.ip__tcp.acceptor.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../ip__tcp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/endpoint.html b/doc/html/boost_asio/reference/ip__tcp/endpoint.html
new file mode 100644
index 0000000000..75d69748e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/endpoint.html
@@ -0,0 +1,408 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="acceptor.html" title="ip::tcp::acceptor">
+<link rel="next" href="family.html" title="ip::tcp::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acceptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.endpoint"></a><a class="link" href="endpoint.html" title="ip::tcp::endpoint">ip::tcp::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152305984"></a>
+The type of a TCP endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__tcp.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/data_type.html" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/protocol_type.html" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__tcp.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/address.html" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the IP address associated with the endpoint.
+ </p>
+ <p>
+ Set the IP address associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using a port number, specified in the host's
+ byte order. The IP address will be the any address (i.e. INADDR_ANY
+ or in6addr_any). This constructor would typically be used for
+ accepting new connections.
+ </p>
+ <p>
+ Construct an endpoint using a port number and an IP address.
+ This constructor may be used for accepting connections on a specific
+ interface or for making a connection to a remote endpoint.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/capacity.html" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/data.html" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_eq_.html" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/port.html" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the port associated with the endpoint. The port number is
+ always in the host's byte order.
+ </p>
+ <p>
+ Set the port associated with the endpoint. The port number is
+ always in the host's byte order.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/protocol.html" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/resize.html" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/size.html" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__tcp.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_not__eq_.html" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt_.html" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_eq__eq_.html" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_gt_.html" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.related_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__tcp.endpoint.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_endpoint.html" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with a particular socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__tcp.endpoint.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__tcp.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="acceptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/family.html b/doc/html/boost_asio/reference/ip__tcp/family.html
new file mode 100644
index 0000000000..db19d90c16
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="endpoint.html" title="ip::tcp::endpoint">
+<link rel="next" href="iostream.html" title="ip::tcp::iostream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.family"></a><a class="link" href="family.html" title="ip::tcp::family">ip::tcp::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152418112"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/iostream.html b/doc/html/boost_asio/reference/ip__tcp/iostream.html
new file mode 100644
index 0000000000..eb469bae78
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/iostream.html
@@ -0,0 +1,239 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::iostream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="family.html" title="ip::tcp::family">
+<link rel="next" href="no_delay.html" title="ip::tcp::no_delay">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_delay.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.iostream"></a><a class="link" href="iostream.html" title="ip::tcp::iostream">ip::tcp::iostream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152425184"></a>
+The TCP iostream type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_iostream</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">iostream</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.iostream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.iostream.types"></a></span><a class="link" href="iostream.html#boost_asio.reference.ip__tcp.iostream.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/duration_type.html" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/endpoint_type.html" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/time_type.html" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.iostream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.iostream.member_functions"></a></span><a class="link" href="iostream.html#boost_asio.reference.ip__tcp.iostream.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket_iostream without establishing a connection.
+ </p>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/close.html" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the connection.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/connect.html" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/error.html" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the last error associated with the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/expires_at.html" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the stream's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the stream's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/expires_from_now.html" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the stream's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/rdbuf.html" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Return a pointer to the underlying streambuf.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.iostream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.iostream.requirements"></a></span><a class="link" href="iostream.html#boost_asio.reference.ip__tcp.iostream.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_delay.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/no_delay.html b/doc/html/boost_asio/reference/ip__tcp/no_delay.html
new file mode 100644
index 0000000000..402178a5e1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/no_delay.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::no_delay</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="iostream.html" title="ip::tcp::iostream">
+<link rel="next" href="operator_not__eq_.html" title="ip::tcp::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.no_delay"></a><a class="link" href="no_delay.html" title="ip::tcp::no_delay">ip::tcp::no_delay</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152487264"></a>
+Socket option for disabling the Nagle algorithm.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">no_delay</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_TCP/TCP_NODELAY socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.no_delay.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.no_delay.examples"></a></span><a class="link" href="no_delay.html#boost_asio.reference.ip__tcp.no_delay.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.no_delay.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.no_delay.requirements"></a></span><a class="link" href="no_delay.html#boost_asio.reference.ip__tcp.no_delay.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__tcp/operator_eq__eq_.html
new file mode 100644
index 0000000000..2cb1d08df8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="operator_not__eq_.html" title="ip::tcp::operator!=">
+<link rel="next" href="protocol.html" title="ip::tcp::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::tcp::operator==">ip::tcp::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152564080"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__tcp.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__tcp/operator_not__eq_.html
new file mode 100644
index 0000000000..6f37ef2adc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="no_delay.html" title="ip::tcp::no_delay">
+<link rel="next" href="operator_eq__eq_.html" title="ip::tcp::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_delay.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::tcp::operator!=">ip::tcp::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152545360"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">tcp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__tcp.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="no_delay.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/protocol.html b/doc/html/boost_asio/reference/ip__tcp/protocol.html
new file mode 100644
index 0000000000..c962f9785c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::tcp::operator==">
+<link rel="next" href="resolver.html" title="ip::tcp::resolver">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.protocol"></a><a class="link" href="protocol.html" title="ip::tcp::protocol">ip::tcp::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152582656"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/resolver.html b/doc/html/boost_asio/reference/ip__tcp/resolver.html
new file mode 100644
index 0000000000..34732a614d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/resolver.html
@@ -0,0 +1,362 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::resolver</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="protocol.html" title="ip::tcp::protocol">
+<link rel="next" href="socket.html" title="ip::tcp::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.resolver"></a><a class="link" href="resolver.html" title="ip::tcp::resolver">ip::tcp::resolver</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152589712"></a>
+The TCP resolver type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">resolver</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.resolver.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.types"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__tcp.resolver.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/endpoint_type.html" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/implementation_type.html" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/protocol_type.html" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/query.html" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The query type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/service_type.html" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.resolver.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.member_functions"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__tcp.resolver.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Asynchronously perform forward resolution of a query to a list
+ of entries.
+ </p>
+ <p>
+ Asynchronously perform reverse resolution of an endpoint to a
+ list of entries.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/basic_resolver.html" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/cancel.html" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the resolver.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_io_service.html" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform forward resolution of a query to a list of entries.
+ </p>
+ <p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.resolver.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.protected_member_functions"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__tcp.resolver.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_implementation.html" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_service.html" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.resolver.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.protected_data_members"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__tcp.resolver.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/implementation.html" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/service.html" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver.html" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a> class template
+ provides the ability to resolve a query to a list of endpoints.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.resolver.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.thread_safety"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__tcp.resolver.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.resolver.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.resolver.requirements"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__tcp.resolver.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/socket.html b/doc/html/boost_asio/reference/ip__tcp/socket.html
new file mode 100644
index 0000000000..b091b865eb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/socket.html
@@ -0,0 +1,994 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="resolver.html" title="ip::tcp::resolver">
+<link rel="next" href="type.html" title="ip::tcp::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.socket"></a><a class="link" href="socket.html" title="ip::tcp::socket">ip::tcp::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152690448"></a>
+The TCP socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">tcp</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/broadcast.html" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/bytes_readable.html" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/debug.html" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/do_not_route.html" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/endpoint_type.html" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/implementation_type.html" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/keep_alive.html" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/linger.html" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_flags.html" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_handle_type.html" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_type.html" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/non_blocking_io.html" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/protocol_type.html" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/reuse_address.html" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send_buffer_size.html" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send_low_watermark.html" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/service_type.html" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/shutdown_type.html" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.member_functions">Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/assign.html" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_connect.html" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_send.html" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/at_mark.html" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/available.html" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_stream_socket.
+ </p>
+ <p>
+ Construct a basic_stream_socket, opening it and binding it to
+ the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_stream_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/bind.html" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/cancel.html" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/close.html" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/connect.html" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_io_service.html" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_option.html" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/io_control.html" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/is_open.html" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/local_endpoint.html" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/lowest_layer.html" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native.html" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_handle.html" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_non_blocking.html" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/non_blocking.html" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/open.html" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/operator_eq_.html" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_stream_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/read_some.html" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive.html" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on the socket.
+ </p>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/remote_endpoint.html" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send.html" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/set_option.html" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/shutdown.html" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/write_some.html" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_implementation.html" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_service.html" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/max_connections.html" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_do_not_route.html" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_end_of_record.html" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_out_of_band.html" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_peek.html" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/implementation.html" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/service.html" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
+ provides asynchronous and blocking stream-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__tcp.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/type.html b/doc/html/boost_asio/reference/ip__tcp/type.html
new file mode 100644
index 0000000000..5c9c2691cf
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="socket.html" title="ip::tcp::socket">
+<link rel="next" href="v4.html" title="ip::tcp::v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.type"></a><a class="link" href="type.html" title="ip::tcp::type">ip::tcp::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152959024"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/v4.html b/doc/html/boost_asio/reference/ip__tcp/v4.html
new file mode 100644
index 0000000000..7ef6934ed9
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/v4.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="type.html" title="ip::tcp::type">
+<link rel="next" href="v6.html" title="ip::tcp::v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.v4"></a><a class="link" href="v4.html" title="ip::tcp::v4">ip::tcp::v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152966016"></a>
+Construct to represent the IPv4 TCP protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">tcp</span> <span class="identifier">v4</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__tcp/v6.html b/doc/html/boost_asio/reference/ip__tcp/v6.html
new file mode 100644
index 0000000000..67e3aa6581
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__tcp/v6.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::tcp::v6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__tcp.html" title="ip::tcp">
+<link rel="prev" href="v4.html" title="ip::tcp::v4">
+<link rel="next" href="../ip__udp.html" title="ip::udp">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__udp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__tcp.v6"></a><a class="link" href="v6.html" title="ip::tcp::v6">ip::tcp::v6</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp152972496"></a>
+Construct to represent the IPv6 TCP protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">tcp</span> <span class="identifier">v6</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__udp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp.html b/doc/html/boost_asio/reference/ip__udp.html
new file mode 100644
index 0000000000..0ef172aa89
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp.html
@@ -0,0 +1,266 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__tcp/v6.html" title="ip::tcp::v6">
+<link rel="next" href="ip__udp/endpoint.html" title="ip::udp::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__tcp/v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__udp/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__udp"></a><a class="link" href="ip__udp.html" title="ip::udp">ip::udp</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for UDP.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">udp</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__udp.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.types"></a></span><a class="link" href="ip__udp.html#boost_asio.reference.ip__udp.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/endpoint.html" title="ip::udp::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a UDP endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/resolver.html" title="ip::udp::resolver"><span class="bold"><strong>resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The UDP resolver type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/socket.html" title="ip::udp::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The UDP socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__udp.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.member_functions"></a></span><a class="link" href="ip__udp.html#boost_asio.reference.ip__udp.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/family.html" title="ip::udp::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/protocol.html" title="ip::udp::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/type.html" title="ip::udp::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/v4.html" title="ip::udp::v4"><span class="bold"><strong>v4</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent the IPv4 UDP protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/v6.html" title="ip::udp::v6"><span class="bold"><strong>v6</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent the IPv6 UDP protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ip__udp.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.friends"></a></span><a class="link" href="ip__udp.html#boost_asio.reference.ip__udp.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/operator_not__eq_.html" title="ip::udp::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ip__udp/operator_eq__eq_.html" title="ip::udp::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two protocols for equality.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="ip__udp.html" title="ip::udp"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span></code></a>
+ class contains flags necessary for UDP sockets.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__udp.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.thread_safety"></a></span><a class="link" href="ip__udp.html#boost_asio.reference.ip__udp.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__udp.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.requirements"></a></span><a class="link" href="ip__udp.html#boost_asio.reference.ip__udp.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__tcp/v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__udp/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/endpoint.html b/doc/html/boost_asio/reference/ip__udp/endpoint.html
new file mode 100644
index 0000000000..a4093fe45b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/endpoint.html
@@ -0,0 +1,408 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="../ip__udp.html" title="ip::udp">
+<link rel="next" href="family.html" title="ip::udp::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ip__udp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.endpoint"></a><a class="link" href="endpoint.html" title="ip::udp::endpoint">ip::udp::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153050816"></a>
+The type of a UDP endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">udp</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__udp.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__udp.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/data_type.html" title="ip::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/protocol_type.html" title="ip::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__udp.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/address.html" title="ip::basic_endpoint::address"><span class="bold"><strong>address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the IP address associated with the endpoint.
+ </p>
+ <p>
+ Set the IP address associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/basic_endpoint.html" title="ip::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using a port number, specified in the host's
+ byte order. The IP address will be the any address (i.e. INADDR_ANY
+ or in6addr_any). This constructor would typically be used for
+ accepting new connections.
+ </p>
+ <p>
+ Construct an endpoint using a port number and an IP address.
+ This constructor may be used for accepting connections on a specific
+ interface or for making a connection to a remote endpoint.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/capacity.html" title="ip::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/data.html" title="ip::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_eq_.html" title="ip::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/port.html" title="ip::basic_endpoint::port"><span class="bold"><strong>port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the port associated with the endpoint. The port number is
+ always in the host's byte order.
+ </p>
+ <p>
+ Set the port associated with the endpoint. The port number is
+ always in the host's byte order.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/protocol.html" title="ip::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/resize.html" title="ip::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/size.html" title="ip::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__udp.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_not__eq_.html" title="ip::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt_.html" title="ip::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt__eq_.html" title="ip::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_eq__eq_.html" title="ip::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_gt_.html" title="ip::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_gt__eq_.html" title="ip::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.related_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__udp.endpoint.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_endpoint/operator_lt__lt_.html" title="ip::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_endpoint.html" title="ip::basic_endpoint"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with a particular socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__udp.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__udp.endpoint.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__udp.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.ip__udp.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../ip__udp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/family.html b/doc/html/boost_asio/reference/ip__udp/family.html
new file mode 100644
index 0000000000..afb0d3aeb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="endpoint.html" title="ip::udp::endpoint">
+<link rel="next" href="operator_not__eq_.html" title="ip::udp::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.family"></a><a class="link" href="family.html" title="ip::udp::family">ip::udp::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153163040"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/operator_eq__eq_.html b/doc/html/boost_asio/reference/ip__udp/operator_eq__eq_.html
new file mode 100644
index 0000000000..495dfc4e6b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="operator_not__eq_.html" title="ip::udp::operator!=">
+<link rel="next" href="protocol.html" title="ip::udp::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="ip::udp::operator==">ip::udp::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153188880"></a>
+Compare two protocols for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__udp.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.ip__udp.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/operator_not__eq_.html b/doc/html/boost_asio/reference/ip__udp/operator_not__eq_.html
new file mode 100644
index 0000000000..126cd7336a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="family.html" title="ip::udp::family">
+<link rel="next" href="operator_eq__eq_.html" title="ip::udp::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="ip::udp::operator!=">ip::udp::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153170192"></a>
+Compare two protocols for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">udp</span> <span class="special">&amp;</span> <span class="identifier">p2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__udp.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.ip__udp.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/protocol.html b/doc/html/boost_asio/reference/ip__udp/protocol.html
new file mode 100644
index 0000000000..3370008210
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="operator_eq__eq_.html" title="ip::udp::operator==">
+<link rel="next" href="resolver.html" title="ip::udp::resolver">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.protocol"></a><a class="link" href="protocol.html" title="ip::udp::protocol">ip::udp::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153207616"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resolver.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/resolver.html b/doc/html/boost_asio/reference/ip__udp/resolver.html
new file mode 100644
index 0000000000..1a9a094c92
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/resolver.html
@@ -0,0 +1,362 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::resolver</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="protocol.html" title="ip::udp::protocol">
+<link rel="next" href="socket.html" title="ip::udp::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.resolver"></a><a class="link" href="resolver.html" title="ip::udp::resolver">ip::udp::resolver</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153214672"></a>
+The UDP resolver type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_resolver</span><span class="special">&lt;</span> <span class="identifier">udp</span> <span class="special">&gt;</span> <span class="identifier">resolver</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__udp.resolver.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.types"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__udp.resolver.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/endpoint_type.html" title="ip::basic_resolver::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/implementation_type.html" title="ip::basic_resolver::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator"><span class="bold"><strong>iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The iterator type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/protocol_type.html" title="ip::basic_resolver::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/query.html" title="ip::basic_resolver::query"><span class="bold"><strong>query</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The query type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/service_type.html" title="ip::basic_resolver::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.resolver.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.member_functions"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__udp.resolver.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/async_resolve.html" title="ip::basic_resolver::async_resolve"><span class="bold"><strong>async_resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Asynchronously perform forward resolution of a query to a list
+ of entries.
+ </p>
+ <p>
+ Asynchronously perform reverse resolution of an endpoint to a
+ list of entries.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/basic_resolver.html" title="ip::basic_resolver::basic_resolver"><span class="bold"><strong>basic_resolver</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/cancel.html" title="ip::basic_resolver::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the resolver.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_io_service.html" title="ip::basic_resolver::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve"><span class="bold"><strong>resolve</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform forward resolution of a query to a list of entries.
+ </p>
+ <p>
+ Perform reverse resolution of an endpoint to a list of entries.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.resolver.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.protected_member_functions"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__udp.resolver.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_implementation.html" title="ip::basic_resolver::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/get_service.html" title="ip::basic_resolver::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.resolver.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.protected_data_members"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__udp.resolver.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/implementation.html" title="ip::basic_resolver::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../ip__basic_resolver/service.html" title="ip::basic_resolver::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../ip__basic_resolver.html" title="ip::basic_resolver"><code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver</span></code></a> class template
+ provides the ability to resolve a query to a list of endpoints.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__udp.resolver.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.thread_safety"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__udp.resolver.thread_safety">Thread Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__udp.resolver.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.resolver.requirements"></a></span><a class="link" href="resolver.html#boost_asio.reference.ip__udp.resolver.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/socket.html b/doc/html/boost_asio/reference/ip__udp/socket.html
new file mode 100644
index 0000000000..4bd0fa5ba5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/socket.html
@@ -0,0 +1,991 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="resolver.html" title="ip::udp::resolver">
+<link rel="next" href="type.html" title="ip::udp::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.socket"></a><a class="link" href="socket.html" title="ip::udp::socket">ip::udp::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153315056"></a>
+The UDP socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">udp</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/broadcast.html" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/bytes_readable.html" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/debug.html" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/do_not_route.html" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/endpoint_type.html" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/implementation_type.html" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/keep_alive.html" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/linger.html" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_flags.html" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_handle_type.html" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_type.html" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/non_blocking_io.html" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/protocol_type.html" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/reuse_address.html" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_buffer_size.html" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_low_watermark.html" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/service_type.html" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/shutdown_type.html" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.member_functions">Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/assign.html" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_connect.html" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/at_mark.html" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/available.html" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_datagram_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_datagram_socket.
+ </p>
+ <p>
+ Construct a basic_datagram_socket, opening it and binding it
+ to the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_datagram_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/bind.html" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/cancel.html" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/close.html" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/connect.html" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_io_service.html" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_option.html" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/io_control.html" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/is_open.html" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/local_endpoint.html" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/lowest_layer.html" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native.html" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_handle.html" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_non_blocking.html" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/non_blocking.html" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/open.html" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/operator_eq_.html" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive.html" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/remote_endpoint.html" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send.html" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a datagram to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/set_option.html" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/shutdown.html" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_implementation.html" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_service.html" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/max_connections.html" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_do_not_route.html" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_end_of_record.html" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_out_of_band.html" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_peek.html" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/implementation.html" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/service.html" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
+ provides asynchronous and blocking datagram-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.ip__udp.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__udp.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__udp.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/udp.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/type.html b/doc/html/boost_asio/reference/ip__udp/type.html
new file mode 100644
index 0000000000..0489986880
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="socket.html" title="ip::udp::socket">
+<link rel="next" href="v4.html" title="ip::udp::v4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.type"></a><a class="link" href="type.html" title="ip::udp::type">ip::udp::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153583600"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/v4.html b/doc/html/boost_asio/reference/ip__udp/v4.html
new file mode 100644
index 0000000000..6d9344828c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/v4.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::v4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="type.html" title="ip::udp::type">
+<link rel="next" href="v6.html" title="ip::udp::v6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.v4"></a><a class="link" href="v4.html" title="ip::udp::v4">ip::udp::v4</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153590752"></a>
+Construct to represent the IPv4 UDP protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">udp</span> <span class="identifier">v4</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="v6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__udp/v6.html b/doc/html/boost_asio/reference/ip__udp/v6.html
new file mode 100644
index 0000000000..b1d0e85c68
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__udp/v6.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::udp::v6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ip__udp.html" title="ip::udp">
+<link rel="prev" href="v4.html" title="ip::udp::v4">
+<link rel="next" href="../ip__unicast__hops.html" title="ip::unicast::hops">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__unicast__hops.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ip__udp.v6"></a><a class="link" href="v6.html" title="ip::udp::v6">ip::udp::v6</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153597232"></a>
+Construct to represent the IPv6 UDP protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">udp</span> <span class="identifier">v6</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="v4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__udp.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ip__unicast__hops.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__unicast__hops.html b/doc/html/boost_asio/reference/ip__unicast__hops.html
new file mode 100644
index 0000000000..cd86ba03a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__unicast__hops.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::unicast::hops</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__udp/v6.html" title="ip::udp::v6">
+<link rel="next" href="ip__v6_only.html" title="ip::v6_only">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__udp/v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__v6_only.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__unicast__hops"></a><a class="link" href="ip__unicast__hops.html" title="ip::unicast::hops">ip::unicast::hops</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp153603840"></a>
+Socket option for time-to-live associated with outgoing
+ unicast packets.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">hops</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IP/IP_UNICAST_TTL socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__unicast__hops.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__unicast__hops.examples"></a></span><a class="link" href="ip__unicast__hops.html#boost_asio.reference.ip__unicast__hops.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">unicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">unicast</span><span class="special">::</span><span class="identifier">hops</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">ttl</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__unicast__hops.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__unicast__hops.requirements"></a></span><a class="link" href="ip__unicast__hops.html#boost_asio.reference.ip__unicast__hops.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/unicast.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__udp/v6.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ip__v6_only.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ip__v6_only.html b/doc/html/boost_asio/reference/ip__v6_only.html
new file mode 100644
index 0000000000..c05310f8f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/ip__v6_only.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ip::v6_only</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__unicast__hops.html" title="ip::unicast::hops">
+<link rel="next" href="is_match_condition.html" title="is_match_condition">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__unicast__hops.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_match_condition.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ip__v6_only"></a><a class="link" href="ip__v6_only.html" title="ip::v6_only">ip::v6_only</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp153661424"></a>
+Socket option for determining whether an IPv6 socket supports
+ IPv6 communication only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">v6_only</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the IPPROTO_IPV6/IP_V6ONLY socket option.
+ </p>
+<h5>
+<a name="boost_asio.reference.ip__v6_only.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__v6_only.examples"></a></span><a class="link" href="ip__v6_only.html#boost_asio.reference.ip__v6_only.examples">Examples</a>
+ </h5>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">v6_only</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">v6_only</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">v6_only</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ip__v6_only.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ip__v6_only.requirements"></a></span><a class="link" href="ip__v6_only.html#boost_asio.reference.ip__v6_only.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/v6_only.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__unicast__hops.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_match_condition.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_.html
new file mode 100644
index 0000000000..6d04820016
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="yield_context.html" title="yield_context">
+<link rel="next" href="is_error_code_enum_lt__addrinfo_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="yield_context.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__addrinfo_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_"></a><a class="link" href="is_error_code_enum_lt__addrinfo_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;">boost::system::is_error_code_enum&lt;
+ boost::asio::error::addrinfo_errors &gt;</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">addrinfo_errors</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.data_members"></a></span><a class="link" href="is_error_code_enum_lt__addrinfo_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_error_code_enum_lt__addrinfo_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.requirements"></a></span><a class="link" href="is_error_code_enum_lt__addrinfo_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="yield_context.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__addrinfo_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_/value.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_/value.html
new file mode 100644
index 0000000000..bd3df7b427
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__addrinfo_errors__gt_/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_error_code_enum_lt__addrinfo_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;">
+<link rel="prev" href="../is_error_code_enum_lt__addrinfo_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;">
+<link rel="next" href="../is_error_code_enum_lt__basic_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_error_code_enum_lt__addrinfo_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__addrinfo_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__basic_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value"></a><a class="link" href="value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value">boost::system::is_error_code_enum&lt;
+ boost::asio::error::addrinfo_errors &gt;::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp180981984"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_error_code_enum_lt__addrinfo_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__addrinfo_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__basic_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_.html
new file mode 100644
index 0000000000..f5962151be
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_error_code_enum_lt__addrinfo_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;::value">
+<link rel="next" href="is_error_code_enum_lt__basic_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_error_code_enum_lt__addrinfo_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__basic_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_"></a><a class="link" href="is_error_code_enum_lt__basic_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;">boost::system::is_error_code_enum&lt;
+ boost::asio::error::basic_errors &gt;</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">basic_errors</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.data_members"></a></span><a class="link" href="is_error_code_enum_lt__basic_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_error_code_enum_lt__basic_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.requirements"></a></span><a class="link" href="is_error_code_enum_lt__basic_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_error_code_enum_lt__addrinfo_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__basic_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_/value.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_/value.html
new file mode 100644
index 0000000000..8e978d317b
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__basic_errors__gt_/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_error_code_enum_lt__basic_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;">
+<link rel="prev" href="../is_error_code_enum_lt__basic_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;">
+<link rel="next" href="../is_error_code_enum_lt__misc_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_error_code_enum_lt__basic_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__basic_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__misc_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value"></a><a class="link" href="value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value">boost::system::is_error_code_enum&lt;
+ boost::asio::error::basic_errors &gt;::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp181019584"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_error_code_enum_lt__basic_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__basic_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__misc_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html
new file mode 100644
index 0000000000..aa41950d1d
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_error_code_enum_lt__ssl_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value">
+<link rel="next" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_error_code_enum_lt__ssl_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_"></a><a class="link" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;">boost::system::is_error_code_enum&lt;
+ boost::asio::ssl::error::stream_errors &gt;</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">stream_errors</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.data_members"></a></span><a class="link" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.requirements"></a></span><a class="link" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_error_code_enum_lt__ssl_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html
new file mode 100644
index 0000000000..f4febd1c7f
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;">
+<link rel="prev" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;">
+<link rel="next" href="../../history.html" title="Revision History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.value"></a><a class="link" href="value.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;::value">boost::system::is_error_code_enum&lt;
+ boost::asio::ssl::error::stream_errors &gt;::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp181171104"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_.html
new file mode 100644
index 0000000000..00fa2c2ff6
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_error_code_enum_lt__basic_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::basic_errors &gt;::value">
+<link rel="next" href="is_error_code_enum_lt__misc_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_error_code_enum_lt__basic_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__misc_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_"></a><a class="link" href="is_error_code_enum_lt__misc_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;">boost::system::is_error_code_enum&lt;
+ boost::asio::error::misc_errors &gt;</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">misc_errors</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.data_members"></a></span><a class="link" href="is_error_code_enum_lt__misc_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_error_code_enum_lt__misc_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.requirements"></a></span><a class="link" href="is_error_code_enum_lt__misc_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_error_code_enum_lt__basic_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__misc_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_/value.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_/value.html
new file mode 100644
index 0000000000..fba5a631c6
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__misc_errors__gt_/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_error_code_enum_lt__misc_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;">
+<link rel="prev" href="../is_error_code_enum_lt__misc_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;">
+<link rel="next" href="../is_error_code_enum_lt__netdb_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_error_code_enum_lt__misc_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__misc_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__netdb_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value"></a><a class="link" href="value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value">boost::system::is_error_code_enum&lt;
+ boost::asio::error::misc_errors &gt;::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp181057104"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_error_code_enum_lt__misc_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__misc_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__netdb_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_.html
new file mode 100644
index 0000000000..fb084a09c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_error_code_enum_lt__misc_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::misc_errors &gt;::value">
+<link rel="next" href="is_error_code_enum_lt__netdb_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_error_code_enum_lt__misc_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__netdb_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_"></a><a class="link" href="is_error_code_enum_lt__netdb_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;">boost::system::is_error_code_enum&lt;
+ boost::asio::error::netdb_errors &gt;</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">netdb_errors</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.data_members"></a></span><a class="link" href="is_error_code_enum_lt__netdb_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_error_code_enum_lt__netdb_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.requirements"></a></span><a class="link" href="is_error_code_enum_lt__netdb_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_error_code_enum_lt__misc_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__netdb_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_/value.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_/value.html
new file mode 100644
index 0000000000..21d5ddcad2
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__netdb_errors__gt_/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_error_code_enum_lt__netdb_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;">
+<link rel="prev" href="../is_error_code_enum_lt__netdb_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;">
+<link rel="next" href="../is_error_code_enum_lt__ssl_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_error_code_enum_lt__netdb_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__netdb_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__ssl_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value"></a><a class="link" href="value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value">boost::system::is_error_code_enum&lt;
+ boost::asio::error::netdb_errors &gt;::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp181094624"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_error_code_enum_lt__netdb_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__netdb_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__ssl_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_.html
new file mode 100644
index 0000000000..849d9cdd60
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_error_code_enum_lt__netdb_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::netdb_errors &gt;::value">
+<link rel="next" href="is_error_code_enum_lt__ssl_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_error_code_enum_lt__netdb_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__ssl_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_"></a><a class="link" href="is_error_code_enum_lt__ssl_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;">boost::system::is_error_code_enum&lt;
+ boost::asio::error::ssl_errors &gt;</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">is_error_code_enum</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">ssl_errors</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.data_members"></a></span><a class="link" href="is_error_code_enum_lt__ssl_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_error_code_enum_lt__ssl_errors__gt_/value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.requirements"></a></span><a class="link" href="is_error_code_enum_lt__ssl_errors__gt_.html#boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_error_code_enum_lt__netdb_errors__gt_/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__ssl_errors__gt_/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_/value.html b/doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_/value.html
new file mode 100644
index 0000000000..af26da1fe7
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_error_code_enum_lt__ssl_errors__gt_/value.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_error_code_enum_lt__ssl_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;">
+<link rel="prev" href="../is_error_code_enum_lt__ssl_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;">
+<link rel="next" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::ssl::error::stream_errors &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_error_code_enum_lt__ssl_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__ssl_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value"></a><a class="link" href="value.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::ssl_errors &gt;::value">boost::system::is_error_code_enum&lt;
+ boost::asio::error::ssl_errors &gt;::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp181131968"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_error_code_enum_lt__ssl_errors__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_error_code_enum_lt__ssl_errors__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_error_code_enum_lt__boost__asio__ssl__error__stream_errors__gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_match_condition.html b/doc/html/boost_asio/reference/is_match_condition.html
new file mode 100644
index 0000000000..bd43e08c92
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_match_condition.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_match_condition</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ip__v6_only.html" title="ip::v6_only">
+<link rel="next" href="is_match_condition/value.html" title="is_match_condition::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ip__v6_only.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_match_condition/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_match_condition"></a><a class="link" href="is_match_condition.html" title="is_match_condition">is_match_condition</a>
+</h3></div></div></div>
+<p>
+ Type trait used to determine whether a type can be used as a match condition
+ function with read_until and async_read_until.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_match_condition</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_match_condition.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_match_condition.data_members"></a></span><a class="link" href="is_match_condition.html#boost_asio.reference.is_match_condition.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_match_condition/value.html" title="is_match_condition::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The value member is true if the type may be used as a match condition.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_match_condition.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_match_condition.requirements"></a></span><a class="link" href="is_match_condition.html#boost_asio.reference.is_match_condition.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_until.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ip__v6_only.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_match_condition/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_match_condition/value.html b/doc/html/boost_asio/reference/is_match_condition/value.html
new file mode 100644
index 0000000000..d9d49568ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_match_condition/value.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_match_condition::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_match_condition.html" title="is_match_condition">
+<link rel="prev" href="../is_match_condition.html" title="is_match_condition">
+<link rel="next" href="../is_read_buffered.html" title="is_read_buffered">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_match_condition.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_match_condition.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_read_buffered.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_match_condition.value"></a><a class="link" href="value.html" title="is_match_condition::value">is_match_condition::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153740064"></a>
+The value member is true if the type may be used
+ as a match condition.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_match_condition.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_match_condition.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_read_buffered.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_read_buffered.html b/doc/html/boost_asio/reference/is_read_buffered.html
new file mode 100644
index 0000000000..8e0512128e
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_read_buffered.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_read_buffered</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_match_condition/value.html" title="is_match_condition::value">
+<link rel="next" href="is_read_buffered/value.html" title="is_read_buffered::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_match_condition/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_read_buffered/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_read_buffered"></a><a class="link" href="is_read_buffered.html" title="is_read_buffered">is_read_buffered</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="is_read_buffered.html" title="is_read_buffered"><code class="computeroutput"><span class="identifier">is_read_buffered</span></code></a>
+ class is a traits class that may be used to determine whether a stream type
+ supports buffering of read data.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">is_read_buffered</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_read_buffered.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_read_buffered.data_members"></a></span><a class="link" href="is_read_buffered.html#boost_asio.reference.is_read_buffered.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_read_buffered/value.html" title="is_read_buffered::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The value member is true only if the Stream type supports buffering
+ of read data.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_read_buffered.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_read_buffered.requirements"></a></span><a class="link" href="is_read_buffered.html#boost_asio.reference.is_read_buffered.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/is_read_buffered.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_match_condition/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_read_buffered/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_read_buffered/value.html b/doc/html/boost_asio/reference/is_read_buffered/value.html
new file mode 100644
index 0000000000..ef6dfd6f74
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_read_buffered/value.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_read_buffered::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_read_buffered.html" title="is_read_buffered">
+<link rel="prev" href="../is_read_buffered.html" title="is_read_buffered">
+<link rel="next" href="../is_write_buffered.html" title="is_write_buffered">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_read_buffered.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_read_buffered.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_write_buffered.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_read_buffered.value"></a><a class="link" href="value.html" title="is_read_buffered::value">is_read_buffered::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153772464"></a>
+The value member is true only if the Stream type supports
+ buffering of read data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_read_buffered.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_read_buffered.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_write_buffered.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_write_buffered.html b/doc/html/boost_asio/reference/is_write_buffered.html
new file mode 100644
index 0000000000..1b793c9884
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_write_buffered.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_write_buffered</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_read_buffered/value.html" title="is_read_buffered::value">
+<link rel="next" href="is_write_buffered/value.html" title="is_write_buffered::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_read_buffered/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_write_buffered/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.is_write_buffered"></a><a class="link" href="is_write_buffered.html" title="is_write_buffered">is_write_buffered</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="is_write_buffered.html" title="is_write_buffered"><code class="computeroutput"><span class="identifier">is_write_buffered</span></code></a> class is a traits
+ class that may be used to determine whether a stream type supports buffering
+ of written data.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">is_write_buffered</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.is_write_buffered.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_write_buffered.data_members"></a></span><a class="link" href="is_write_buffered.html#boost_asio.reference.is_write_buffered.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="is_write_buffered/value.html" title="is_write_buffered::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The value member is true only if the Stream type supports buffering
+ of written data.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.is_write_buffered.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.is_write_buffered.requirements"></a></span><a class="link" href="is_write_buffered.html#boost_asio.reference.is_write_buffered.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/is_write_buffered.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_read_buffered/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_write_buffered/value.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/is_write_buffered/value.html b/doc/html/boost_asio/reference/is_write_buffered/value.html
new file mode 100644
index 0000000000..736d057bda
--- /dev/null
+++ b/doc/html/boost_asio/reference/is_write_buffered/value.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_write_buffered::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../is_write_buffered.html" title="is_write_buffered">
+<link rel="prev" href="../is_write_buffered.html" title="is_write_buffered">
+<link rel="next" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../is_write_buffered.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_write_buffered.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.is_write_buffered.value"></a><a class="link" href="value.html" title="is_write_buffered::value">is_write_buffered::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153805088"></a>
+The value member is true only if the Stream type
+ supports buffering of written data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../is_write_buffered.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../is_write_buffered.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint.html b/doc/html/boost_asio/reference/local__basic_endpoint.html
new file mode 100644
index 0000000000..570f942c4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint.html
@@ -0,0 +1,385 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="is_write_buffered/value.html" title="is_write_buffered::value">
+<link rel="next" href="local__basic_endpoint/basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_write_buffered/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__basic_endpoint/basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.local__basic_endpoint"></a><a class="link" href="local__basic_endpoint.html" title="local::basic_endpoint">local::basic_endpoint</a>
+</h3></div></div></div>
+<p>
+ Describes an endpoint for a UNIX socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_endpoint</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.local__basic_endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.types"></a></span><a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/data_type.html" title="local::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on the
+ underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/protocol_type.html" title="local::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.local__basic_endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.member_functions"></a></span><a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/basic_endpoint.html" title="local::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using the specified path name.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/capacity.html" title="local::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/data.html" title="local::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_eq_.html" title="local::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/path.html" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the path associated with the endpoint.
+ </p>
+ <p>
+ Set the path associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/protocol.html" title="local::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/resize.html" title="local::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/size.html" title="local::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.local__basic_endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.friends"></a></span><a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.friends">Friends</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_not__eq_.html" title="local::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_lt_.html" title="local::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_lt__eq_.html" title="local::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_eq__eq_.html" title="local::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_gt_.html" title="local::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_gt__eq_.html" title="local::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.local__basic_endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.related_functions"></a></span><a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.related_functions">Related
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="local__basic_endpoint/operator_lt__lt_.html" title="local::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="local__basic_endpoint.html" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template describes
+ an endpoint that may be associated with a particular UNIX socket.
+ </p>
+<h5>
+<a name="boost_asio.reference.local__basic_endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.thread_safety"></a></span><a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.local__basic_endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.requirements"></a></span><a class="link" href="local__basic_endpoint.html#boost_asio.reference.local__basic_endpoint.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="is_write_buffered/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__basic_endpoint/basic_endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint.html b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint.html
new file mode 100644
index 0000000000..231b11b58e
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::basic_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="next" href="basic_endpoint/overload1.html" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint"></a><a class="link" href="basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">local::basic_endpoint::basic_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153922064"></a>
+Default constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload1.html" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">basic_endpoint</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload1.html" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an endpoint using the specified path name.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload2.html" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">path_name</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload2.html" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">more...</a></em></span>
+
+<a class="link" href="basic_endpoint/overload3.html" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path_name</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload3.html" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_endpoint/overload4.html" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">basic_endpoint</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_endpoint/overload4.html" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_endpoint/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload1.html b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload1.html
new file mode 100644
index 0000000000..6e7b7d596c
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::basic_endpoint (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
+<link rel="prev" href="../basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
+<link rel="next" href="overload2.html" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload1"></a><a class="link" href="overload1.html" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">local::basic_endpoint::basic_endpoint
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Default constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../basic_endpoint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload2.html b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload2.html
new file mode 100644
index 0000000000..3cf81a3816
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::basic_endpoint (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload1.html" title="local::basic_endpoint::basic_endpoint (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload2"></a><a class="link" href="overload2.html" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">local::basic_endpoint::basic_endpoint
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an endpoint using the specified path name.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">path_name</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload3.html b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload3.html
new file mode 100644
index 0000000000..c4b105818f
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::basic_endpoint (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload2.html" title="local::basic_endpoint::basic_endpoint (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload3"></a><a class="link" href="overload3.html" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">local::basic_endpoint::basic_endpoint
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an endpoint using the specified path name.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path_name</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload4.html b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload4.html
new file mode 100644
index 0000000000..ed07f18545
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/basic_endpoint/overload4.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::basic_endpoint (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_endpoint.html" title="local::basic_endpoint::basic_endpoint">
+<link rel="prev" href="overload3.html" title="local::basic_endpoint::basic_endpoint (3 of 4 overloads)">
+<link rel="next" href="../capacity.html" title="local::basic_endpoint::capacity">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../capacity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.basic_endpoint.overload4"></a><a class="link" href="overload4.html" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">local::basic_endpoint::basic_endpoint
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Copy constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_endpoint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../capacity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/capacity.html b/doc/html/boost_asio/reference/local__basic_endpoint/capacity.html
new file mode 100644
index 0000000000..18cb900b3b
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/capacity.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::capacity</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="basic_endpoint/overload4.html" title="local::basic_endpoint::basic_endpoint (4 of 4 overloads)">
+<link rel="next" href="data.html" title="local::basic_endpoint::data">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_endpoint/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.capacity"></a><a class="link" href="capacity.html" title="local::basic_endpoint::capacity">local::basic_endpoint::capacity</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153978352"></a>
+Get the capacity of the endpoint in the native
+ type.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">capacity</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="basic_endpoint/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/data.html b/doc/html/boost_asio/reference/local__basic_endpoint/data.html
new file mode 100644
index 0000000000..dc4e3db6ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/data.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::data</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="capacity.html" title="local::basic_endpoint::capacity">
+<link rel="next" href="data/overload1.html" title="local::basic_endpoint::data (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="capacity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.data"></a><a class="link" href="data.html" title="local::basic_endpoint::data">local::basic_endpoint::data</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp153986576"></a>
+Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="data/overload1.html" title="local::basic_endpoint::data (1 of 2 overloads)">data</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="data/overload1.html" title="local::basic_endpoint::data (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <a class="link" href="data/overload2.html" title="local::basic_endpoint::data (2 of 2 overloads)">data</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="data/overload2.html" title="local::basic_endpoint::data (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="capacity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="data/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/data/overload1.html b/doc/html/boost_asio/reference/local__basic_endpoint/data/overload1.html
new file mode 100644
index 0000000000..bff8ca5210
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/data/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::data (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../data.html" title="local::basic_endpoint::data">
+<link rel="prev" href="../data.html" title="local::basic_endpoint::data">
+<link rel="next" href="overload2.html" title="local::basic_endpoint::data (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.data.overload1"></a><a class="link" href="overload1.html" title="local::basic_endpoint::data (1 of 2 overloads)">local::basic_endpoint::data
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/data/overload2.html b/doc/html/boost_asio/reference/local__basic_endpoint/data/overload2.html
new file mode 100644
index 0000000000..637a9ebbf3
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/data/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::data (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../data.html" title="local::basic_endpoint::data">
+<link rel="prev" href="overload1.html" title="local::basic_endpoint::data (1 of 2 overloads)">
+<link rel="next" href="../data_type.html" title="local::basic_endpoint::data_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../data_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.data.overload2"></a><a class="link" href="overload2.html" title="local::basic_endpoint::data (2 of 2 overloads)">local::basic_endpoint::data
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the underlying endpoint in the native type.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">data_type</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../data.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../data_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/data_type.html b/doc/html/boost_asio/reference/local__basic_endpoint/data_type.html
new file mode 100644
index 0000000000..7b11fa2bc7
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/data_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::data_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="data/overload2.html" title="local::basic_endpoint::data (2 of 2 overloads)">
+<link rel="next" href="operator_not__eq_.html" title="local::basic_endpoint::operator!=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.data_type"></a><a class="link" href="data_type.html" title="local::basic_endpoint::data_type">local::basic_endpoint::data_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154013968"></a>
+The type of the endpoint structure. This
+ type is dependent on the underlying implementation of the socket layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">data_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.data_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.data_type.requirements"></a></span><a class="link" href="data_type.html#boost_asio.reference.local__basic_endpoint.data_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="data/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_eq_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_eq_.html
new file mode 100644
index 0000000000..15b05d2938
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_eq_.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_lt__eq_.html" title="local::basic_endpoint::operator&lt;=">
+<link rel="next" href="operator_eq__eq_.html" title="local::basic_endpoint::operator==">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_eq_"></a><a class="link" href="operator_eq_.html" title="local::basic_endpoint::operator=">local::basic_endpoint::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154128032"></a>
+Assign from another endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span> <span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_eq__eq_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_eq__eq_.html
new file mode 100644
index 0000000000..115a905fe0
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_eq__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator==</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_eq_.html" title="local::basic_endpoint::operator=">
+<link rel="next" href="operator_gt_.html" title="local::basic_endpoint::operator&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_eq__eq_"></a><a class="link" href="operator_eq__eq_.html" title="local::basic_endpoint::operator==">local::basic_endpoint::operator==</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154137952"></a>
+Compare two endpoints for equality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_eq__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_eq__eq_.requirements"></a></span><a class="link" href="operator_eq__eq_.html#boost_asio.reference.local__basic_endpoint.operator_eq__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_gt_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_gt_.html
new file mode 100644
index 0000000000..cd3f292c1b
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_gt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator&gt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_eq__eq_.html" title="local::basic_endpoint::operator==">
+<link rel="next" href="operator_gt__eq_.html" title="local::basic_endpoint::operator&gt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_gt_"></a><a class="link" href="operator_gt_.html" title="local::basic_endpoint::operator&gt;">local::basic_endpoint::operator&gt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154160832"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_gt_.requirements"></a></span><a class="link" href="operator_gt_.html#boost_asio.reference.local__basic_endpoint.operator_gt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_gt__eq_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_gt__eq_.html
new file mode 100644
index 0000000000..b1e37a77cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_gt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator&gt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_gt_.html" title="local::basic_endpoint::operator&gt;">
+<link rel="next" href="path.html" title="local::basic_endpoint::path">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="path.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_gt__eq_"></a><a class="link" href="operator_gt__eq_.html" title="local::basic_endpoint::operator&gt;=">local::basic_endpoint::operator&gt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154183536"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_gt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_gt__eq_.requirements"></a></span><a class="link" href="operator_gt__eq_.html#boost_asio.reference.local__basic_endpoint.operator_gt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="path.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt_.html
new file mode 100644
index 0000000000..e116642253
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_not__eq_.html" title="local::basic_endpoint::operator!=">
+<link rel="next" href="operator_lt__lt_.html" title="local::basic_endpoint::operator&lt;&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt_"></a><a class="link" href="operator_lt_.html" title="local::basic_endpoint::operator&lt;">local::basic_endpoint::operator&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154049104"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt_.requirements"></a></span><a class="link" href="operator_lt_.html#boost_asio.reference.local__basic_endpoint.operator_lt_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_not__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__eq_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__eq_.html
new file mode 100644
index 0000000000..da16675d12
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator&lt;=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_lt__lt_.html" title="local::basic_endpoint::operator&lt;&lt;">
+<link rel="next" href="operator_eq_.html" title="local::basic_endpoint::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt__eq_"></a><a class="link" href="operator_lt__eq_.html" title="local::basic_endpoint::operator&lt;=">local::basic_endpoint::operator&lt;=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154105280"></a>
+Compare endpoints for ordering.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt__eq_.requirements"></a></span><a class="link" href="operator_lt__eq_.html#boost_asio.reference.local__basic_endpoint.operator_lt__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lt__lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__lt_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__lt_.html
new file mode 100644
index 0000000000..9ccefb1ba5
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_lt__lt_.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator&lt;&lt;</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_lt_.html" title="local::basic_endpoint::operator&lt;">
+<link rel="next" href="operator_lt__eq_.html" title="local::basic_endpoint::operator&lt;=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_"></a><a class="link" href="operator_lt__lt_.html" title="local::basic_endpoint::operator&lt;&lt;">local::basic_endpoint::operator&lt;&lt;</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154071808"></a>
+Output an endpoint as a string.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">Elem</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ Used to output a human-readable string for a specified endpoint.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.parameters"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">os</span></dt>
+<dd><p>
+ The output stream to which the string will be written.
+ </p></dd>
+<dt><span class="term">endpoint</span></dt>
+<dd><p>
+ The endpoint to be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_lt__lt_.return_value"></a></span><a class="link" href="operator_lt__lt_.html#boost_asio.reference.local__basic_endpoint.operator_lt__lt_.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The output stream.
+ </p>
+</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 &#169; 2003-2017 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="operator_lt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt__eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/operator_not__eq_.html b/doc/html/boost_asio/reference/local__basic_endpoint/operator_not__eq_.html
new file mode 100644
index 0000000000..f05df6d96a
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/operator_not__eq_.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::operator!=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="data_type.html" title="local::basic_endpoint::data_type">
+<link rel="next" href="operator_lt_.html" title="local::basic_endpoint::operator&lt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="data_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.operator_not__eq_"></a><a class="link" href="operator_not__eq_.html" title="local::basic_endpoint::operator!=">local::basic_endpoint::operator!=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154026432"></a>
+Compare two endpoints for inequality.
+ </p>
+<pre class="programlisting"><span class="keyword">friend</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">Protocol</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">e2</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.operator_not__eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.operator_not__eq_.requirements"></a></span><a class="link" href="operator_not__eq_.html#boost_asio.reference.local__basic_endpoint.operator_not__eq_.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="data_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lt_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/path.html b/doc/html/boost_asio/reference/local__basic_endpoint/path.html
new file mode 100644
index 0000000000..1b777972ae
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/path.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::path</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="operator_gt__eq_.html" title="local::basic_endpoint::operator&gt;=">
+<link rel="next" href="path/overload1.html" title="local::basic_endpoint::path (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="path/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.path"></a><a class="link" href="path.html" title="local::basic_endpoint::path">local::basic_endpoint::path</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154206272"></a>
+Get the path associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="path/overload1.html" title="local::basic_endpoint::path (1 of 3 overloads)">path</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="path/overload1.html" title="local::basic_endpoint::path (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the path associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="path/overload2.html" title="local::basic_endpoint::path (2 of 3 overloads)">path</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">p</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="path/overload2.html" title="local::basic_endpoint::path (2 of 3 overloads)">more...</a></em></span>
+
+<span class="keyword">void</span> <a class="link" href="path/overload3.html" title="local::basic_endpoint::path (3 of 3 overloads)">path</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">p</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="path/overload3.html" title="local::basic_endpoint::path (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_gt__eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="path/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/path/overload1.html b/doc/html/boost_asio/reference/local__basic_endpoint/path/overload1.html
new file mode 100644
index 0000000000..a816dbd87a
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/path/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::path (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../path.html" title="local::basic_endpoint::path">
+<link rel="prev" href="../path.html" title="local::basic_endpoint::path">
+<link rel="next" href="overload2.html" title="local::basic_endpoint::path (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../path.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.path.overload1"></a><a class="link" href="overload1.html" title="local::basic_endpoint::path (1 of 3 overloads)">local::basic_endpoint::path
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the path associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">path</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../path.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/path/overload2.html b/doc/html/boost_asio/reference/local__basic_endpoint/path/overload2.html
new file mode 100644
index 0000000000..65ec9642ca
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/path/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::path (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../path.html" title="local::basic_endpoint::path">
+<link rel="prev" href="overload1.html" title="local::basic_endpoint::path (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="local::basic_endpoint::path (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.path.overload2"></a><a class="link" href="overload2.html" title="local::basic_endpoint::path (2 of 3 overloads)">local::basic_endpoint::path
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the path associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">path</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/path/overload3.html b/doc/html/boost_asio/reference/local__basic_endpoint/path/overload3.html
new file mode 100644
index 0000000000..bb9e31b183
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/path/overload3.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::path (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../path.html" title="local::basic_endpoint::path">
+<link rel="prev" href="overload2.html" title="local::basic_endpoint::path (2 of 3 overloads)">
+<link rel="next" href="../protocol.html" title="local::basic_endpoint::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.path.overload3"></a><a class="link" href="overload3.html" title="local::basic_endpoint::path (3 of 3 overloads)">local::basic_endpoint::path
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the path associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">path</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../protocol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/protocol.html b/doc/html/boost_asio/reference/local__basic_endpoint/protocol.html
new file mode 100644
index 0000000000..79abd51fd8
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="path/overload3.html" title="local::basic_endpoint::path (3 of 3 overloads)">
+<link rel="next" href="protocol_type.html" title="local::basic_endpoint::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="path/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.protocol"></a><a class="link" href="protocol.html" title="local::basic_endpoint::protocol">local::basic_endpoint::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154256240"></a>
+The protocol associated with the endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">protocol_type</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="path/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/protocol_type.html b/doc/html/boost_asio/reference/local__basic_endpoint/protocol_type.html
new file mode 100644
index 0000000000..1005caa210
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/protocol_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="protocol.html" title="local::basic_endpoint::protocol">
+<link rel="next" href="resize.html" title="local::basic_endpoint::resize">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resize.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.protocol_type"></a><a class="link" href="protocol_type.html" title="local::basic_endpoint::protocol_type">local::basic_endpoint::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154263648"></a>
+The protocol type associated with the
+ endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__basic_endpoint.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__basic_endpoint.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.local__basic_endpoint.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/basic_endpoint.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="resize.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/resize.html b/doc/html/boost_asio/reference/local__basic_endpoint/resize.html
new file mode 100644
index 0000000000..cd5ac2f4f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/resize.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::resize</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="protocol_type.html" title="local::basic_endpoint::protocol_type">
+<link rel="next" href="size.html" title="local::basic_endpoint::size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.resize"></a><a class="link" href="resize.html" title="local::basic_endpoint::resize">local::basic_endpoint::resize</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154275824"></a>
+Set the underlying size of the endpoint in the
+ native type.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">resize</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">new_size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__basic_endpoint/size.html b/doc/html/boost_asio/reference/local__basic_endpoint/size.html
new file mode 100644
index 0000000000..b766523316
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__basic_endpoint/size.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::basic_endpoint::size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__basic_endpoint.html" title="local::basic_endpoint">
+<link rel="prev" href="resize.html" title="local::basic_endpoint::resize">
+<link rel="next" href="../local__connect_pair.html" title="local::connect_pair">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="resize.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__basic_endpoint.size"></a><a class="link" href="size.html" title="local::basic_endpoint::size">local::basic_endpoint::size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154284832"></a>
+Get the underlying size of the endpoint in the
+ native type.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="resize.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__basic_endpoint.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__connect_pair.html b/doc/html/boost_asio/reference/local__connect_pair.html
new file mode 100644
index 0000000000..6236a1105c
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__connect_pair.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::connect_pair</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="local__basic_endpoint/size.html" title="local::basic_endpoint::size">
+<link rel="next" href="local__connect_pair/overload1.html" title="local::connect_pair (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local__basic_endpoint/size.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__connect_pair/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.local__connect_pair"></a><a class="link" href="local__connect_pair.html" title="local::connect_pair">local::connect_pair</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp154293200"></a>
+Create a pair of connected sockets.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="local__connect_pair/overload1.html" title="local::connect_pair (1 of 2 overloads)">connect_pair</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local__connect_pair/overload1.html" title="local::connect_pair (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="local__connect_pair/overload2.html" title="local::connect_pair (2 of 2 overloads)">connect_pair</a><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="local__connect_pair/overload2.html" title="local::connect_pair (2 of 2 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.local__connect_pair.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__connect_pair.requirements"></a></span><a class="link" href="local__connect_pair.html#boost_asio.reference.local__connect_pair.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/connect_pair.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="local__basic_endpoint/size.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__connect_pair/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__connect_pair/overload1.html b/doc/html/boost_asio/reference/local__connect_pair/overload1.html
new file mode 100644
index 0000000000..9c65715c8e
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__connect_pair/overload1.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::connect_pair (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__connect_pair.html" title="local::connect_pair">
+<link rel="prev" href="../local__connect_pair.html" title="local::connect_pair">
+<link rel="next" href="overload2.html" title="local::connect_pair (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__connect_pair.overload1"></a><a class="link" href="overload1.html" title="local::connect_pair (1 of 2 overloads)">local::connect_pair
+ (1 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a pair of connected sockets.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">connect_pair</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../local__connect_pair.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__connect_pair/overload2.html b/doc/html/boost_asio/reference/local__connect_pair/overload2.html
new file mode 100644
index 0000000000..a1239e0dc3
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__connect_pair/overload2.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::connect_pair (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__connect_pair.html" title="local::connect_pair">
+<link rel="prev" href="overload1.html" title="local::connect_pair (1 of 2 overloads)">
+<link rel="next" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__connect_pair.overload2"></a><a class="link" href="overload2.html" title="local::connect_pair (2 of 2 overloads)">local::connect_pair
+ (2 of 2 overloads)</a>
+</h4></div></div></div>
+<p>
+ Create a pair of connected sockets.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService2</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect_pair</span><span class="special">(</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket1</span><span class="special">,</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">SocketService2</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">socket2</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__connect_pair.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__datagram_protocol.html b/doc/html/boost_asio/reference/local__datagram_protocol.html
new file mode 100644
index 0000000000..7a6f01c10f
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__datagram_protocol.html
@@ -0,0 +1,182 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::datagram_protocol</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="local__connect_pair/overload2.html" title="local::connect_pair (2 of 2 overloads)">
+<link rel="next" href="local__datagram_protocol/endpoint.html" title="local::datagram_protocol::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local__connect_pair/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__datagram_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.local__datagram_protocol"></a><a class="link" href="local__datagram_protocol.html" title="local::datagram_protocol">local::datagram_protocol</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for datagram-oriented UNIX sockets.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">datagram_protocol</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.local__datagram_protocol.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.types"></a></span><a class="link" href="local__datagram_protocol.html#boost_asio.reference.local__datagram_protocol.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__datagram_protocol/endpoint.html" title="local::datagram_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a UNIX domain endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__datagram_protocol/socket.html" title="local::datagram_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The UNIX domain socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.local__datagram_protocol.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.member_functions"></a></span><a class="link" href="local__datagram_protocol.html#boost_asio.reference.local__datagram_protocol.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__datagram_protocol/family.html" title="local::datagram_protocol::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__datagram_protocol/protocol.html" title="local::datagram_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__datagram_protocol/type.html" title="local::datagram_protocol::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="local__datagram_protocol.html" title="local::datagram_protocol"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">datagram_protocol</span></code></a> class contains
+ flags necessary for datagram-oriented UNIX domain sockets.
+ </p>
+<h5>
+<a name="boost_asio.reference.local__datagram_protocol.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.thread_safety"></a></span><a class="link" href="local__datagram_protocol.html#boost_asio.reference.local__datagram_protocol.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.local__datagram_protocol.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.requirements"></a></span><a class="link" href="local__datagram_protocol.html#boost_asio.reference.local__datagram_protocol.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="local__connect_pair/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__datagram_protocol/endpoint.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__datagram_protocol/endpoint.html b/doc/html/boost_asio/reference/local__datagram_protocol/endpoint.html
new file mode 100644
index 0000000000..6219aede3b
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__datagram_protocol/endpoint.html
@@ -0,0 +1,384 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::datagram_protocol::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+<link rel="prev" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+<link rel="next" href="family.html" title="local::datagram_protocol::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__datagram_protocol.endpoint"></a><a class="link" href="endpoint.html" title="local::datagram_protocol::endpoint">local::datagram_protocol::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154457712"></a>
+The type of a UNIX domain endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__datagram_protocol.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/data_type.html" title="local::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/protocol_type.html" title="local::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__datagram_protocol.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/basic_endpoint.html" title="local::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using the specified path name.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/capacity.html" title="local::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/data.html" title="local::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_eq_.html" title="local::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/path.html" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the path associated with the endpoint.
+ </p>
+ <p>
+ Set the path associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/protocol.html" title="local::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/resize.html" title="local::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/size.html" title="local::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__datagram_protocol.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_not__eq_.html" title="local::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_lt_.html" title="local::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_lt__eq_.html" title="local::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_eq__eq_.html" title="local::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_gt_.html" title="local::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_gt__eq_.html" title="local::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.related_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__datagram_protocol.endpoint.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_lt__lt_.html" title="local::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../local__basic_endpoint.html" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with a particular UNIX socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__datagram_protocol.endpoint.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__datagram_protocol.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__datagram_protocol/family.html b/doc/html/boost_asio/reference/local__datagram_protocol/family.html
new file mode 100644
index 0000000000..ce87d2a10b
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__datagram_protocol/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::datagram_protocol::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+<link rel="prev" href="endpoint.html" title="local::datagram_protocol::endpoint">
+<link rel="next" href="protocol.html" title="local::datagram_protocol::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__datagram_protocol.family"></a><a class="link" href="family.html" title="local::datagram_protocol::family">local::datagram_protocol::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154566224"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__datagram_protocol/protocol.html b/doc/html/boost_asio/reference/local__datagram_protocol/protocol.html
new file mode 100644
index 0000000000..86b7f2c5bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__datagram_protocol/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::datagram_protocol::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+<link rel="prev" href="family.html" title="local::datagram_protocol::family">
+<link rel="next" href="socket.html" title="local::datagram_protocol::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__datagram_protocol.protocol"></a><a class="link" href="protocol.html" title="local::datagram_protocol::protocol">local::datagram_protocol::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154573312"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__datagram_protocol/socket.html b/doc/html/boost_asio/reference/local__datagram_protocol/socket.html
new file mode 100644
index 0000000000..b989dd7edc
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__datagram_protocol/socket.html
@@ -0,0 +1,992 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::datagram_protocol::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+<link rel="prev" href="protocol.html" title="local::datagram_protocol::protocol">
+<link rel="next" href="type.html" title="local::datagram_protocol::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__datagram_protocol.socket"></a><a class="link" href="socket.html" title="local::datagram_protocol::socket">local::datagram_protocol::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154580464"></a>
+The UNIX domain socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_datagram_socket</span><span class="special">&lt;</span> <span class="identifier">datagram_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/broadcast.html" title="basic_datagram_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/bytes_readable.html" title="basic_datagram_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/debug.html" title="basic_datagram_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/do_not_route.html" title="basic_datagram_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/enable_connection_aborted.html" title="basic_datagram_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/endpoint_type.html" title="basic_datagram_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/implementation_type.html" title="basic_datagram_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/keep_alive.html" title="basic_datagram_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/linger.html" title="basic_datagram_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/lowest_layer_type.html" title="basic_datagram_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_flags.html" title="basic_datagram_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_handle_type.html" title="basic_datagram_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_type.html" title="basic_datagram_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/non_blocking_io.html" title="basic_datagram_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/protocol_type.html" title="basic_datagram_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_buffer_size.html" title="basic_datagram_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_low_watermark.html" title="basic_datagram_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/reuse_address.html" title="basic_datagram_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_buffer_size.html" title="basic_datagram_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_low_watermark.html" title="basic_datagram_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/service_type.html" title="basic_datagram_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/shutdown_type.html" title="basic_datagram_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/assign.html" title="basic_datagram_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_connect.html" title="basic_datagram_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_receive.html" title="basic_datagram_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_send.html" title="basic_datagram_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/at_mark.html" title="basic_datagram_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/available.html" title="basic_datagram_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/basic_datagram_socket.html" title="basic_datagram_socket::basic_datagram_socket"><span class="bold"><strong>basic_datagram_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_datagram_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_datagram_socket.
+ </p>
+ <p>
+ Construct a basic_datagram_socket, opening it and binding it
+ to the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_datagram_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/bind.html" title="basic_datagram_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/cancel.html" title="basic_datagram_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/close.html" title="basic_datagram_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/connect.html" title="basic_datagram_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_io_service.html" title="basic_datagram_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_option.html" title="basic_datagram_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/io_control.html" title="basic_datagram_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/is_open.html" title="basic_datagram_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/local_endpoint.html" title="basic_datagram_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/lowest_layer.html" title="basic_datagram_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native.html" title="basic_datagram_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_handle.html" title="basic_datagram_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/native_non_blocking.html" title="basic_datagram_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/non_blocking.html" title="basic_datagram_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/open.html" title="basic_datagram_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/operator_eq_.html" title="basic_datagram_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_datagram_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_datagram_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive.html" title="basic_datagram_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive a datagram with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/remote_endpoint.html" title="basic_datagram_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send.html" title="basic_datagram_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/send_to.html" title="basic_datagram_socket::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a datagram to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/set_option.html" title="basic_datagram_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/shutdown.html" title="basic_datagram_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_implementation.html" title="basic_datagram_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/get_service.html" title="basic_datagram_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/max_connections.html" title="basic_datagram_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_do_not_route.html" title="basic_datagram_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_end_of_record.html" title="basic_datagram_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_out_of_band.html" title="basic_datagram_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/message_peek.html" title="basic_datagram_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/implementation.html" title="basic_datagram_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_datagram_socket/service.html" title="basic_datagram_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class template
+ provides asynchronous and blocking datagram-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__datagram_protocol.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__datagram_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.local__datagram_protocol.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/datagram_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__datagram_protocol/type.html b/doc/html/boost_asio/reference/local__datagram_protocol/type.html
new file mode 100644
index 0000000000..e3f167eedb
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__datagram_protocol/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::datagram_protocol::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__datagram_protocol.html" title="local::datagram_protocol">
+<link rel="prev" href="socket.html" title="local::datagram_protocol::socket">
+<link rel="next" href="../local__stream_protocol.html" title="local::stream_protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__datagram_protocol.type"></a><a class="link" href="type.html" title="local::datagram_protocol::type">local::datagram_protocol::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154849840"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__datagram_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol.html b/doc/html/boost_asio/reference/local__stream_protocol.html
new file mode 100644
index 0000000000..79057110c1
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol.html
@@ -0,0 +1,206 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="local__datagram_protocol/type.html" title="local::datagram_protocol::type">
+<link rel="next" href="local__stream_protocol/acceptor.html" title="local::stream_protocol::acceptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local__datagram_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__stream_protocol/acceptor.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.local__stream_protocol"></a><a class="link" href="local__stream_protocol.html" title="local::stream_protocol">local::stream_protocol</a>
+</h3></div></div></div>
+<p>
+ Encapsulates the flags needed for stream-oriented UNIX sockets.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_protocol</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.local__stream_protocol.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.types"></a></span><a class="link" href="local__stream_protocol.html#boost_asio.reference.local__stream_protocol.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/acceptor.html" title="local::stream_protocol::acceptor"><span class="bold"><strong>acceptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The UNIX domain acceptor type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/endpoint.html" title="local::stream_protocol::endpoint"><span class="bold"><strong>endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a UNIX domain endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/iostream.html" title="local::stream_protocol::iostream"><span class="bold"><strong>iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The UNIX domain iostream type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/socket.html" title="local::stream_protocol::socket"><span class="bold"><strong>socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The UNIX domain socket type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.local__stream_protocol.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.member_functions"></a></span><a class="link" href="local__stream_protocol.html#boost_asio.reference.local__stream_protocol.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/family.html" title="local::stream_protocol::family"><span class="bold"><strong>family</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol family.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/protocol.html" title="local::stream_protocol::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="local__stream_protocol/type.html" title="local::stream_protocol::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain an identifier for the type of the protocol.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="local__stream_protocol.html" title="local::stream_protocol"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">stream_protocol</span></code></a> class contains flags
+ necessary for stream-oriented UNIX domain sockets.
+ </p>
+<h5>
+<a name="boost_asio.reference.local__stream_protocol.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.thread_safety"></a></span><a class="link" href="local__stream_protocol.html#boost_asio.reference.local__stream_protocol.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.local__stream_protocol.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.requirements"></a></span><a class="link" href="local__stream_protocol.html#boost_asio.reference.local__stream_protocol.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="local__datagram_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local__stream_protocol/acceptor.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/acceptor.html b/doc/html/boost_asio/reference/local__stream_protocol/acceptor.html
new file mode 100644
index 0000000000..a614459230
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/acceptor.html
@@ -0,0 +1,850 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::acceptor</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="next" href="endpoint.html" title="local::stream_protocol::endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.acceptor"></a><a class="link" href="acceptor.html" title="local::stream_protocol::acceptor">local::stream_protocol::acceptor</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp154912560"></a>
+The UNIX domain acceptor type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_acceptor</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">acceptor</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.types"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/broadcast.html" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/bytes_readable.html" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/debug.html" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/do_not_route.html" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/endpoint_type.html" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/implementation_type.html" title="basic_socket_acceptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/keep_alive.html" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/linger.html" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_flags.html" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_handle_type.html" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of an acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_type.html" title="basic_socket_acceptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of an acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/non_blocking_io.html" title="basic_socket_acceptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/protocol_type.html" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/reuse_address.html" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/service_type.html" title="basic_socket_acceptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/shutdown_type.html" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.member_functions"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Accept a new connection.
+ </p>
+ <p>
+ Accept a new connection and obtain the endpoint of the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/assign.html" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assigns an existing native acceptor to the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/async_accept.html" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an acceptor without opening it.
+ </p>
+ <p>
+ Construct an open acceptor.
+ </p>
+ <p>
+ Construct an acceptor opened on the given endpoint.
+ </p>
+ <p>
+ Construct a basic_socket_acceptor on an existing native acceptor.
+ </p>
+ <p>
+ Move-construct a basic_socket_acceptor from another.
+ </p>
+ <p>
+ Move-construct a basic_socket_acceptor from an acceptor of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/bind.html" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the acceptor to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/cancel.html" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/close.html" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_io_service.html" title="basic_socket_acceptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_option.html" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/io_control.html" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/is_open.html" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the acceptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/listen.html" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Place the acceptor into the state where it will listen for new
+ connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/local_endpoint.html" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native.html" title="basic_socket_acceptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native acceptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_handle.html" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native acceptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native acceptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/non_blocking.html" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the acceptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/open.html" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the acceptor using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/operator_eq_.html" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_socket_acceptor from another.
+ </p>
+ <p>
+ Move-assign a basic_socket_acceptor from an acceptor of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/set_option.html" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the acceptor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.protected_member_functions"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_implementation.html" title="basic_socket_acceptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/get_service.html" title="basic_socket_acceptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.data_members"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/max_connections.html" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/message_peek.html" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.protected_data_members"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/implementation.html" title="basic_socket_acceptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_acceptor/service.html" title="basic_socket_acceptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput"><span class="identifier">basic_socket_acceptor</span></code></a> class template
+ is used for accepting new socket connections.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.thread_safety"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.example"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.example">Example</a>
+ </h6>
+<p>
+ Opening a socket acceptor with the SO_REUSEADDR option enabled:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">port</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">.</span><span class="identifier">protocol</span><span class="special">());</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span><span class="special">::</span><span class="identifier">reuse_address</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">endpoint</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">listen</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.acceptor.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.acceptor.requirements"></a></span><a class="link" href="acceptor.html#boost_asio.reference.local__stream_protocol.acceptor.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../local__stream_protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/endpoint.html b/doc/html/boost_asio/reference/local__stream_protocol/endpoint.html
new file mode 100644
index 0000000000..68f618133c
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/endpoint.html
@@ -0,0 +1,384 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="acceptor.html" title="local::stream_protocol::acceptor">
+<link rel="next" href="family.html" title="local::stream_protocol::family">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acceptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.endpoint"></a><a class="link" href="endpoint.html" title="local::stream_protocol::endpoint">local::stream_protocol::endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155183504"></a>
+The type of a UNIX domain endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_endpoint</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">endpoint</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.endpoint.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.types"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__stream_protocol.endpoint.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/data_type.html" title="local::basic_endpoint::data_type"><span class="bold"><strong>data_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the endpoint structure. This type is dependent on
+ the underlying implementation of the socket layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/protocol_type.html" title="local::basic_endpoint::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type associated with the endpoint.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.endpoint.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.member_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__stream_protocol.endpoint.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/basic_endpoint.html" title="local::basic_endpoint::basic_endpoint"><span class="bold"><strong>basic_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Default constructor.
+ </p>
+ <p>
+ Construct an endpoint using the specified path name.
+ </p>
+ <p>
+ Copy constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/capacity.html" title="local::basic_endpoint::capacity"><span class="bold"><strong>capacity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the capacity of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/data.html" title="local::basic_endpoint::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_eq_.html" title="local::basic_endpoint::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign from another endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/path.html" title="local::basic_endpoint::path"><span class="bold"><strong>path</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the path associated with the endpoint.
+ </p>
+ <p>
+ Set the path associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/protocol.html" title="local::basic_endpoint::protocol"><span class="bold"><strong>protocol</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol associated with the endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/resize.html" title="local::basic_endpoint::resize"><span class="bold"><strong>resize</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/size.html" title="local::basic_endpoint::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying size of the endpoint in the native type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.endpoint.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.friends"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__stream_protocol.endpoint.friends">Friends</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_not__eq_.html" title="local::basic_endpoint::operator!="><span class="bold"><strong>operator!=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for inequality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_lt_.html" title="local::basic_endpoint::operator&lt;"><span class="bold"><strong>operator&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_lt__eq_.html" title="local::basic_endpoint::operator&lt;="><span class="bold"><strong>operator&lt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_eq__eq_.html" title="local::basic_endpoint::operator=="><span class="bold"><strong>operator==</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare two endpoints for equality.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_gt_.html" title="local::basic_endpoint::operator&gt;"><span class="bold"><strong>operator&gt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_gt__eq_.html" title="local::basic_endpoint::operator&gt;="><span class="bold"><strong>operator&gt;=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Compare endpoints for ordering.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.endpoint.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.related_functions"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__stream_protocol.endpoint.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../local__basic_endpoint/operator_lt__lt_.html" title="local::basic_endpoint::operator&lt;&lt;"><span class="bold"><strong>operator&lt;&lt;</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Output an endpoint as a string.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../local__basic_endpoint.html" title="local::basic_endpoint"><code class="computeroutput"><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code></a> class template
+ describes an endpoint that may be associated with a particular UNIX socket.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.endpoint.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.thread_safety"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__stream_protocol.endpoint.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.endpoint.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.endpoint.requirements"></a></span><a class="link" href="endpoint.html#boost_asio.reference.local__stream_protocol.endpoint.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="acceptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="family.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/family.html b/doc/html/boost_asio/reference/local__stream_protocol/family.html
new file mode 100644
index 0000000000..8dc5a67292
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/family.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::family</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="endpoint.html" title="local::stream_protocol::endpoint">
+<link rel="next" href="iostream.html" title="local::stream_protocol::iostream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.family"></a><a class="link" href="family.html" title="local::stream_protocol::family">local::stream_protocol::family</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155291504"></a>
+Obtain an identifier for the protocol family.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">family</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iostream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/iostream.html b/doc/html/boost_asio/reference/local__stream_protocol/iostream.html
new file mode 100644
index 0000000000..d5d5054fe9
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/iostream.html
@@ -0,0 +1,239 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::iostream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="family.html" title="local::stream_protocol::family">
+<link rel="next" href="protocol.html" title="local::stream_protocol::protocol">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.iostream"></a><a class="link" href="iostream.html" title="local::stream_protocol::iostream">local::stream_protocol::iostream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155298576"></a>
+The UNIX domain iostream type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_socket_iostream</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">iostream</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.iostream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.iostream.types"></a></span><a class="link" href="iostream.html#boost_asio.reference.local__stream_protocol.iostream.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/duration_type.html" title="basic_socket_iostream::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/endpoint_type.html" title="basic_socket_iostream::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/time_type.html" title="basic_socket_iostream::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.iostream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.iostream.member_functions"></a></span><a class="link" href="iostream.html#boost_asio.reference.local__stream_protocol.iostream.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/basic_socket_iostream.html" title="basic_socket_iostream::basic_socket_iostream"><span class="bold"><strong>basic_socket_iostream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_socket_iostream without establishing a connection.
+ </p>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/close.html" title="basic_socket_iostream::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the connection.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/connect.html" title="basic_socket_iostream::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Establish a connection to an endpoint corresponding to a resolver
+ query.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/error.html" title="basic_socket_iostream::error"><span class="bold"><strong>error</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the last error associated with the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/expires_at.html" title="basic_socket_iostream::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the stream's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the stream's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/expires_from_now.html" title="basic_socket_iostream::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the stream's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_socket_iostream/rdbuf.html" title="basic_socket_iostream::rdbuf"><span class="bold"><strong>rdbuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Return a pointer to the underlying streambuf.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.iostream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.iostream.requirements"></a></span><a class="link" href="iostream.html#boost_asio.reference.local__stream_protocol.iostream.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="family.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/protocol.html b/doc/html/boost_asio/reference/local__stream_protocol/protocol.html
new file mode 100644
index 0000000000..79d46fbff6
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/protocol.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::protocol</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="iostream.html" title="local::stream_protocol::iostream">
+<link rel="next" href="socket.html" title="local::stream_protocol::socket">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.protocol"></a><a class="link" href="protocol.html" title="local::stream_protocol::protocol">local::stream_protocol::protocol</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155360960"></a>
+Obtain an identifier for the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">protocol</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="iostream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/socket.html b/doc/html/boost_asio/reference/local__stream_protocol/socket.html
new file mode 100644
index 0000000000..dd5af3b929
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/socket.html
@@ -0,0 +1,995 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::socket</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="protocol.html" title="local::stream_protocol::protocol">
+<link rel="next" href="type.html" title="local::stream_protocol::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.socket"></a><a class="link" href="socket.html" title="local::stream_protocol::socket">local::stream_protocol::socket</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155368192"></a>
+The UNIX domain socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_socket</span><span class="special">&lt;</span> <span class="identifier">stream_protocol</span> <span class="special">&gt;</span> <span class="identifier">socket</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/broadcast.html" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/bytes_readable.html" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/debug.html" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/do_not_route.html" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/endpoint_type.html" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/implementation_type.html" title="basic_stream_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/keep_alive.html" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/linger.html" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close
+ if unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_socket is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_flags.html" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive
+ operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_handle_type.html" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_type.html" title="basic_stream_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/non_blocking_io.html" title="basic_stream_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/protocol_type.html" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/reuse_address.html" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send_buffer_size.html" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send_low_watermark.html" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/service_type.html" title="basic_stream_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/shutdown_type.html" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/assign.html" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_connect.html" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_send.html" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/at_mark.html" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/available.html" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_socket without opening it.
+ </p>
+ <p>
+ Construct and open a basic_stream_socket.
+ </p>
+ <p>
+ Construct a basic_stream_socket, opening it and binding it to
+ the given local endpoint.
+ </p>
+ <p>
+ Construct a basic_stream_socket on an existing native socket.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-construct a basic_stream_socket from a socket of another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/bind.html" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket to the given local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/cancel.html" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/close.html" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/connect.html" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_io_service.html" title="basic_stream_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_option.html" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/io_control.html" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/is_open.html" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/local_endpoint.html" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/lowest_layer.html" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native.html" title="basic_stream_socket::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_handle.html" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/native_non_blocking.html" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/non_blocking.html" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/open.html" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the socket using the specified protocol.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/operator_eq_.html" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_socket from another.
+ </p>
+ <p>
+ Move-assign a basic_stream_socket from a socket of another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/read_some.html" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/receive.html" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data on the socket.
+ </p>
+ <p>
+ Receive some data on a connected socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/remote_endpoint.html" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/send.html" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send some data on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/set_option.html" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/shutdown.html" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/write_some.html" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.protected_member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_implementation.html" title="basic_stream_socket::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/get_service.html" title="basic_stream_socket::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.data_members">Data
+ Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/max_connections.html" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_do_not_route.html" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_end_of_record.html" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_out_of_band.html" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/message_peek.html" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.protected_data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/implementation.html" title="basic_stream_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../basic_stream_socket/service.html" title="basic_stream_socket::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> class template
+ provides asynchronous and blocking stream-oriented socket functionality.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.local__stream_protocol.socket.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.local__stream_protocol.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.local__stream_protocol.socket.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/local/stream_protocol.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="protocol.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/local__stream_protocol/type.html b/doc/html/boost_asio/reference/local__stream_protocol/type.html
new file mode 100644
index 0000000000..f632e07bac
--- /dev/null
+++ b/doc/html/boost_asio/reference/local__stream_protocol/type.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>local::stream_protocol::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../local__stream_protocol.html" title="local::stream_protocol">
+<link rel="prev" href="socket.html" title="local::stream_protocol::socket">
+<link rel="next" href="../mutable_buffer.html" title="mutable_buffer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.local__stream_protocol.type"></a><a class="link" href="type.html" title="local::stream_protocol::type">local::stream_protocol::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155637424"></a>
+Obtain an identifier for the type of the protocol.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="socket.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../local__stream_protocol.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer.html b/doc/html/boost_asio/reference/mutable_buffer.html
new file mode 100644
index 0000000000..4cc27b43b7
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer.html
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="local__stream_protocol/type.html" title="local::stream_protocol::type">
+<link rel="next" href="mutable_buffer/mutable_buffer.html" title="mutable_buffer::mutable_buffer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local__stream_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffer/mutable_buffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.mutable_buffer"></a><a class="link" href="mutable_buffer.html" title="mutable_buffer">mutable_buffer</a>
+</h3></div></div></div>
+<p>
+ Holds a buffer that can be modified.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">mutable_buffer</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.mutable_buffer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffer.member_functions"></a></span><a class="link" href="mutable_buffer.html#boost_asio.reference.mutable_buffer.member_functions">Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffer/mutable_buffer.html" title="mutable_buffer::mutable_buffer"><span class="bold"><strong>mutable_buffer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an empty buffer.
+ </p>
+ <p>
+ Construct a buffer to represent a given memory range.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.mutable_buffer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffer.related_functions"></a></span><a class="link" href="mutable_buffer.html#boost_asio.reference.mutable_buffer.related_functions">Related Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffer/operator_plus_.html" title="mutable_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new modifiable buffer that is offset from the start of
+ another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
+ class provides a safe representation of a buffer that can be modified. It
+ does not own the underlying data, and so is cheap to copy or assign.
+ </p>
+<h5>
+<a name="boost_asio.reference.mutable_buffer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffer.accessing_buffer_contents"></a></span><a class="link" href="mutable_buffer.html#boost_asio.reference.mutable_buffer.accessing_buffer_contents">Accessing
+ Buffer Contents</a>
+ </h5>
+<p>
+ The contents of a buffer may be accessed using the <a class="link" href="buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
+<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<h5>
+<a name="boost_asio.reference.mutable_buffer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffer.requirements"></a></span><a class="link" href="mutable_buffer.html#boost_asio.reference.mutable_buffer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="local__stream_protocol/type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffer/mutable_buffer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer.html b/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer.html
new file mode 100644
index 0000000000..7ee8cf624f
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer::mutable_buffer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffer.html" title="mutable_buffer">
+<link rel="prev" href="../mutable_buffer.html" title="mutable_buffer">
+<link rel="next" href="mutable_buffer/overload1.html" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffer.mutable_buffer"></a><a class="link" href="mutable_buffer.html" title="mutable_buffer::mutable_buffer">mutable_buffer::mutable_buffer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155710832"></a>
+Construct an empty buffer.
+ </p>
+<pre class="programlisting"><a class="link" href="mutable_buffer/overload1.html" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">mutable_buffer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="mutable_buffer/overload1.html" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a buffer to represent a given memory range.
+ </p>
+<pre class="programlisting"><a class="link" href="mutable_buffer/overload2.html" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">mutable_buffer</a><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="mutable_buffer/overload2.html" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../mutable_buffer.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload1.html b/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload1.html
new file mode 100644
index 0000000000..18670ff128
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer::mutable_buffer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffer.html" title="mutable_buffer::mutable_buffer">
+<link rel="prev" href="../mutable_buffer.html" title="mutable_buffer::mutable_buffer">
+<link rel="next" href="overload2.html" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../mutable_buffer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffer.mutable_buffer.overload1"></a><a class="link" href="overload1.html" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">mutable_buffer::mutable_buffer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an empty buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../mutable_buffer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload2.html b/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload2.html
new file mode 100644
index 0000000000..3322e64518
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer/mutable_buffer/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer::mutable_buffer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffer.html" title="mutable_buffer::mutable_buffer">
+<link rel="prev" href="overload1.html" title="mutable_buffer::mutable_buffer (1 of 2 overloads)">
+<link rel="next" href="../operator_plus_.html" title="mutable_buffer::operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffer.mutable_buffer.overload2"></a><a class="link" href="overload2.html" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">mutable_buffer::mutable_buffer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a buffer to represent a given memory range.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer/operator_plus_.html b/doc/html/boost_asio/reference/mutable_buffer/operator_plus_.html
new file mode 100644
index 0000000000..25063e6edf
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer/operator_plus_.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer::operator+</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffer.html" title="mutable_buffer">
+<link rel="prev" href="mutable_buffer/overload2.html" title="mutable_buffer::mutable_buffer (2 of 2 overloads)">
+<link rel="next" href="operator_plus_/overload1.html" title="mutable_buffer::operator+ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutable_buffer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffer.operator_plus_"></a><a class="link" href="operator_plus_.html" title="mutable_buffer::operator+">mutable_buffer::operator+</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155741168"></a>
+Create a new modifiable buffer that is offset from
+ the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <a class="link" href="operator_plus_/overload1.html" title="mutable_buffer::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload1.html" title="mutable_buffer::operator+ (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">mutable_buffer</span> <a class="link" href="operator_plus_/overload2.html" title="mutable_buffer::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload2.html" title="mutable_buffer::operator+ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="mutable_buffer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffer.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload1.html b/doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload1.html
new file mode 100644
index 0000000000..d987e74847
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer::operator+ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="mutable_buffer::operator+">
+<link rel="prev" href="../operator_plus_.html" title="mutable_buffer::operator+">
+<link rel="next" href="overload2.html" title="mutable_buffer::operator+ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffer.operator_plus_.overload1"></a><a class="link" href="overload1.html" title="mutable_buffer::operator+ (1 of 2 overloads)">mutable_buffer::operator+
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create a new modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload2.html b/doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload2.html
new file mode 100644
index 0000000000..04091fd98e
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffer/operator_plus_/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffer::operator+ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="mutable_buffer::operator+">
+<link rel="prev" href="overload1.html" title="mutable_buffer::operator+ (1 of 2 overloads)">
+<link rel="next" href="../../mutable_buffers_1.html" title="mutable_buffers_1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffer.operator_plus_.overload2"></a><a class="link" href="overload2.html" title="mutable_buffer::operator+ (2 of 2 overloads)">mutable_buffer::operator+
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Create a new modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1.html b/doc/html/boost_asio/reference/mutable_buffers_1.html
new file mode 100644
index 0000000000..501f28b301
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1.html
@@ -0,0 +1,208 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="mutable_buffer/operator_plus_/overload2.html" title="mutable_buffer::operator+ (2 of 2 overloads)">
+<link rel="next" href="mutable_buffers_1/begin.html" title="mutable_buffers_1::begin">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutable_buffer/operator_plus_/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_1/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.mutable_buffers_1"></a><a class="link" href="mutable_buffers_1.html" title="mutable_buffers_1">mutable_buffers_1</a>
+</h3></div></div></div>
+<p>
+ Adapts a single modifiable buffer so that it meets the requirements of the
+ MutableBufferSequence concept.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">mutable_buffers_1</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">mutable_buffer</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.mutable_buffers_1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.types"></a></span><a class="link" href="mutable_buffers_1.html#boost_asio.reference.mutable_buffers_1.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffers_1/const_iterator.html" title="mutable_buffers_1::const_iterator"><span class="bold"><strong>const_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A random-access iterator type that may be used to read elements.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffers_1/value_type.html" title="mutable_buffers_1::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type for each element in the list of buffers.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.mutable_buffers_1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.member_functions"></a></span><a class="link" href="mutable_buffers_1.html#boost_asio.reference.mutable_buffers_1.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffers_1/begin.html" title="mutable_buffers_1::begin"><span class="bold"><strong>begin</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a random-access iterator to the first element.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffers_1/end.html" title="mutable_buffers_1::end"><span class="bold"><strong>end</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a random-access iterator for one past the last element.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffers_1/mutable_buffers_1.html" title="mutable_buffers_1::mutable_buffers_1"><span class="bold"><strong>mutable_buffers_1</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct to represent a given memory range.
+ </p>
+ <p>
+ Construct to represent a single modifiable buffer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.mutable_buffers_1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.related_functions"></a></span><a class="link" href="mutable_buffers_1.html#boost_asio.reference.mutable_buffers_1.related_functions">Related
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="mutable_buffers_1/operator_plus_.html" title="mutable_buffers_1::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new modifiable buffer that is offset from the start of
+ another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.mutable_buffers_1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.requirements"></a></span><a class="link" href="mutable_buffers_1.html#boost_asio.reference.mutable_buffers_1.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="mutable_buffer/operator_plus_/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_1/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/begin.html b/doc/html/boost_asio/reference/mutable_buffers_1/begin.html
new file mode 100644
index 0000000000..99cd900d40
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/begin.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::begin</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="prev" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="next" href="const_iterator.html" title="mutable_buffers_1::const_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.begin"></a><a class="link" href="begin.html" title="mutable_buffers_1::begin">mutable_buffers_1::begin</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155840656"></a>
+Get a random-access iterator to the first element.
+ </p>
+<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/const_iterator.html b/doc/html/boost_asio/reference/mutable_buffers_1/const_iterator.html
new file mode 100644
index 0000000000..468ffca7a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/const_iterator.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::const_iterator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="prev" href="begin.html" title="mutable_buffers_1::begin">
+<link rel="next" href="end.html" title="mutable_buffers_1::end">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.const_iterator"></a><a class="link" href="const_iterator.html" title="mutable_buffers_1::const_iterator">mutable_buffers_1::const_iterator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155847856"></a>
+A random-access iterator type that may be
+ used to read elements.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">*</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.mutable_buffers_1.const_iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.const_iterator.requirements"></a></span><a class="link" href="const_iterator.html#boost_asio.reference.mutable_buffers_1.const_iterator.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/end.html b/doc/html/boost_asio/reference/mutable_buffers_1/end.html
new file mode 100644
index 0000000000..bd7cf39d88
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/end.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::end</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="prev" href="const_iterator.html" title="mutable_buffers_1::const_iterator">
+<link rel="next" href="mutable_buffers_1.html" title="mutable_buffers_1::mutable_buffers_1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.end"></a><a class="link" href="end.html" title="mutable_buffers_1::end">mutable_buffers_1::end</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155861488"></a>
+Get a random-access iterator for one past the last
+ element.
+ </p>
+<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="const_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1.html b/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1.html
new file mode 100644
index 0000000000..33b226f40a
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::mutable_buffers_1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="prev" href="end.html" title="mutable_buffers_1::end">
+<link rel="next" href="mutable_buffers_1/overload1.html" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_1/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.mutable_buffers_1"></a><a class="link" href="mutable_buffers_1.html" title="mutable_buffers_1::mutable_buffers_1">mutable_buffers_1::mutable_buffers_1</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155868688"></a>
+Construct to represent a given memory
+ range.
+ </p>
+<pre class="programlisting"><a class="link" href="mutable_buffers_1/overload1.html" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">mutable_buffers_1</a><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="mutable_buffers_1/overload1.html" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct to represent a single modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="mutable_buffers_1/overload2.html" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">mutable_buffers_1</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="mutable_buffers_1/overload2.html" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mutable_buffers_1/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload1.html b/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload1.html
new file mode 100644
index 0000000000..08c2b8d25b
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload1.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1::mutable_buffers_1">
+<link rel="prev" href="../mutable_buffers_1.html" title="mutable_buffers_1::mutable_buffers_1">
+<link rel="next" href="overload2.html" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload1"></a><a class="link" href="overload1.html" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">mutable_buffers_1::mutable_buffers_1
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct to represent a given memory range.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="keyword">void</span> <span class="special">*</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload2.html b/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload2.html
new file mode 100644
index 0000000000..81ee411ebf
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/mutable_buffers_1/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1::mutable_buffers_1">
+<link rel="prev" href="overload1.html" title="mutable_buffers_1::mutable_buffers_1 (1 of 2 overloads)">
+<link rel="next" href="../operator_plus_.html" title="mutable_buffers_1::operator+">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.mutable_buffers_1.overload2"></a><a class="link" href="overload2.html" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">mutable_buffers_1::mutable_buffers_1
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct to represent a single modifiable buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffers_1</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_.html b/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_.html
new file mode 100644
index 0000000000..756d3d18dd
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::operator+</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="prev" href="mutable_buffers_1/overload2.html" title="mutable_buffers_1::mutable_buffers_1 (2 of 2 overloads)">
+<link rel="next" href="operator_plus_/overload1.html" title="mutable_buffers_1::operator+ (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutable_buffers_1/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.operator_plus_"></a><a class="link" href="operator_plus_.html" title="mutable_buffers_1::operator+">mutable_buffers_1::operator+</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155906304"></a>
+Create a new modifiable buffer that is offset
+ from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <a class="link" href="operator_plus_/overload1.html" title="mutable_buffers_1::operator+ (1 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload1.html" title="mutable_buffers_1::operator+ (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">mutable_buffer</span> <a class="link" href="operator_plus_/overload2.html" title="mutable_buffers_1::operator+ (2 of 2 overloads)">operator+</a><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="operator_plus_/overload2.html" title="mutable_buffers_1::operator+ (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="mutable_buffers_1/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_plus_/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload1.html b/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload1.html
new file mode 100644
index 0000000000..7fd79fdbea
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload1.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::operator+ (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="mutable_buffers_1::operator+">
+<link rel="prev" href="../operator_plus_.html" title="mutable_buffers_1::operator+">
+<link rel="next" href="overload2.html" title="mutable_buffers_1::operator+ (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.operator_plus_.overload1"></a><a class="link" href="overload1.html" title="mutable_buffers_1::operator+ (1 of 2 overloads)">mutable_buffers_1::operator+
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from mutable_buffer.</em></span>
+ </p>
+<p>
+ Create a new modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../operator_plus_.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload2.html b/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload2.html
new file mode 100644
index 0000000000..746689dbe5
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/operator_plus_/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::operator+ (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../operator_plus_.html" title="mutable_buffers_1::operator+">
+<link rel="prev" href="overload1.html" title="mutable_buffers_1::operator+ (1 of 2 overloads)">
+<link rel="next" href="../value_type.html" title="mutable_buffers_1::value_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../value_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.operator_plus_.overload2"></a><a class="link" href="overload2.html" title="mutable_buffers_1::operator+ (2 of 2 overloads)">mutable_buffers_1::operator+
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from mutable_buffer.</em></span>
+ </p>
+<p>
+ Create a new modifiable buffer that is offset from the start of another.
+ </p>
+<pre class="programlisting"><span class="identifier">mutable_buffer</span> <span class="keyword">operator</span><span class="special">+(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">start</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator_plus_.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../value_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/mutable_buffers_1/value_type.html b/doc/html/boost_asio/reference/mutable_buffers_1/value_type.html
new file mode 100644
index 0000000000..2bcc538ae7
--- /dev/null
+++ b/doc/html/boost_asio/reference/mutable_buffers_1/value_type.html
@@ -0,0 +1,154 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mutable_buffers_1::value_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../mutable_buffers_1.html" title="mutable_buffers_1">
+<link rel="prev" href="operator_plus_/overload2.html" title="mutable_buffers_1::operator+ (2 of 2 overloads)">
+<link rel="next" href="../null_buffers.html" title="null_buffers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../null_buffers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.mutable_buffers_1.value_type"></a><a class="link" href="value_type.html" title="mutable_buffers_1::value_type">mutable_buffers_1::value_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp155953920"></a>
+The type for each element in the list of buffers.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">mutable_buffer</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.mutable_buffers_1.value_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.member_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.mutable_buffers_1.value_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../mutable_buffer/mutable_buffer.html" title="mutable_buffer::mutable_buffer"><span class="bold"><strong>mutable_buffer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an empty buffer.
+ </p>
+ <p>
+ Construct a buffer to represent a given memory range.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.mutable_buffers_1.value_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.related_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.mutable_buffers_1.value_type.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../mutable_buffer/operator_plus_.html" title="mutable_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new modifiable buffer that is offset from the start
+ of another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
+ class provides a safe representation of a buffer that can be modified.
+ It does not own the underlying data, and so is cheap to copy or assign.
+ </p>
+<h6>
+<a name="boost_asio.reference.mutable_buffers_1.value_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.accessing_buffer_contents"></a></span><a class="link" href="value_type.html#boost_asio.reference.mutable_buffers_1.value_type.accessing_buffer_contents">Accessing
+ Buffer Contents</a>
+ </h6>
+<p>
+ The contents of a buffer may be accessed using the <a class="link" href="../buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="../buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
+<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<h6>
+<a name="boost_asio.reference.mutable_buffers_1.value_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.mutable_buffers_1.value_type.requirements"></a></span><a class="link" href="value_type.html#boost_asio.reference.mutable_buffers_1.value_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_plus_/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutable_buffers_1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../null_buffers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/null_buffers.html b/doc/html/boost_asio/reference/null_buffers.html
new file mode 100644
index 0000000000..9a0b4afc50
--- /dev/null
+++ b/doc/html/boost_asio/reference/null_buffers.html
@@ -0,0 +1,156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>null_buffers</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="mutable_buffers_1/value_type.html" title="mutable_buffers_1::value_type">
+<link rel="next" href="null_buffers/begin.html" title="null_buffers::begin">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutable_buffers_1/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="null_buffers/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.null_buffers"></a><a class="link" href="null_buffers.html" title="null_buffers">null_buffers</a>
+</h3></div></div></div>
+<p>
+ An implementation of both the ConstBufferSequence and MutableBufferSequence
+ concepts to represent a null buffer sequence.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">null_buffers</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.null_buffers.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.types"></a></span><a class="link" href="null_buffers.html#boost_asio.reference.null_buffers.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="null_buffers/const_iterator.html" title="null_buffers::const_iterator"><span class="bold"><strong>const_iterator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A random-access iterator type that may be used to read elements.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="null_buffers/value_type.html" title="null_buffers::value_type"><span class="bold"><strong>value_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type for each element in the list of buffers.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.null_buffers.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.member_functions"></a></span><a class="link" href="null_buffers.html#boost_asio.reference.null_buffers.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="null_buffers/begin.html" title="null_buffers::begin"><span class="bold"><strong>begin</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a random-access iterator to the first element.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="null_buffers/end.html" title="null_buffers::end"><span class="bold"><strong>end</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a random-access iterator for one past the last element.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.null_buffers.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.requirements"></a></span><a class="link" href="null_buffers.html#boost_asio.reference.null_buffers.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="mutable_buffers_1/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="null_buffers/begin.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/null_buffers/begin.html b/doc/html/boost_asio/reference/null_buffers/begin.html
new file mode 100644
index 0000000000..092f527727
--- /dev/null
+++ b/doc/html/boost_asio/reference/null_buffers/begin.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>null_buffers::begin</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../null_buffers.html" title="null_buffers">
+<link rel="prev" href="../null_buffers.html" title="null_buffers">
+<link rel="next" href="const_iterator.html" title="null_buffers::const_iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../null_buffers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.null_buffers.begin"></a><a class="link" href="begin.html" title="null_buffers::begin">null_buffers::begin</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156059968"></a>
+Get a random-access iterator to the first element.
+ </p>
+<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../null_buffers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="const_iterator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/null_buffers/const_iterator.html b/doc/html/boost_asio/reference/null_buffers/const_iterator.html
new file mode 100644
index 0000000000..e1c2fc3b69
--- /dev/null
+++ b/doc/html/boost_asio/reference/null_buffers/const_iterator.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>null_buffers::const_iterator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../null_buffers.html" title="null_buffers">
+<link rel="prev" href="begin.html" title="null_buffers::begin">
+<link rel="next" href="end.html" title="null_buffers::end">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.null_buffers.const_iterator"></a><a class="link" href="const_iterator.html" title="null_buffers::const_iterator">null_buffers::const_iterator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156067184"></a>
+A random-access iterator type that may be used
+ to read elements.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">mutable_buffer</span> <span class="special">*</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.null_buffers.const_iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.const_iterator.requirements"></a></span><a class="link" href="const_iterator.html#boost_asio.reference.null_buffers.const_iterator.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="begin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="end.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/null_buffers/end.html b/doc/html/boost_asio/reference/null_buffers/end.html
new file mode 100644
index 0000000000..eba3a9daec
--- /dev/null
+++ b/doc/html/boost_asio/reference/null_buffers/end.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>null_buffers::end</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../null_buffers.html" title="null_buffers">
+<link rel="prev" href="const_iterator.html" title="null_buffers::const_iterator">
+<link rel="next" href="value_type.html" title="null_buffers::value_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="const_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.null_buffers.end"></a><a class="link" href="end.html" title="null_buffers::end">null_buffers::end</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156080768"></a>
+Get a random-access iterator for one past the last element.
+ </p>
+<pre class="programlisting"><span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="const_iterator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/null_buffers/value_type.html b/doc/html/boost_asio/reference/null_buffers/value_type.html
new file mode 100644
index 0000000000..4ac5f1c054
--- /dev/null
+++ b/doc/html/boost_asio/reference/null_buffers/value_type.html
@@ -0,0 +1,154 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>null_buffers::value_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../null_buffers.html" title="null_buffers">
+<link rel="prev" href="end.html" title="null_buffers::end">
+<link rel="next" href="../placeholders__bytes_transferred.html" title="placeholders::bytes_transferred">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../placeholders__bytes_transferred.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.null_buffers.value_type"></a><a class="link" href="value_type.html" title="null_buffers::value_type">null_buffers::value_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156087888"></a>
+The type for each element in the list of buffers.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">mutable_buffer</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.null_buffers.value_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.member_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.null_buffers.value_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../mutable_buffer/mutable_buffer.html" title="mutable_buffer::mutable_buffer"><span class="bold"><strong>mutable_buffer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an empty buffer.
+ </p>
+ <p>
+ Construct a buffer to represent a given memory range.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.null_buffers.value_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.related_functions"></a></span><a class="link" href="value_type.html#boost_asio.reference.null_buffers.value_type.related_functions">Related
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="../mutable_buffer/operator_plus_.html" title="mutable_buffer::operator+"><span class="bold"><strong>operator+</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new modifiable buffer that is offset from the start
+ of another.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+ The <a class="link" href="../mutable_buffer.html" title="mutable_buffer"><code class="computeroutput"><span class="identifier">mutable_buffer</span></code></a>
+ class provides a safe representation of a buffer that can be modified.
+ It does not own the underlying data, and so is cheap to copy or assign.
+ </p>
+<h6>
+<a name="boost_asio.reference.null_buffers.value_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.accessing_buffer_contents"></a></span><a class="link" href="value_type.html#boost_asio.reference.null_buffers.value_type.accessing_buffer_contents">Accessing
+ Buffer Contents</a>
+ </h6>
+<p>
+ The contents of a buffer may be accessed using the <a class="link" href="../buffer_size.html" title="buffer_size"><code class="computeroutput"><span class="identifier">buffer_size</span></code></a> and <a class="link" href="../buffer_cast.html" title="buffer_cast"><code class="computeroutput"><span class="identifier">buffer_cast</span></code></a> functions:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">mutable_buffer</span> <span class="identifier">b1</span> <span class="special">=</span> <span class="special">...;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">s1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_size</span><span class="special">(</span><span class="identifier">b1</span><span class="special">);</span>
+<span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">p1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*&gt;(</span><span class="identifier">b1</span><span class="special">);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer_cast</span></code> function permits violations
+ of type safety, so uses of it in application code should be carefully considered.
+ </p>
+<h6>
+<a name="boost_asio.reference.null_buffers.value_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.null_buffers.value_type.requirements"></a></span><a class="link" href="value_type.html#boost_asio.reference.null_buffers.value_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/buffer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="end.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../null_buffers.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../placeholders__bytes_transferred.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/placeholders__bytes_transferred.html b/doc/html/boost_asio/reference/placeholders__bytes_transferred.html
new file mode 100644
index 0000000000..20d5bacb6e
--- /dev/null
+++ b/doc/html/boost_asio/reference/placeholders__bytes_transferred.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>placeholders::bytes_transferred</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="null_buffers/value_type.html" title="null_buffers::value_type">
+<link rel="next" href="placeholders__error.html" title="placeholders::error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="null_buffers/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="placeholders__error.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.placeholders__bytes_transferred"></a><a class="link" href="placeholders__bytes_transferred.html" title="placeholders::bytes_transferred">placeholders::bytes_transferred</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp156156832"></a>
+An argument placeholder, for use with boost::bind(),
+ that corresponds to the bytes_transferred argument of a handler for asynchronous
+ functions such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_stream_socket</span><span class="special">::</span><span class="identifier">async_write_some</span></code> or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">bytes_transferred</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.placeholders__bytes_transferred.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.placeholders__bytes_transferred.requirements"></a></span><a class="link" href="placeholders__bytes_transferred.html#boost_asio.reference.placeholders__bytes_transferred.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="null_buffers/value_type.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="placeholders__error.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/placeholders__error.html b/doc/html/boost_asio/reference/placeholders__error.html
new file mode 100644
index 0000000000..adf534d5b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/placeholders__error.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>placeholders::error</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="placeholders__bytes_transferred.html" title="placeholders::bytes_transferred">
+<link rel="next" href="placeholders__iterator.html" title="placeholders::iterator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="placeholders__bytes_transferred.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="placeholders__iterator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.placeholders__error"></a><a class="link" href="placeholders__error.html" title="placeholders::error">placeholders::error</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp156176224"></a>
+An argument placeholder, for use with boost::bind(), that
+ corresponds to the error argument of a handler for any of the asynchronous
+ functions.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">error</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.placeholders__error.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.placeholders__error.requirements"></a></span><a class="link" href="placeholders__error.html#boost_asio.reference.placeholders__error.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="placeholders__bytes_transferred.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="placeholders__iterator.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/placeholders__iterator.html b/doc/html/boost_asio/reference/placeholders__iterator.html
new file mode 100644
index 0000000000..ba6e0c617c
--- /dev/null
+++ b/doc/html/boost_asio/reference/placeholders__iterator.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>placeholders::iterator</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="placeholders__error.html" title="placeholders::error">
+<link rel="next" href="placeholders__signal_number.html" title="placeholders::signal_number">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="placeholders__error.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="placeholders__signal_number.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.placeholders__iterator"></a><a class="link" href="placeholders__iterator.html" title="placeholders::iterator">placeholders::iterator</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp156187472"></a>
+An argument placeholder, for use with boost::bind(),
+ that corresponds to the iterator argument of a handler for asynchronous functions
+ such as boost::asio::basic_resolver::async_resolve.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">iterator</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.placeholders__iterator.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.placeholders__iterator.requirements"></a></span><a class="link" href="placeholders__iterator.html#boost_asio.reference.placeholders__iterator.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="placeholders__error.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="placeholders__signal_number.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/placeholders__signal_number.html b/doc/html/boost_asio/reference/placeholders__signal_number.html
new file mode 100644
index 0000000000..3a527a71b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/placeholders__signal_number.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>placeholders::signal_number</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="placeholders__iterator.html" title="placeholders::iterator">
+<link rel="next" href="posix__basic_descriptor.html" title="posix::basic_descriptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="placeholders__iterator.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__basic_descriptor.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.placeholders__signal_number"></a><a class="link" href="placeholders__signal_number.html" title="placeholders::signal_number">placeholders::signal_number</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp156198784"></a>
+An argument placeholder, for use with boost::bind(),
+ that corresponds to the signal_number argument of a handler for asynchronous
+ functions such as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span><span class="special">::</span><span class="identifier">async_wait</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">signal_number</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.placeholders__signal_number.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.placeholders__signal_number.requirements"></a></span><a class="link" href="placeholders__signal_number.html#boost_asio.reference.placeholders__signal_number.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/placeholders.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="placeholders__iterator.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__basic_descriptor.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor.html b/doc/html/boost_asio/reference/posix__basic_descriptor.html
new file mode 100644
index 0000000000..51cc8dc9e9
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor.html
@@ -0,0 +1,508 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="placeholders__signal_number.html" title="placeholders::signal_number">
+<link rel="next" href="posix__basic_descriptor/assign.html" title="posix::basic_descriptor::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="placeholders__signal_number.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__basic_descriptor/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor"></a><a class="link" href="posix__basic_descriptor.html" title="posix::basic_descriptor">posix::basic_descriptor</a>
+</h3></div></div></div>
+<p>
+ Provides POSIX descriptor functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="DescriptorService.html" title="Descriptor service requirements">DescriptorService</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_descriptor</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">DescriptorService</span> <span class="special">&gt;,</span>
+ <span class="keyword">public</span> <span class="identifier">posix</span><span class="special">::</span><span class="identifier">descriptor_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.posix__basic_descriptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.types"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/bytes_readable.html" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/implementation_type.html" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_descriptor is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/native_handle_type.html" title="posix::basic_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/native_type.html" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/service_type.html" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__basic_descriptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.member_functions"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/assign.html" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_descriptor without opening it.
+ </p>
+ <p>
+ Construct a basic_descriptor on an existing native descriptor.
+ </p>
+ <p>
+ Move-construct a basic_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/cancel.html" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/close.html" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/get_io_service.html" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/io_control.html" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/is_open.html" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the descriptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/lowest_layer.html" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/native.html" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/native_handle.html" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/non_blocking.html" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/operator_eq_.html" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/release.html" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__basic_descriptor.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.protected_member_functions"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/get_implementation.html" title="posix::basic_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/get_service.html" title="posix::basic_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__basic_descriptor.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.protected_data_members"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/implementation.html" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_descriptor/service.html" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
+ provides the ability to wrap a POSIX descriptor.
+ </p>
+<h5>
+<a name="boost_asio.reference.posix__basic_descriptor.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.thread_safety"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.posix__basic_descriptor.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.requirements"></a></span><a class="link" href="posix__basic_descriptor.html#boost_asio.reference.posix__basic_descriptor.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="placeholders__signal_number.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__basic_descriptor/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/_basic_descriptor.html b/doc/html/boost_asio/reference/posix__basic_descriptor/_basic_descriptor.html
new file mode 100644
index 0000000000..d7ef33d45b
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/_basic_descriptor.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::~basic_descriptor</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="service_type.html" title="posix::basic_descriptor::service_type">
+<link rel="next" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor._basic_descriptor"></a><a class="link" href="_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor">posix::basic_descriptor::~basic_descriptor</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157491744"></a>
+Protected destructor to prevent
+ deletion through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_descriptor</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/assign.html b/doc/html/boost_asio/reference/posix__basic_descriptor/assign.html
new file mode 100644
index 0000000000..b61d602cdf
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/assign.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="next" href="assign/overload1.html" title="posix::basic_descriptor::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.assign"></a><a class="link" href="assign.html" title="posix::basic_descriptor::assign">posix::basic_descriptor::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156363600"></a>
+Assign an existing native descriptor to the
+ descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="posix::basic_descriptor::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="posix::basic_descriptor::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="posix::basic_descriptor::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="posix::basic_descriptor::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload1.html
new file mode 100644
index 0000000000..5326f2e41a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="posix::basic_descriptor::assign">
+<link rel="prev" href="../assign.html" title="posix::basic_descriptor::assign">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.assign.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::assign (1 of 2 overloads)">posix::basic_descriptor::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload2.html
new file mode 100644
index 0000000000..dc23523250
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/assign/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="posix::basic_descriptor::assign">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::assign (1 of 2 overloads)">
+<link rel="next" href="../basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.assign.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::assign (2 of 2 overloads)">posix::basic_descriptor::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor.html b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor.html
new file mode 100644
index 0000000000..625e0ec5d1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::basic_descriptor</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="assign/overload2.html" title="posix::basic_descriptor::assign (2 of 2 overloads)">
+<link rel="next" href="basic_descriptor/overload1.html" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_descriptor/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor"></a><a class="link" href="basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor">posix::basic_descriptor::basic_descriptor</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156411760"></a>
+Construct a <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_descriptor/overload1.html" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">basic_descriptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_descriptor/overload1.html" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> on an existing
+ native descriptor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_descriptor/overload2.html" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">basic_descriptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_descriptor/overload2.html" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_descriptor/overload3.html" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">basic_descriptor</a><span class="special">(</span>
+ <span class="identifier">basic_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_descriptor/overload3.html" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_descriptor/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload1.html
new file mode 100644
index 0000000000..52149412a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::basic_descriptor (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor">
+<link rel="prev" href="../basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">posix::basic_descriptor::basic_descriptor
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_descriptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a descriptor without opening it.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the descriptor will use to dispatch handlers for any asynchronous
+ operations performed on the descriptor.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_descriptor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload2.html
new file mode 100644
index 0000000000..8a5a01b22b
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::basic_descriptor (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::basic_descriptor (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">posix::basic_descriptor::basic_descriptor
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> on an existing
+ native descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_descriptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a descriptor object to hold an existing native
+ descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the descriptor will use to dispatch handlers for any asynchronous
+ operations performed on the descriptor.
+ </p></dd>
+<dt><span class="term">native_descriptor</span></dt>
+<dd><p>
+ A native descriptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload3.html b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload3.html
new file mode 100644
index 0000000000..86dd100d0a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/basic_descriptor/overload3.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::basic_descriptor (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor">
+<link rel="prev" href="overload2.html" title="posix::basic_descriptor::basic_descriptor (2 of 3 overloads)">
+<link rel="next" href="../bytes_readable.html" title="posix::basic_descriptor::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bytes_readable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3"></a><a class="link" href="overload3.html" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">posix::basic_descriptor::basic_descriptor
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_descriptor</span><span class="special">(</span>
+ <span class="identifier">basic_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a descriptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_descriptor.basic_descriptor.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bytes_readable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/bytes_readable.html b/doc/html/boost_asio/reference/posix__basic_descriptor/bytes_readable.html
new file mode 100644
index 0000000000..5fd6a2d377
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="basic_descriptor/overload3.html" title="posix::basic_descriptor::basic_descriptor (3 of 3 overloads)">
+<link rel="next" href="cancel.html" title="posix::basic_descriptor::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_descriptor/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.bytes_readable"></a><a class="link" href="bytes_readable.html" title="posix::basic_descriptor::bytes_readable">posix::basic_descriptor::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp156527248"></a>
+IO control command to get the amount
+ of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.posix__basic_descriptor.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.posix__basic_descriptor.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_descriptor/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/cancel.html b/doc/html/boost_asio/reference/posix__basic_descriptor/cancel.html
new file mode 100644
index 0000000000..767475f5b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="bytes_readable.html" title="posix::basic_descriptor::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="posix::basic_descriptor::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.cancel"></a><a class="link" href="cancel.html" title="posix::basic_descriptor::cancel">posix::basic_descriptor::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156565664"></a>
+Cancel all asynchronous operations associated
+ with the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="posix::basic_descriptor::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="posix::basic_descriptor::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="posix::basic_descriptor::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="posix::basic_descriptor::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload1.html
new file mode 100644
index 0000000000..297672474a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload1.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="posix::basic_descriptor::cancel">
+<link rel="prev" href="../cancel.html" title="posix::basic_descriptor::cancel">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::cancel (1 of 2 overloads)">posix::basic_descriptor::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload2.html
new file mode 100644
index 0000000000..04ffa5a27d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/cancel/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="posix::basic_descriptor::cancel">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="posix::basic_descriptor::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::cancel (2 of 2 overloads)">posix::basic_descriptor::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/close.html b/doc/html/boost_asio/reference/posix__basic_descriptor/close.html
new file mode 100644
index 0000000000..ecdea5ac6f
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="cancel/overload2.html" title="posix::basic_descriptor::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="posix::basic_descriptor::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.close"></a><a class="link" href="close.html" title="posix::basic_descriptor::close">posix::basic_descriptor::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156621056"></a>
+Close the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="posix::basic_descriptor::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="posix::basic_descriptor::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="posix::basic_descriptor::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="posix::basic_descriptor::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload1.html
new file mode 100644
index 0000000000..026472511c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload1.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="posix::basic_descriptor::close">
+<link rel="prev" href="../close.html" title="posix::basic_descriptor::close">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.close.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::close (1 of 2 overloads)">posix::basic_descriptor::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the descriptor. Any asynchronous read
+ or write operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload2.html
new file mode 100644
index 0000000000..1216ebf5da
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/close/overload2.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="posix::basic_descriptor::close">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="posix::basic_descriptor::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.close.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::close (2 of 2 overloads)">posix::basic_descriptor::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the descriptor. Any asynchronous read
+ or write operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation.html
new file mode 100644
index 0000000000..da214df39d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="close/overload2.html" title="posix::basic_descriptor::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_implementation"></a><a class="link" href="get_implementation.html" title="posix::basic_descriptor::get_implementation">posix::basic_descriptor::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156676608"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload1.html
new file mode 100644
index 0000000000..d463f47cd6
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="posix::basic_descriptor::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="posix::basic_descriptor::get_implementation">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_implementation.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">posix::basic_descriptor::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload2.html
new file mode 100644
index 0000000000..afb5fefc1c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="posix::basic_descriptor::get_implementation">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="posix::basic_descriptor::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_implementation.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">posix::basic_descriptor::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_io_service.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_io_service.html
new file mode 100644
index 0000000000..8ef398b20a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="get_implementation/overload2.html" title="posix::basic_descriptor::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="posix::basic_descriptor::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_io_service"></a><a class="link" href="get_io_service.html" title="posix::basic_descriptor::get_io_service">posix::basic_descriptor::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp156707024"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.posix__basic_descriptor.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_service.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_service.html
new file mode 100644
index 0000000000..79151c8a6c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="get_io_service.html" title="posix::basic_descriptor::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="posix::basic_descriptor::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_service"></a><a class="link" href="get_service.html" title="posix::basic_descriptor::get_service">posix::basic_descriptor::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156725296"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="posix::basic_descriptor::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="posix::basic_descriptor::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="posix::basic_descriptor::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="posix::basic_descriptor::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload1.html
new file mode 100644
index 0000000000..c48d3c4ea7
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="posix::basic_descriptor::get_service">
+<link rel="prev" href="../get_service.html" title="posix::basic_descriptor::get_service">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_service.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::get_service (1 of 2 overloads)">posix::basic_descriptor::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload2.html
new file mode 100644
index 0000000000..5ba08fdcdb
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="posix::basic_descriptor::get_service">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="posix::basic_descriptor::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.get_service.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::get_service (2 of 2 overloads)">posix::basic_descriptor::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/implementation.html b/doc/html/boost_asio/reference/posix__basic_descriptor/implementation.html
new file mode 100644
index 0000000000..ab69d4afcc
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="get_service/overload2.html" title="posix::basic_descriptor::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="posix::basic_descriptor::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.implementation"></a><a class="link" href="implementation.html" title="posix::basic_descriptor::implementation">posix::basic_descriptor::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp156755232"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/implementation_type.html b/doc/html/boost_asio/reference/posix__basic_descriptor/implementation_type.html
new file mode 100644
index 0000000000..0268e29205
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="implementation.html" title="posix::basic_descriptor::implementation">
+<link rel="next" href="io_control.html" title="posix::basic_descriptor::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.implementation_type"></a><a class="link" href="implementation_type.html" title="posix::basic_descriptor::implementation_type">posix::basic_descriptor::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp156763952"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.posix__basic_descriptor.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/io_control.html b/doc/html/boost_asio/reference/posix__basic_descriptor/io_control.html
new file mode 100644
index 0000000000..4090ad92e1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/io_control.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="implementation_type.html" title="posix::basic_descriptor::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="posix::basic_descriptor::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.io_control"></a><a class="link" href="io_control.html" title="posix::basic_descriptor::io_control">posix::basic_descriptor::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156777456"></a>
+Perform an IO control command on the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="posix::basic_descriptor::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="posix::basic_descriptor::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="posix::basic_descriptor::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="posix::basic_descriptor::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload1.html
new file mode 100644
index 0000000000..280e81b8a6
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload1.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="posix::basic_descriptor::io_control">
+<link rel="prev" href="../io_control.html" title="posix::basic_descriptor::io_control">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::io_control (1 of 2 overloads)">posix::basic_descriptor::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform an IO control command on the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the descriptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload2.html
new file mode 100644
index 0000000000..71f4bac406
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/io_control/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="posix::basic_descriptor::io_control">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="posix::basic_descriptor::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::io_control (2 of 2 overloads)">posix::basic_descriptor::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform an IO control command on the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the descriptor.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/is_open.html b/doc/html/boost_asio/reference/posix__basic_descriptor/is_open.html
new file mode 100644
index 0000000000..fab2f55ae6
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/is_open.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="io_control/overload2.html" title="posix::basic_descriptor::io_control (2 of 2 overloads)">
+<link rel="next" href="lowest_layer.html" title="posix::basic_descriptor::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.is_open"></a><a class="link" href="is_open.html" title="posix::basic_descriptor::is_open">posix::basic_descriptor::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156915792"></a>
+Determine whether the descriptor is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer.html b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer.html
new file mode 100644
index 0000000000..59711fa7c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="is_open.html" title="posix::basic_descriptor::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer"></a><a class="link" href="lowest_layer.html" title="posix::basic_descriptor::lowest_layer">posix::basic_descriptor::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156923104"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload1.html
new file mode 100644
index 0000000000..f8fa05ebe6
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload1.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="posix::basic_descriptor::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="posix::basic_descriptor::lowest_layer">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">posix::basic_descriptor::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload2.html
new file mode 100644
index 0000000000..db376f8c9e
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer/overload2.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="posix::basic_descriptor::lowest_layer">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">posix::basic_descriptor::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer_type.html b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer_type.html
new file mode 100644
index 0000000000..f0a694d203
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/lowest_layer_type.html
@@ -0,0 +1,507 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="lowest_layer/overload2.html" title="posix::basic_descriptor::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="posix::basic_descriptor::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type">posix::basic_descriptor::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp156965936"></a>
+A <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> is always the
+ lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">DescriptorService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bytes_readable.html" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation_type.html" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_descriptor is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle_type.html" title="posix::basic_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_type.html" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service_type.html" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="assign.html" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_descriptor without opening it.
+ </p>
+ <p>
+ Construct a basic_descriptor on an existing native descriptor.
+ </p>
+ <p>
+ Move-construct a basic_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="cancel.html" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="close.html" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_io_service.html" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_control.html" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="is_open.html" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the descriptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer.html" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native.html" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native descriptor
+ representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle.html" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="non_blocking.html" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="operator_eq_.html" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="release.html" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_implementation.html" title="posix::basic_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_service.html" title="posix::basic_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation.html" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service.html" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
+ provides the ability to wrap a POSIX descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_descriptor.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native.html
new file mode 100644
index 0000000000..562fd397a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="posix::basic_descriptor::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native"></a><a class="link" href="native.html" title="posix::basic_descriptor::native">posix::basic_descriptor::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157108752"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native descriptor representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ descriptor. This is intended to allow access to native descriptor functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle.html
new file mode 100644
index 0000000000..f3f1724776
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="native.html" title="posix::basic_descriptor::native">
+<link rel="next" href="native_handle_type.html" title="posix::basic_descriptor::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_handle"></a><a class="link" href="native_handle.html" title="posix::basic_descriptor::native_handle">posix::basic_descriptor::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157117120"></a>
+Get the native descriptor representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ descriptor. This is intended to allow access to native descriptor functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle_type.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle_type.html
new file mode 100644
index 0000000000..68cb7eb3b0
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="native_handle.html" title="posix::basic_descriptor::native_handle">
+<link rel="next" href="native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_handle_type"></a><a class="link" href="native_handle_type.html" title="posix::basic_descriptor::native_handle_type">posix::basic_descriptor::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157123776"></a>
+The native representation of a
+ descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.posix__basic_descriptor.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking.html
new file mode 100644
index 0000000000..f1b4860244
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="native_handle_type.html" title="posix::basic_descriptor::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking">posix::basic_descriptor::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157137360"></a>
+Gets the non-blocking mode of
+ the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..cc2a36a0cb
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload1.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">posix::basic_descriptor::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native descriptor. This mode has no effect on the behaviour of the descriptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying descriptor
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the descriptor object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native descriptor.
+ </p>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..c6aefbea93
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">posix::basic_descriptor::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native descriptor. It has no effect on the behaviour of the descriptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ descriptor is put into non-blocking mode and direct system calls
+ may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..b9dafa3cb4
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_non_blocking/overload3.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking">
+<link rel="prev" href="overload2.html" title="posix::basic_descriptor::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="posix::basic_descriptor::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">posix::basic_descriptor::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native descriptor. It has no effect on the behaviour of the descriptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_descriptor.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ descriptor is put into non-blocking mode and direct system calls
+ may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/native_type.html b/doc/html/boost_asio/reference/posix__basic_descriptor/native_type.html
new file mode 100644
index 0000000000..0b571054b3
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="native_non_blocking/overload3.html" title="posix::basic_descriptor::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="posix::basic_descriptor::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.native_type"></a><a class="link" href="native_type.html" title="posix::basic_descriptor::native_type">posix::basic_descriptor::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157256720"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.posix__basic_descriptor.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking.html b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking.html
new file mode 100644
index 0000000000..07f4d01df1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="native_type.html" title="posix::basic_descriptor::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking"></a><a class="link" href="non_blocking.html" title="posix::basic_descriptor::non_blocking">posix::basic_descriptor::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157270160"></a>
+Gets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload1.html b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload1.html
new file mode 100644
index 0000000000..4cf35a946b
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::basic_descriptor::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="posix::basic_descriptor::non_blocking">
+<link rel="next" href="overload2.html" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1"></a><a class="link" href="overload1.html" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">posix::basic_descriptor::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the descriptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload2.html b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload2.html
new file mode 100644
index 0000000000..ced4a7e9c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::basic_descriptor::non_blocking">
+<link rel="prev" href="overload1.html" title="posix::basic_descriptor::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2"></a><a class="link" href="overload2.html" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">posix::basic_descriptor::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload3.html b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload3.html
new file mode 100644
index 0000000000..05c3d11081
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking/overload3.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::basic_descriptor::non_blocking">
+<link rel="prev" href="overload2.html" title="posix::basic_descriptor::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3"></a><a class="link" href="overload3.html" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">posix::basic_descriptor::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_descriptor.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking_io.html b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking_io.html
new file mode 100644
index 0000000000..4118dde4bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="non_blocking/overload3.html" title="posix::basic_descriptor::non_blocking (3 of 3 overloads)">
+<link rel="next" href="operator_eq_.html" title="posix::basic_descriptor::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io">posix::basic_descriptor::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp157391904"></a>
+(Deprecated: Use non_blocking().)
+ IO control command to set the blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.posix__basic_descriptor.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/operator_eq_.html b/doc/html/boost_asio/reference/posix__basic_descriptor/operator_eq_.html
new file mode 100644
index 0000000000..a177520f06
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/operator_eq_.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io">
+<link rel="next" href="release.html" title="posix::basic_descriptor::release">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="release.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.operator_eq_"></a><a class="link" href="operator_eq_.html" title="posix::basic_descriptor::operator=">posix::basic_descriptor::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157424784"></a>
+Move-assign a <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_descriptor</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a descriptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.posix__basic_descriptor.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.posix__basic_descriptor.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="release.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/release.html b/doc/html/boost_asio/reference/posix__basic_descriptor/release.html
new file mode 100644
index 0000000000..52cc398aff
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/release.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::release</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="operator_eq_.html" title="posix::basic_descriptor::operator=">
+<link rel="next" href="service.html" title="posix::basic_descriptor::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.release"></a><a class="link" href="release.html" title="posix::basic_descriptor::release">posix::basic_descriptor::release</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157452496"></a>
+Release ownership of the native descriptor
+ implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">release</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ descriptor. After calling this function, <code class="computeroutput"><span class="identifier">is_open</span><span class="special">()</span></code> returns false. The caller is responsible
+ for closing the descriptor.
+ </p>
+<p>
+ All outstanding asynchronous read or write operations will finish immediately,
+ and the handlers for cancelled operations will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/service.html b/doc/html/boost_asio/reference/posix__basic_descriptor/service.html
new file mode 100644
index 0000000000..f0efd3a59d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="release.html" title="posix::basic_descriptor::release">
+<link rel="next" href="service_type.html" title="posix::basic_descriptor::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.service"></a><a class="link" href="service.html" title="posix::basic_descriptor::service">posix::basic_descriptor::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp157466784"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.posix__basic_descriptor.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_descriptor/service_type.html b/doc/html/boost_asio/reference/posix__basic_descriptor/service_type.html
new file mode 100644
index 0000000000..4a650d5ec7
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_descriptor/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_descriptor::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_descriptor.html" title="posix::basic_descriptor">
+<link rel="prev" href="service.html" title="posix::basic_descriptor::service">
+<link rel="next" href="_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_descriptor.service_type"></a><a class="link" href="service_type.html" title="posix::basic_descriptor::service_type">posix::basic_descriptor::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp157479248"></a>
+The type of the service that will be
+ used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">DescriptorService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_descriptor.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_descriptor.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.posix__basic_descriptor.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor.html
new file mode 100644
index 0000000000..7fe8b84826
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor.html
@@ -0,0 +1,543 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="posix__basic_descriptor/_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor">
+<link rel="next" href="posix__basic_stream_descriptor/assign.html" title="posix::basic_stream_descriptor::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix__basic_descriptor/_basic_descriptor.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__basic_stream_descriptor/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor"></a><a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">posix::basic_stream_descriptor</a>
+</h3></div></div></div>
+<p>
+ Provides stream-oriented descriptor functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="StreamDescriptorService.html" title="Stream descriptor service requirements">StreamDescriptorService</a> <span class="special">=</span> <span class="identifier">stream_descriptor_service</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stream_descriptor</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">StreamDescriptorService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.types"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/implementation_type.html" title="posix::basic_stream_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_descriptor is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_type.html" title="posix::basic_stream_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/non_blocking_io.html" title="posix::basic_stream_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/service_type.html" title="posix::basic_stream_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.member_functions"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/assign.html" title="posix::basic_stream_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/async_read_some.html" title="posix::basic_stream_descriptor::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/async_write_some.html" title="posix::basic_stream_descriptor::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor"><span class="bold"><strong>basic_stream_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_descriptor without opening it.
+ </p>
+ <p>
+ Construct a basic_stream_descriptor on an existing native descriptor.
+ </p>
+ <p>
+ Move-construct a basic_stream_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/cancel.html" title="posix::basic_stream_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/close.html" title="posix::basic_stream_descriptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/get_io_service.html" title="posix::basic_stream_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/io_control.html" title="posix::basic_stream_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/is_open.html" title="posix::basic_stream_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the descriptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native.html" title="posix::basic_stream_descriptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_handle.html" title="posix::basic_stream_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/non_blocking.html" title="posix::basic_stream_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/operator_eq_.html" title="posix::basic_stream_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/read_some.html" title="posix::basic_stream_descriptor::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/release.html" title="posix::basic_stream_descriptor::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/write_some.html" title="posix::basic_stream_descriptor::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the descriptor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.protected_member_functions"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/get_implementation.html" title="posix::basic_stream_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/get_service.html" title="posix::basic_stream_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.protected_data_members"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/implementation.html" title="posix::basic_stream_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/service.html" title="posix::basic_stream_descriptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> class template
+ provides asynchronous and blocking stream-oriented descriptor functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.thread_safety"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.requirements"></a></span><a class="link" href="posix__basic_stream_descriptor.html#boost_asio.reference.posix__basic_stream_descriptor.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="posix__basic_descriptor/_basic_descriptor.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__basic_stream_descriptor/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign.html
new file mode 100644
index 0000000000..c67a7d3894
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="next" href="assign/overload1.html" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.assign"></a><a class="link" href="assign.html" title="posix::basic_stream_descriptor::assign">posix::basic_stream_descriptor::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157657584"></a>
+Assign an existing native descriptor
+ to the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload1.html
new file mode 100644
index 0000000000..aaaec4817f
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="posix::basic_stream_descriptor::assign">
+<link rel="prev" href="../assign.html" title="posix::basic_stream_descriptor::assign">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.assign.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">posix::basic_stream_descriptor::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload2.html
new file mode 100644
index 0000000000..4c869ba763
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/assign/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="posix::basic_stream_descriptor::assign">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::assign (1 of 2 overloads)">
+<link rel="next" href="../async_read_some.html" title="posix::basic_stream_descriptor::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.assign.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">posix::basic_stream_descriptor::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_read_some.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_read_some.html
new file mode 100644
index 0000000000..4eba4aed71
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_read_some.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="assign/overload2.html" title="posix::basic_stream_descriptor::assign (2 of 2 overloads)">
+<link rel="next" href="async_write_some.html" title="posix::basic_stream_descriptor::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some"></a><a class="link" href="async_read_some.html" title="posix::basic_stream_descriptor::async_read_some">posix::basic_stream_descriptor::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157707296"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data from the stream descriptor.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.parameters"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.remarks"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The read operation may not read all of the requested number of bytes. Consider
+ using the <a class="link" href="../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_read_some.example"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.posix__basic_stream_descriptor.async_read_some.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_write_some.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_write_some.html
new file mode 100644
index 0000000000..d28687f75b
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/async_write_some.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="async_read_some.html" title="posix::basic_stream_descriptor::async_read_some">
+<link rel="next" href="basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some"></a><a class="link" href="async_write_some.html" title="posix::basic_stream_descriptor::async_write_some">posix::basic_stream_descriptor::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157772592"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write data to the stream descriptor.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.parameters"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the descriptor. Although
+ the buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.remarks"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The write operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
+ to ensure that all data is written before the asynchronous operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.async_write_some.example"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.posix__basic_stream_descriptor.async_write_some.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor.html
new file mode 100644
index 0000000000..19149583a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::basic_stream_descriptor</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="async_write_some.html" title="posix::basic_stream_descriptor::async_write_some">
+<link rel="next" href="basic_stream_descriptor/overload1.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_descriptor/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor"></a><a class="link" href="basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor">posix::basic_stream_descriptor::basic_stream_descriptor</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157837840"></a>
+Construct a <a class="link" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_stream_descriptor/overload1.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">basic_stream_descriptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_descriptor/overload1.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> on an
+ existing native descriptor.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_descriptor/overload2.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">basic_stream_descriptor</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_descriptor/overload2.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_descriptor/overload3.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">basic_stream_descriptor</a><span class="special">(</span>
+ <span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_descriptor/overload3.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_descriptor/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload1.html
new file mode 100644
index 0000000000..c134a19bf8
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload1.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor">
+<link rel="prev" href="../basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">posix::basic_stream_descriptor::basic_stream_descriptor
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream descriptor without opening it. The
+ descriptor needs to be opened and then connected or accepted before data
+ can be sent or received on it.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream descriptor will use to dispatch handlers for any asynchronous
+ operations performed on the descriptor.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload2.html
new file mode 100644
index 0000000000..40dda01828
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">posix::basic_stream_descriptor::basic_stream_descriptor
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> on an
+ existing native descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream descriptor object to hold an existing
+ native descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream descriptor will use to dispatch handlers for any asynchronous
+ operations performed on the descriptor.
+ </p></dd>
+<dt><span class="term">native_descriptor</span></dt>
+<dd><p>
+ The new underlying descriptor implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload3.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload3.html
new file mode 100644
index 0000000000..2b762b0460
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/basic_stream_descriptor/overload3.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor">
+<link rel="prev" href="overload2.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (2 of 3 overloads)">
+<link rel="next" href="../bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bytes_readable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3"></a><a class="link" href="overload3.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">posix::basic_stream_descriptor::basic_stream_descriptor
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> from
+ another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span>
+ <span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a stream descriptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_stream_descriptor.basic_stream_descriptor.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_descriptor.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bytes_readable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/bytes_readable.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/bytes_readable.html
new file mode 100644
index 0000000000..0beca6b9c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/bytes_readable.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="basic_stream_descriptor/overload3.html" title="posix::basic_stream_descriptor::basic_stream_descriptor (3 of 3 overloads)">
+<link rel="next" href="cancel.html" title="posix::basic_stream_descriptor::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_stream_descriptor/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable"></a><a class="link" href="bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable">posix::basic_stream_descriptor::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp157954272"></a>
+IO control command to get the
+ amount of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.posix__basic_stream_descriptor.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="basic_stream_descriptor/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel.html
new file mode 100644
index 0000000000..4c179fabd7
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable">
+<link rel="next" href="cancel/overload1.html" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel"></a><a class="link" href="cancel.html" title="posix::basic_stream_descriptor::cancel">posix::basic_stream_descriptor::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp157992832"></a>
+Cancel all asynchronous operations
+ associated with the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload1.html
new file mode 100644
index 0000000000..55eb494d20
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="posix::basic_stream_descriptor::cancel">
+<link rel="prev" href="../cancel.html" title="posix::basic_stream_descriptor::cancel">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">posix::basic_stream_descriptor::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload2.html
new file mode 100644
index 0000000000..6a3040a966
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/cancel/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="posix::basic_stream_descriptor::cancel">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="posix::basic_stream_descriptor::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">posix::basic_stream_descriptor::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close.html
new file mode 100644
index 0000000000..3d01c2cf99
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="cancel/overload2.html" title="posix::basic_stream_descriptor::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.close"></a><a class="link" href="close.html" title="posix::basic_stream_descriptor::close">posix::basic_stream_descriptor::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158050128"></a>
+Close the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload1.html
new file mode 100644
index 0000000000..960b47ec70
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload1.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="posix::basic_stream_descriptor::close">
+<link rel="prev" href="../close.html" title="posix::basic_stream_descriptor::close">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">posix::basic_stream_descriptor::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Close the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the descriptor. Any asynchronous read
+ or write operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. Note that, even if the function indicates an
+ error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload2.html
new file mode 100644
index 0000000000..2bf0793d7c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/close/overload2.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="posix::basic_stream_descriptor::close">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="posix::basic_stream_descriptor::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">posix::basic_stream_descriptor::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Close the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the descriptor. Any asynchronous read
+ or write operations will be cancelled immediately, and will complete
+ with the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. Note that, even if
+ the function indicates an error, the underlying descriptor is closed.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation.html
new file mode 100644
index 0000000000..9ec6664f4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="close/overload2.html" title="posix::basic_stream_descriptor::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_implementation"></a><a class="link" href="get_implementation.html" title="posix::basic_stream_descriptor::get_implementation">posix::basic_stream_descriptor::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158107600"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload1.html
new file mode 100644
index 0000000000..a886033e39
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="posix::basic_stream_descriptor::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="posix::basic_stream_descriptor::get_implementation">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">posix::basic_stream_descriptor::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload2.html
new file mode 100644
index 0000000000..f5317dbff1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="posix::basic_stream_descriptor::get_implementation">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="posix::basic_stream_descriptor::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_implementation.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">posix::basic_stream_descriptor::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_io_service.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_io_service.html
new file mode 100644
index 0000000000..3e68a8372a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="get_implementation/overload2.html" title="posix::basic_stream_descriptor::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="posix::basic_stream_descriptor::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_io_service"></a><a class="link" href="get_io_service.html" title="posix::basic_stream_descriptor::get_io_service">posix::basic_stream_descriptor::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158137984"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.posix__basic_stream_descriptor.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service.html
new file mode 100644
index 0000000000..b701477655
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="get_io_service.html" title="posix::basic_stream_descriptor::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_service"></a><a class="link" href="get_service.html" title="posix::basic_stream_descriptor::get_service">posix::basic_stream_descriptor::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158156352"></a>
+Get the service associated with
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload1.html
new file mode 100644
index 0000000000..bcb89789ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="posix::basic_stream_descriptor::get_service">
+<link rel="prev" href="../get_service.html" title="posix::basic_stream_descriptor::get_service">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_service.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">posix::basic_stream_descriptor::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload2.html
new file mode 100644
index 0000000000..7287d70f5f
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="posix::basic_stream_descriptor::get_service">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="posix::basic_stream_descriptor::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.get_service.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">posix::basic_stream_descriptor::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation.html
new file mode 100644
index 0000000000..7497603cf1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="get_service/overload2.html" title="posix::basic_stream_descriptor::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="posix::basic_stream_descriptor::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.implementation"></a><a class="link" href="implementation.html" title="posix::basic_stream_descriptor::implementation">posix::basic_stream_descriptor::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158186672"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
+ The underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation_type.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation_type.html
new file mode 100644
index 0000000000..010d560755
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="implementation.html" title="posix::basic_stream_descriptor::implementation">
+<link rel="next" href="io_control.html" title="posix::basic_stream_descriptor::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.implementation_type"></a><a class="link" href="implementation_type.html" title="posix::basic_stream_descriptor::implementation_type">posix::basic_stream_descriptor::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158195344"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.posix__basic_stream_descriptor.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control.html
new file mode 100644
index 0000000000..cb6d2bec5d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="implementation_type.html" title="posix::basic_stream_descriptor::implementation_type">
+<link rel="next" href="io_control/overload1.html" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control"></a><a class="link" href="io_control.html" title="posix::basic_stream_descriptor::io_control">posix::basic_stream_descriptor::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158208992"></a>
+Perform an IO control command on
+ the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="io_control/overload1.html" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload1.html" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="io_control/overload2.html" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">io_control</a><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="io_control/overload2.html" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload1.html
new file mode 100644
index 0000000000..31bb906ab4
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload1.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::io_control (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="posix::basic_stream_descriptor::io_control">
+<link rel="prev" href="../io_control.html" title="posix::basic_stream_descriptor::io_control">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">posix::basic_stream_descriptor::io_control
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the descriptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload1.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../io_control.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload2.html
new file mode 100644
index 0000000000..b6e2e9e94f
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/io_control/overload2.html
@@ -0,0 +1,94 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::io_control (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../io_control.html" title="posix::basic_stream_descriptor::io_control">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::io_control (1 of 2 overloads)">
+<link rel="next" href="../is_open.html" title="posix::basic_stream_descriptor::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">posix::basic_stream_descriptor::io_control
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Perform an IO control command on the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to execute an IO control command on the descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">command</span></dt>
+<dd><p>
+ The IO control command to be performed on the descriptor.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.io_control.overload2.example">Example</a>
+ </h6>
+<p>
+ Getting the number of bytes ready to read:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">,</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../io_control.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../is_open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/is_open.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/is_open.html
new file mode 100644
index 0000000000..633bc879ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/is_open.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="io_control/overload2.html" title="posix::basic_stream_descriptor::io_control (2 of 2 overloads)">
+<link rel="next" href="lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.is_open"></a><a class="link" href="is_open.html" title="posix::basic_stream_descriptor::is_open">posix::basic_stream_descriptor::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158343392"></a>
+Determine whether the descriptor is
+ open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer.html
new file mode 100644
index 0000000000..ac5e52ce33
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="is_open.html" title="posix::basic_stream_descriptor::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer"></a><a class="link" href="lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer">posix::basic_stream_descriptor::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158350832"></a>
+Get a reference to the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload1.html
new file mode 100644
index 0000000000..36e464ec31
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">posix::basic_stream_descriptor::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload2.html
new file mode 100644
index 0000000000..ee196eecab
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">posix::basic_stream_descriptor::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer_type.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer_type.html
new file mode 100644
index 0000000000..aa6e7df660
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/lowest_layer_type.html
@@ -0,0 +1,510 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="lowest_layer/overload2.html" title="posix::basic_stream_descriptor::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="posix::basic_stream_descriptor::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type">posix::basic_stream_descriptor::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158396480"></a>
+A <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> is always the
+ lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_descriptor</span><span class="special">&lt;</span> <span class="identifier">StreamDescriptorService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/bytes_readable.html" title="posix::basic_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read
+ without blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/implementation_type.html" title="posix::basic_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/lowest_layer_type.html" title="posix::basic_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_descriptor is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/native_handle_type.html" title="posix::basic_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/native_type.html" title="posix::basic_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/non_blocking_io.html" title="posix::basic_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/service_type.html" title="posix::basic_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/assign.html" title="posix::basic_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/basic_descriptor.html" title="posix::basic_descriptor::basic_descriptor"><span class="bold"><strong>basic_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_descriptor without opening it.
+ </p>
+ <p>
+ Construct a basic_descriptor on an existing native descriptor.
+ </p>
+ <p>
+ Move-construct a basic_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/cancel.html" title="posix::basic_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/close.html" title="posix::basic_descriptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/get_io_service.html" title="posix::basic_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/io_control.html" title="posix::basic_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/is_open.html" title="posix::basic_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the descriptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/lowest_layer.html" title="posix::basic_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/native.html" title="posix::basic_descriptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native descriptor
+ representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/native_handle.html" title="posix::basic_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/native_non_blocking.html" title="posix::basic_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/non_blocking.html" title="posix::basic_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/operator_eq_.html" title="posix::basic_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/release.html" title="posix::basic_descriptor::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/get_implementation.html" title="posix::basic_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/get_service.html" title="posix::basic_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/_basic_descriptor.html" title="posix::basic_descriptor::~basic_descriptor"><span class="bold"><strong>~basic_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/implementation.html" title="posix::basic_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../posix__basic_descriptor/service.html" title="posix::basic_descriptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../posix__basic_descriptor.html" title="posix::basic_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_descriptor</span></code></a> class template
+ provides the ability to wrap a POSIX descriptor.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.posix__basic_stream_descriptor.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native.html
new file mode 100644
index 0000000000..42587d6c7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="posix::basic_stream_descriptor::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native"></a><a class="link" href="native.html" title="posix::basic_stream_descriptor::native">posix::basic_stream_descriptor::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158540656"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native descriptor representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ descriptor. This is intended to allow access to native descriptor functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle.html
new file mode 100644
index 0000000000..c82d3c2ee4
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="native.html" title="posix::basic_stream_descriptor::native">
+<link rel="next" href="native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle"></a><a class="link" href="native_handle.html" title="posix::basic_stream_descriptor::native_handle">posix::basic_stream_descriptor::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158550000"></a>
+Get the native descriptor representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ descriptor. This is intended to allow access to native descriptor functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle_type.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle_type.html
new file mode 100644
index 0000000000..8f1d7ec306
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="native_handle.html" title="posix::basic_stream_descriptor::native_handle">
+<link rel="next" href="native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle_type"></a><a class="link" href="native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type">posix::basic_stream_descriptor::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158556736"></a>
+The native representation
+ of a descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamDescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.posix__basic_stream_descriptor.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking.html
new file mode 100644
index 0000000000..85b171547d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking">posix::basic_stream_descriptor::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158570256"></a>
+Gets the non-blocking
+ mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">native_non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="native_non_blocking/overload2.html" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload3.html" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload3.html" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..645c514865
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload1.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">posix::basic_stream_descriptor::native_non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function is used to retrieve the non-blocking mode of the underlying
+ native descriptor. This mode has no effect on the behaviour of the descriptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the underlying descriptor
+ is in non-blocking mode and direct system calls may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code> (or the equivalent system
+ error).
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The current non-blocking mode is cached by the descriptor object. Consequently,
+ the return value may be incorrect if the non-blocking mode was set directly
+ on the native descriptor.
+ </p>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..2e5bab291c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::native_non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">posix::basic_stream_descriptor::native_non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native descriptor. It has no effect on the behaviour of the descriptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ descriptor is put into non-blocking mode and direct system calls
+ may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. If the <code class="computeroutput"><span class="identifier">mode</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, but the
+ current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload3.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload3.html
new file mode 100644
index 0000000000..257423c52e
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_non_blocking/overload3.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking">
+<link rel="prev" href="overload2.html" title="posix::basic_stream_descriptor::native_non_blocking (2 of 3 overloads)">
+<link rel="next" href="../native_type.html" title="posix::basic_stream_descriptor::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3"></a><a class="link" href="overload3.html" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">posix::basic_stream_descriptor::native_non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to modify the non-blocking mode of the underlying
+ native descriptor. It has no effect on the behaviour of the descriptor
+ object's synchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_stream_descriptor.native_non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the underlying
+ descriptor is put into non-blocking mode and direct system calls
+ may fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ (or the equivalent system error).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any. If the <code class="computeroutput"><span class="identifier">mode</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>,
+ but the current value of <code class="computeroutput"><span class="identifier">non_blocking</span><span class="special">()</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>,
+ this function fails with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">invalid_argument</span></code>,
+ as the combination does not make sense.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_type.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_type.html
new file mode 100644
index 0000000000..c34ef4e547
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="native_non_blocking/overload3.html" title="posix::basic_stream_descriptor::native_non_blocking (3 of 3 overloads)">
+<link rel="next" href="non_blocking.html" title="posix::basic_stream_descriptor::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_type"></a><a class="link" href="native_type.html" title="posix::basic_stream_descriptor::native_type">posix::basic_stream_descriptor::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158692448"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamDescriptorService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.posix__basic_stream_descriptor.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking.html
new file mode 100644
index 0000000000..57de899912
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="native_type.html" title="posix::basic_stream_descriptor::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking"></a><a class="link" href="non_blocking.html" title="posix::basic_stream_descriptor::non_blocking">posix::basic_stream_descriptor::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158706064"></a>
+Gets the non-blocking mode of
+ the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">non_blocking</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="non_blocking/overload2.html" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload3.html" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload3.html" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload1.html
new file mode 100644
index 0000000000..08249094ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload1.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::basic_stream_descriptor::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="posix::basic_stream_descriptor::non_blocking">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">posix::basic_stream_descriptor::non_blocking
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="keyword">true</span></code> if the descriptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately. If
+ <code class="computeroutput"><span class="keyword">false</span></code>, synchronous operations
+ will block until complete.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload2.html
new file mode 100644
index 0000000000..852a2a99f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload2.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::basic_stream_descriptor::non_blocking">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::non_blocking (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">posix::basic_stream_descriptor::non_blocking
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload3.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload3.html
new file mode 100644
index 0000000000..a64d760d48
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking/overload3.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::basic_stream_descriptor::non_blocking">
+<link rel="prev" href="overload2.html" title="posix::basic_stream_descriptor::non_blocking (2 of 3 overloads)">
+<link rel="next" href="../non_blocking_io.html" title="posix::basic_stream_descriptor::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3"></a><a class="link" href="overload3.html" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">posix::basic_stream_descriptor::non_blocking
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">mode</span></dt>
+<dd><p>
+ If <code class="computeroutput"><span class="keyword">true</span></code>, the descriptor's
+ synchronous operations will fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>
+ if they are unable to perform the requested operation immediately.
+ If <code class="computeroutput"><span class="keyword">false</span></code>, synchronous
+ operations will block until complete.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ The non-blocking mode has no effect on the behaviour of asynchronous
+ operations. Asynchronous operations will never fail with the error <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">would_block</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../non_blocking_io.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking_io.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking_io.html
new file mode 100644
index 0000000000..5af2ff3491
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/non_blocking_io.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="non_blocking/overload3.html" title="posix::basic_stream_descriptor::non_blocking (3 of 3 overloads)">
+<link rel="next" href="operator_eq_.html" title="posix::basic_stream_descriptor::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="posix::basic_stream_descriptor::non_blocking_io">posix::basic_stream_descriptor::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::descriptor_base.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp158830928"></a>
+(Deprecated: Use non_blocking().)
+ IO control command to set the blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.posix__basic_stream_descriptor.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/operator_eq_.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/operator_eq_.html
new file mode 100644
index 0000000000..18ff284fd4
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/operator_eq_.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="non_blocking_io.html" title="posix::basic_stream_descriptor::non_blocking_io">
+<link rel="next" href="read_some.html" title="posix::basic_stream_descriptor::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_"></a><a class="link" href="operator_eq_.html" title="posix::basic_stream_descriptor::operator=">posix::basic_stream_descriptor::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158864000"></a>
+Move-assign a <a class="link" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_stream_descriptor</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a stream descriptor from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.posix__basic_stream_descriptor.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_stream_descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some.html
new file mode 100644
index 0000000000..02cd79d332
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="operator_eq_.html" title="posix::basic_stream_descriptor::operator=">
+<link rel="next" href="read_some/overload1.html" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some"></a><a class="link" href="read_some.html" title="posix::basic_stream_descriptor::read_some">posix::basic_stream_descriptor::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp158891920"></a>
+Read some data from the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload1.html
new file mode 100644
index 0000000000..49ddf186c9
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="posix::basic_stream_descriptor::read_some">
+<link rel="prev" href="../read_some.html" title="posix::basic_stream_descriptor::read_some">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">posix::basic_stream_descriptor::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream descriptor. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload2.html
new file mode 100644
index 0000000000..96fd894cbb
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/read_some/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="posix::basic_stream_descriptor::read_some">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">
+<link rel="next" href="../release.html" title="posix::basic_stream_descriptor::release">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../release.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">posix::basic_stream_descriptor::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream descriptor. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../release.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/release.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/release.html
new file mode 100644
index 0000000000..8f29a5ac1e
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/release.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::release</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="read_some/overload2.html" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">
+<link rel="next" href="service.html" title="posix::basic_stream_descriptor::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.release"></a><a class="link" href="release.html" title="posix::basic_stream_descriptor::release">posix::basic_stream_descriptor::release</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from posix::basic_descriptor.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp159011312"></a>
+Release ownership of the native descriptor
+ implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">release</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ descriptor. After calling this function, <code class="computeroutput"><span class="identifier">is_open</span><span class="special">()</span></code> returns false. The caller is responsible
+ for closing the descriptor.
+ </p>
+<p>
+ All outstanding asynchronous read or write operations will finish immediately,
+ and the handlers for cancelled operations will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service.html
new file mode 100644
index 0000000000..1dc7d0ad8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="release.html" title="posix::basic_stream_descriptor::release">
+<link rel="next" href="service_type.html" title="posix::basic_stream_descriptor::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.service"></a><a class="link" href="service.html" title="posix::basic_stream_descriptor::service">posix::basic_stream_descriptor::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp159025680"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.posix__basic_stream_descriptor.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service_type.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service_type.html
new file mode 100644
index 0000000000..14852878fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="service.html" title="posix::basic_stream_descriptor::service">
+<link rel="next" href="write_some.html" title="posix::basic_stream_descriptor::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.service_type"></a><a class="link" href="service_type.html" title="posix::basic_stream_descriptor::service_type">posix::basic_stream_descriptor::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp159038320"></a>
+The type of the service that
+ will be used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamDescriptorService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.posix__basic_stream_descriptor.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/basic_stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some.html
new file mode 100644
index 0000000000..ca9287b90e
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor">
+<link rel="prev" href="service_type.html" title="posix::basic_stream_descriptor::service_type">
+<link rel="next" href="write_some/overload1.html" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some"></a><a class="link" href="write_some.html" title="posix::basic_stream_descriptor::write_some">posix::basic_stream_descriptor::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159050912"></a>
+Write some data to the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__basic_stream_descriptor.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload1.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload1.html
new file mode 100644
index 0000000000..205731cd4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="posix::basic_stream_descriptor::write_some">
+<link rel="prev" href="../write_some.html" title="posix::basic_stream_descriptor::write_some">
+<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">posix::basic_stream_descriptor::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the stream descriptor. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the descriptor.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload2.html b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload2.html
new file mode 100644
index 0000000000..94ad83a86a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__basic_stream_descriptor/write_some/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::basic_stream_descriptor::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="posix::basic_stream_descriptor::write_some">
+<link rel="prev" href="overload1.html" title="posix::basic_stream_descriptor::write_some (1 of 2 overloads)">
+<link rel="next" href="../../posix__descriptor_base.html" title="posix::descriptor_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../posix__descriptor_base.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2"></a><a class="link" href="overload2.html" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">posix::basic_stream_descriptor::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the stream descriptor. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the descriptor.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.posix__basic_stream_descriptor.write_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../posix__descriptor_base.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__descriptor_base.html b/doc/html/boost_asio/reference/posix__descriptor_base.html
new file mode 100644
index 0000000000..9160f9b9a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__descriptor_base.html
@@ -0,0 +1,145 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::descriptor_base</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="posix__basic_stream_descriptor/write_some/overload2.html" title="posix::basic_stream_descriptor::write_some (2 of 2 overloads)">
+<link rel="next" href="posix__descriptor_base/bytes_readable.html" title="posix::descriptor_base::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix__basic_stream_descriptor/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__descriptor_base/bytes_readable.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.posix__descriptor_base"></a><a class="link" href="posix__descriptor_base.html" title="posix::descriptor_base">posix::descriptor_base</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="posix__descriptor_base.html" title="posix::descriptor_base"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">descriptor_base</span></code></a> class is used as
+ a base for the <a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> class template
+ so that we have a common place to define the associated IO control commands.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">descriptor_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.posix__descriptor_base.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.types"></a></span><a class="link" href="posix__descriptor_base.html#boost_asio.reference.posix__descriptor_base.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__descriptor_base/bytes_readable.html" title="posix::descriptor_base::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__descriptor_base/non_blocking_io.html" title="posix::descriptor_base::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__descriptor_base.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.protected_member_functions"></a></span><a class="link" href="posix__descriptor_base.html#boost_asio.reference.posix__descriptor_base.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="posix__descriptor_base/_descriptor_base.html" title="posix::descriptor_base::~descriptor_base"><span class="bold"><strong>~descriptor_base</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__descriptor_base.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.requirements"></a></span><a class="link" href="posix__descriptor_base.html#boost_asio.reference.posix__descriptor_base.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/descriptor_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="posix__basic_stream_descriptor/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__descriptor_base/bytes_readable.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__descriptor_base/_descriptor_base.html b/doc/html/boost_asio/reference/posix__descriptor_base/_descriptor_base.html
new file mode 100644
index 0000000000..837091c84d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__descriptor_base/_descriptor_base.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::descriptor_base::~descriptor_base</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__descriptor_base.html" title="posix::descriptor_base">
+<link rel="prev" href="non_blocking_io.html" title="posix::descriptor_base::non_blocking_io">
+<link rel="next" href="../posix__stream_descriptor.html" title="posix::stream_descriptor">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../posix__stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__descriptor_base._descriptor_base"></a><a class="link" href="_descriptor_base.html" title="posix::descriptor_base::~descriptor_base">posix::descriptor_base::~descriptor_base</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159281360"></a>
+Protected destructor to prevent deletion
+ through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">descriptor_base</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../posix__stream_descriptor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__descriptor_base/bytes_readable.html b/doc/html/boost_asio/reference/posix__descriptor_base/bytes_readable.html
new file mode 100644
index 0000000000..b06e7d778a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__descriptor_base/bytes_readable.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::descriptor_base::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__descriptor_base.html" title="posix::descriptor_base">
+<link rel="prev" href="../posix__descriptor_base.html" title="posix::descriptor_base">
+<link rel="next" href="non_blocking_io.html" title="posix::descriptor_base::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking_io.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__descriptor_base.bytes_readable"></a><a class="link" href="bytes_readable.html" title="posix::descriptor_base::bytes_readable">posix::descriptor_base::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159209888"></a>
+IO control command to get the amount
+ of data that can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__descriptor_base.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.posix__descriptor_base.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__descriptor_base.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.posix__descriptor_base.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/descriptor_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking_io.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__descriptor_base/non_blocking_io.html b/doc/html/boost_asio/reference/posix__descriptor_base/non_blocking_io.html
new file mode 100644
index 0000000000..dcf480ba00
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__descriptor_base/non_blocking_io.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::descriptor_base::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__descriptor_base.html" title="posix::descriptor_base">
+<link rel="prev" href="bytes_readable.html" title="posix::descriptor_base::bytes_readable">
+<link rel="next" href="_descriptor_base.html" title="posix::descriptor_base::~descriptor_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_descriptor_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__descriptor_base.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="posix::descriptor_base::non_blocking_io">posix::descriptor_base::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159248160"></a>
+(Deprecated: Use non_blocking().)
+ IO control command to set the blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.posix__descriptor_base.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">posix</span><span class="special">::</span><span class="identifier">stream_descriptor</span> <span class="identifier">descriptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">descriptor_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__descriptor_base.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.posix__descriptor_base.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/descriptor_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__descriptor_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_descriptor_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor.html b/doc/html/boost_asio/reference/posix__stream_descriptor.html
new file mode 100644
index 0000000000..c8ca2e44a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor.html
@@ -0,0 +1,542 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="posix__descriptor_base/_descriptor_base.html" title="posix::descriptor_base::~descriptor_base">
+<link rel="next" href="posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix__descriptor_base/_descriptor_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__stream_descriptor_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor"></a><a class="link" href="posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp159287376"></a>
+Typedef for the typical usage of a stream-oriented
+ descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_descriptor</span> <span class="identifier">stream_descriptor</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.types"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/implementation_type.html" title="posix::basic_stream_descriptor::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_descriptor is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_type.html" title="posix::basic_stream_descriptor::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/non_blocking_io.html" title="posix::basic_stream_descriptor::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/service_type.html" title="posix::basic_stream_descriptor::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.member_functions"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/assign.html" title="posix::basic_stream_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native descriptor to the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/async_read_some.html" title="posix::basic_stream_descriptor::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/async_write_some.html" title="posix::basic_stream_descriptor::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor"><span class="bold"><strong>basic_stream_descriptor</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_descriptor without opening it.
+ </p>
+ <p>
+ Construct a basic_stream_descriptor on an existing native descriptor.
+ </p>
+ <p>
+ Move-construct a basic_stream_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/cancel.html" title="posix::basic_stream_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/close.html" title="posix::basic_stream_descriptor::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/get_io_service.html" title="posix::basic_stream_descriptor::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/io_control.html" title="posix::basic_stream_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/is_open.html" title="posix::basic_stream_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the descriptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native.html" title="posix::basic_stream_descriptor::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_handle.html" title="posix::basic_stream_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native descriptor representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/non_blocking.html" title="posix::basic_stream_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/operator_eq_.html" title="posix::basic_stream_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_descriptor from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/read_some.html" title="posix::basic_stream_descriptor::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/release.html" title="posix::basic_stream_descriptor::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/write_some.html" title="posix::basic_stream_descriptor::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the descriptor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.protected_member_functions"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/get_implementation.html" title="posix::basic_stream_descriptor::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/get_service.html" title="posix::basic_stream_descriptor::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.protected_data_members"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/implementation.html" title="posix::basic_stream_descriptor::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__basic_stream_descriptor/service.html" title="posix::basic_stream_descriptor::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput"><span class="identifier">posix</span><span class="special">::</span><span class="identifier">basic_stream_descriptor</span></code></a> class template
+ provides asynchronous and blocking stream-oriented descriptor functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.thread_safety"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.requirements"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="posix__descriptor_base/_descriptor_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__stream_descriptor_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service.html
new file mode 100644
index 0000000000..7c61ec0c98
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service.html
@@ -0,0 +1,425 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="posix__stream_descriptor.html" title="posix::stream_descriptor">
+<link rel="next" href="posix__stream_descriptor_service/assign.html" title="posix::stream_descriptor_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix__stream_descriptor.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__stream_descriptor_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service"></a><a class="link" href="posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">posix::stream_descriptor_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a stream descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_descriptor_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.types"></a></span><a class="link" href="posix__stream_descriptor_service.html#boost_asio.reference.posix__stream_descriptor_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/implementation_type.html" title="posix::stream_descriptor_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a stream descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/native_handle_type.html" title="posix::stream_descriptor_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native descriptor type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/native_type.html" title="posix::stream_descriptor_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native descriptor type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.member_functions"></a></span><a class="link" href="posix__stream_descriptor_service.html#boost_asio.reference.posix__stream_descriptor_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/assign.html" title="posix::stream_descriptor_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native descriptor to a stream descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/async_read_some.html" title="posix::stream_descriptor_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/async_write_some.html" title="posix::stream_descriptor_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/cancel.html" title="posix::stream_descriptor_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/close.html" title="posix::stream_descriptor_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a stream descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/construct.html" title="posix::stream_descriptor_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new stream descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/destroy.html" title="posix::stream_descriptor_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a stream descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/get_io_service.html" title="posix::stream_descriptor_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/io_control.html" title="posix::stream_descriptor_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/is_open.html" title="posix::stream_descriptor_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the descriptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/move_assign.html" title="posix::stream_descriptor_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another stream descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/move_construct.html" title="posix::stream_descriptor_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new stream descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/native.html" title="posix::stream_descriptor_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/native_handle.html" title="posix::stream_descriptor_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/native_non_blocking.html" title="posix::stream_descriptor_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/non_blocking.html" title="posix::stream_descriptor_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/read_some.html" title="posix::stream_descriptor_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/release.html" title="posix::stream_descriptor_service::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the native descriptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/stream_descriptor_service.html" title="posix::stream_descriptor_service::stream_descriptor_service"><span class="bold"><strong>stream_descriptor_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new stream descriptor service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/write_some.html" title="posix::stream_descriptor_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data to the stream.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.data_members"></a></span><a class="link" href="posix__stream_descriptor_service.html#boost_asio.reference.posix__stream_descriptor_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="posix__stream_descriptor_service/id.html" title="posix::stream_descriptor_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.posix__stream_descriptor_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.requirements"></a></span><a class="link" href="posix__stream_descriptor_service.html#boost_asio.reference.posix__stream_descriptor_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="posix__stream_descriptor.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="posix__stream_descriptor_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/assign.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/assign.html
new file mode 100644
index 0000000000..ca618ad815
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="next" href="async_read_some.html" title="posix::stream_descriptor_service::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.assign"></a><a class="link" href="assign.html" title="posix::stream_descriptor_service::assign">posix::stream_descriptor_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159553120"></a>
+Assign an existing native descriptor
+ to a stream descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_descriptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_read_some.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_read_some.html
new file mode 100644
index 0000000000..741e06e10d
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_read_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="assign.html" title="posix::stream_descriptor_service::assign">
+<link rel="next" href="async_write_some.html" title="posix::stream_descriptor_service::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.async_read_some"></a><a class="link" href="async_read_some.html" title="posix::stream_descriptor_service::async_read_some">posix::stream_descriptor_service::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159571984"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_write_some.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_write_some.html
new file mode 100644
index 0000000000..47089ae764
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/async_write_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="async_read_some.html" title="posix::stream_descriptor_service::async_read_some">
+<link rel="next" href="cancel.html" title="posix::stream_descriptor_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.async_write_some"></a><a class="link" href="async_write_some.html" title="posix::stream_descriptor_service::async_write_some">posix::stream_descriptor_service::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159591568"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/cancel.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/cancel.html
new file mode 100644
index 0000000000..99421b17a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="async_write_some.html" title="posix::stream_descriptor_service::async_write_some">
+<link rel="next" href="close.html" title="posix::stream_descriptor_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.cancel"></a><a class="link" href="cancel.html" title="posix::stream_descriptor_service::cancel">posix::stream_descriptor_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159611152"></a>
+Cancel all asynchronous operations
+ associated with the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/close.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/close.html
new file mode 100644
index 0000000000..fae902ad79
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="cancel.html" title="posix::stream_descriptor_service::cancel">
+<link rel="next" href="construct.html" title="posix::stream_descriptor_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.close"></a><a class="link" href="close.html" title="posix::stream_descriptor_service::close">posix::stream_descriptor_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159626720"></a>
+Close a stream descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/construct.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/construct.html
new file mode 100644
index 0000000000..dd2e2878ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/construct.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="close.html" title="posix::stream_descriptor_service::close">
+<link rel="next" href="destroy.html" title="posix::stream_descriptor_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.construct"></a><a class="link" href="construct.html" title="posix::stream_descriptor_service::construct">posix::stream_descriptor_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159642272"></a>
+Construct a new stream descriptor
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/destroy.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/destroy.html
new file mode 100644
index 0000000000..354ecaa1c1
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="construct.html" title="posix::stream_descriptor_service::construct">
+<link rel="next" href="get_io_service.html" title="posix::stream_descriptor_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.destroy"></a><a class="link" href="destroy.html" title="posix::stream_descriptor_service::destroy">posix::stream_descriptor_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159650992"></a>
+Destroy a stream descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/get_io_service.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/get_io_service.html
new file mode 100644
index 0000000000..85adeeb4d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="destroy.html" title="posix::stream_descriptor_service::destroy">
+<link rel="next" href="id.html" title="posix::stream_descriptor_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.get_io_service"></a><a class="link" href="get_io_service.html" title="posix::stream_descriptor_service::get_io_service">posix::stream_descriptor_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp159660448"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/id.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/id.html
new file mode 100644
index 0000000000..1406395d87
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="get_io_service.html" title="posix::stream_descriptor_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="posix::stream_descriptor_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.id"></a><a class="link" href="id.html" title="posix::stream_descriptor_service::id">posix::stream_descriptor_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159671184"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/implementation_type.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/implementation_type.html
new file mode 100644
index 0000000000..17979054fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="id.html" title="posix::stream_descriptor_service::id">
+<link rel="next" href="io_control.html" title="posix::stream_descriptor_service::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.implementation_type"></a><a class="link" href="implementation_type.html" title="posix::stream_descriptor_service::implementation_type">posix::stream_descriptor_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159681216"></a>
+The type of a stream
+ descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__stream_descriptor_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.posix__stream_descriptor_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/io_control.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/io_control.html
new file mode 100644
index 0000000000..1a1caa61bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/io_control.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="implementation_type.html" title="posix::stream_descriptor_service::implementation_type">
+<link rel="next" href="is_open.html" title="posix::stream_descriptor_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.io_control"></a><a class="link" href="io_control.html" title="posix::stream_descriptor_service::io_control">posix::stream_descriptor_service::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159693648"></a>
+Perform an IO control command
+ on the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/is_open.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/is_open.html
new file mode 100644
index 0000000000..3f4cbead78
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/is_open.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="io_control.html" title="posix::stream_descriptor_service::io_control">
+<link rel="next" href="move_assign.html" title="posix::stream_descriptor_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.is_open"></a><a class="link" href="is_open.html" title="posix::stream_descriptor_service::is_open">posix::stream_descriptor_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159715136"></a>
+Determine whether the descriptor
+ is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_assign.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_assign.html
new file mode 100644
index 0000000000..63616eb33a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="is_open.html" title="posix::stream_descriptor_service::is_open">
+<link rel="next" href="move_construct.html" title="posix::stream_descriptor_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.move_assign"></a><a class="link" href="move_assign.html" title="posix::stream_descriptor_service::move_assign">posix::stream_descriptor_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159725760"></a>
+Move-assign from another stream
+ descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">stream_descriptor_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_construct.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_construct.html
new file mode 100644
index 0000000000..8e0b6b1594
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="move_assign.html" title="posix::stream_descriptor_service::move_assign">
+<link rel="next" href="native.html" title="posix::stream_descriptor_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.move_construct"></a><a class="link" href="move_construct.html" title="posix::stream_descriptor_service::move_construct">posix::stream_descriptor_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159739632"></a>
+Move-construct a new stream
+ descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native.html
new file mode 100644
index 0000000000..a9ad5cd9be
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="move_construct.html" title="posix::stream_descriptor_service::move_construct">
+<link rel="next" href="native_handle.html" title="posix::stream_descriptor_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native"></a><a class="link" href="native.html" title="posix::stream_descriptor_service::native">posix::stream_descriptor_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159750896"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle.html
new file mode 100644
index 0000000000..78476c7c2a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="native.html" title="posix::stream_descriptor_service::native">
+<link rel="next" href="native_handle_type.html" title="posix::stream_descriptor_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_handle"></a><a class="link" href="native_handle.html" title="posix::stream_descriptor_service::native_handle">posix::stream_descriptor_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159761328"></a>
+Get the native descriptor
+ implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle_type.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle_type.html
new file mode 100644
index 0000000000..3ab76e7976
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="native_handle.html" title="posix::stream_descriptor_service::native_handle">
+<link rel="next" href="native_non_blocking.html" title="posix::stream_descriptor_service::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="posix::stream_descriptor_service::native_handle_type">posix::stream_descriptor_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159769968"></a>
+The native descriptor
+ type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.posix__stream_descriptor_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking.html
new file mode 100644
index 0000000000..3a068ea86b
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="native_handle_type.html" title="posix::stream_descriptor_service::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="posix::stream_descriptor_service::native_non_blocking">posix::stream_descriptor_service::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159782448"></a>
+Gets the non-blocking
+ mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload2.html" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..055dc631c9
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::stream_descriptor_service::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="posix::stream_descriptor_service::native_non_blocking">
+<link rel="next" href="overload2.html" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">posix::stream_descriptor_service::native_non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..a404e6543a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="posix::stream_descriptor_service::native_non_blocking">
+<link rel="prev" href="overload1.html" title="posix::stream_descriptor_service::native_non_blocking (1 of 2 overloads)">
+<link rel="next" href="../native_type.html" title="posix::stream_descriptor_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">posix::stream_descriptor_service::native_non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_type.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_type.html
new file mode 100644
index 0000000000..ba3efd02a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="native_non_blocking/overload2.html" title="posix::stream_descriptor_service::native_non_blocking (2 of 2 overloads)">
+<link rel="next" href="non_blocking.html" title="posix::stream_descriptor_service::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_type"></a><a class="link" href="native_type.html" title="posix::stream_descriptor_service::native_type">posix::stream_descriptor_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159836960"></a>
+(Deprecated: Use native_handle_type.)
+ The native descriptor type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.posix__stream_descriptor_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.posix__stream_descriptor_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking.html
new file mode 100644
index 0000000000..781394b6ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="native_type.html" title="posix::stream_descriptor_service::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.non_blocking"></a><a class="link" href="non_blocking.html" title="posix::stream_descriptor_service::non_blocking">posix::stream_descriptor_service::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159849440"></a>
+Gets the non-blocking mode
+ of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload2.html" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload1.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload1.html
new file mode 100644
index 0000000000..0fa1b778db
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::stream_descriptor_service::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="posix::stream_descriptor_service::non_blocking">
+<link rel="next" href="overload2.html" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload1"></a><a class="link" href="overload1.html" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">posix::stream_descriptor_service::non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload2.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload2.html
new file mode 100644
index 0000000000..7a19362f5c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="posix::stream_descriptor_service::non_blocking">
+<link rel="prev" href="overload1.html" title="posix::stream_descriptor_service::non_blocking (1 of 2 overloads)">
+<link rel="next" href="../read_some.html" title="posix::stream_descriptor_service::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.non_blocking.overload2"></a><a class="link" href="overload2.html" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">posix::stream_descriptor_service::non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the descriptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/read_some.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/read_some.html
new file mode 100644
index 0000000000..1729c6de1a
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/read_some.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="non_blocking/overload2.html" title="posix::stream_descriptor_service::non_blocking (2 of 2 overloads)">
+<link rel="next" href="release.html" title="posix::stream_descriptor_service::release">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="release.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.read_some"></a><a class="link" href="read_some.html" title="posix::stream_descriptor_service::read_some">posix::stream_descriptor_service::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159903696"></a>
+Read some data from the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="release.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/release.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/release.html
new file mode 100644
index 0000000000..a7704dad65
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/release.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::release</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="read_some.html" title="posix::stream_descriptor_service::read_some">
+<link rel="next" href="stream_descriptor_service.html" title="posix::stream_descriptor_service::stream_descriptor_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_descriptor_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.release"></a><a class="link" href="release.html" title="posix::stream_descriptor_service::release">posix::stream_descriptor_service::release</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159924768"></a>
+Release ownership of the native
+ descriptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">release</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_descriptor_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/stream_descriptor_service.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/stream_descriptor_service.html
new file mode 100644
index 0000000000..d16ecef14c
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/stream_descriptor_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::stream_descriptor_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="release.html" title="posix::stream_descriptor_service::release">
+<link rel="next" href="write_some.html" title="posix::stream_descriptor_service::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.stream_descriptor_service"></a><a class="link" href="stream_descriptor_service.html" title="posix::stream_descriptor_service::stream_descriptor_service">posix::stream_descriptor_service::stream_descriptor_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159933520"></a>
+Construct a new
+ stream descriptor service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">stream_descriptor_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/posix__stream_descriptor_service/write_some.html b/doc/html/boost_asio/reference/posix__stream_descriptor_service/write_some.html
new file mode 100644
index 0000000000..a976e4ccfe
--- /dev/null
+++ b/doc/html/boost_asio/reference/posix__stream_descriptor_service/write_some.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>posix::stream_descriptor_service::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../posix__stream_descriptor_service.html" title="posix::stream_descriptor_service">
+<link rel="prev" href="stream_descriptor_service.html" title="posix::stream_descriptor_service::stream_descriptor_service">
+<link rel="next" href="../raw_socket_service.html" title="raw_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream_descriptor_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.posix__stream_descriptor_service.write_some"></a><a class="link" href="write_some.html" title="posix::stream_descriptor_service::write_some">posix::stream_descriptor_service::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp159945600"></a>
+Write the given data to the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="stream_descriptor_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../posix__stream_descriptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service.html b/doc/html/boost_asio/reference/raw_socket_service.html
new file mode 100644
index 0000000000..a585459e8a
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service.html
@@ -0,0 +1,626 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="posix__stream_descriptor_service/write_some.html" title="posix::stream_descriptor_service::write_some">
+<link rel="next" href="raw_socket_service/assign.html" title="raw_socket_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="posix__stream_descriptor_service/write_some.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.raw_socket_service"></a><a class="link" href="raw_socket_service.html" title="raw_socket_service">raw_socket_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a raw socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">raw_socket_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.raw_socket_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.types"></a></span><a class="link" href="raw_socket_service.html#boost_asio.reference.raw_socket_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/endpoint_type.html" title="raw_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/implementation_type.html" title="raw_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a raw socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/native_handle_type.html" title="raw_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/native_type.html" title="raw_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/protocol_type.html" title="raw_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.raw_socket_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.member_functions"></a></span><a class="link" href="raw_socket_service.html#boost_asio.reference.raw_socket_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/assign.html" title="raw_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to a raw socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/async_connect.html" title="raw_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/async_receive.html" title="raw_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/async_receive_from.html" title="raw_socket_service::async_receive_from"><span class="bold"><strong>async_receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive that will get the endpoint of the
+ sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/async_send.html" title="raw_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/async_send_to.html" title="raw_socket_service::async_send_to"><span class="bold"><strong>async_send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/at_mark.html" title="raw_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/available.html" title="raw_socket_service::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/bind.html" title="raw_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/cancel.html" title="raw_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/close.html" title="raw_socket_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a raw socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/connect.html" title="raw_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the raw socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/construct.html" title="raw_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new raw socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/converting_move_construct.html" title="raw_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new raw socket implementation from another protocol
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/destroy.html" title="raw_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a raw socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/get_io_service.html" title="raw_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/get_option.html" title="raw_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/io_control.html" title="raw_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/is_open.html" title="raw_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/local_endpoint.html" title="raw_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/move_assign.html" title="raw_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another raw socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/move_construct.html" title="raw_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new raw socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/native.html" title="raw_socket_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/native_handle.html" title="raw_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/native_non_blocking.html" title="raw_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/non_blocking.html" title="raw_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/open.html" title="raw_socket_service::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/raw_socket_service.html" title="raw_socket_service::raw_socket_service"><span class="bold"><strong>raw_socket_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new raw socket service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/receive.html" title="raw_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data from the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/receive_from.html" title="raw_socket_service::receive_from"><span class="bold"><strong>receive_from</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive raw data with the endpoint of the sender.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/remote_endpoint.html" title="raw_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/send.html" title="raw_socket_service::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send the given data to the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/send_to.html" title="raw_socket_service::send_to"><span class="bold"><strong>send_to</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send raw data to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/set_option.html" title="raw_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/shutdown.html" title="raw_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.raw_socket_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.data_members"></a></span><a class="link" href="raw_socket_service.html#boost_asio.reference.raw_socket_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="raw_socket_service/id.html" title="raw_socket_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.raw_socket_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.requirements"></a></span><a class="link" href="raw_socket_service.html#boost_asio.reference.raw_socket_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="posix__stream_descriptor_service/write_some.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/assign.html b/doc/html/boost_asio/reference/raw_socket_service/assign.html
new file mode 100644
index 0000000000..0198f0db4e
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="next" href="async_connect.html" title="raw_socket_service::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.assign"></a><a class="link" href="assign.html" title="raw_socket_service::assign">raw_socket_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160144832"></a>
+Assign an existing native socket to a raw socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../raw_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/async_connect.html b/doc/html/boost_asio/reference/raw_socket_service/async_connect.html
new file mode 100644
index 0000000000..41ec19b951
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/async_connect.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="assign.html" title="raw_socket_service::assign">
+<link rel="next" href="async_receive.html" title="raw_socket_service::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.async_connect"></a><a class="link" href="async_connect.html" title="raw_socket_service::async_connect">raw_socket_service::async_connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160166960"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/async_receive.html b/doc/html/boost_asio/reference/raw_socket_service/async_receive.html
new file mode 100644
index 0000000000..988e5ba9f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/async_receive.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="async_connect.html" title="raw_socket_service::async_connect">
+<link rel="next" href="async_receive_from.html" title="raw_socket_service::async_receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.async_receive"></a><a class="link" href="async_receive.html" title="raw_socket_service::async_receive">raw_socket_service::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160184448"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/async_receive_from.html b/doc/html/boost_asio/reference/raw_socket_service/async_receive_from.html
new file mode 100644
index 0000000000..1084c7a7f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/async_receive_from.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::async_receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="async_receive.html" title="raw_socket_service::async_receive">
+<link rel="next" href="async_send.html" title="raw_socket_service::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.async_receive_from"></a><a class="link" href="async_receive_from.html" title="raw_socket_service::async_receive_from">raw_socket_service::async_receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160206928"></a>
+Start an asynchronous receive that
+ will get the endpoint of the sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/async_send.html b/doc/html/boost_asio/reference/raw_socket_service/async_send.html
new file mode 100644
index 0000000000..1d7c5340cf
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/async_send.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="async_receive_from.html" title="raw_socket_service::async_receive_from">
+<link rel="next" href="async_send_to.html" title="raw_socket_service::async_send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.async_send"></a><a class="link" href="async_send.html" title="raw_socket_service::async_send">raw_socket_service::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160232288"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/async_send_to.html b/doc/html/boost_asio/reference/raw_socket_service/async_send_to.html
new file mode 100644
index 0000000000..1c19b64b97
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/async_send_to.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::async_send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="async_send.html" title="raw_socket_service::async_send">
+<link rel="next" href="at_mark.html" title="raw_socket_service::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.async_send_to"></a><a class="link" href="async_send_to.html" title="raw_socket_service::async_send_to">raw_socket_service::async_send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160254832"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send_to</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/at_mark.html b/doc/html/boost_asio/reference/raw_socket_service/at_mark.html
new file mode 100644
index 0000000000..0aca0fad3f
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/at_mark.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="async_send_to.html" title="raw_socket_service::async_send_to">
+<link rel="next" href="available.html" title="raw_socket_service::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.at_mark"></a><a class="link" href="at_mark.html" title="raw_socket_service::at_mark">raw_socket_service::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160280592"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="async_send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/available.html b/doc/html/boost_asio/reference/raw_socket_service/available.html
new file mode 100644
index 0000000000..527a288bb7
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/available.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="at_mark.html" title="raw_socket_service::at_mark">
+<link rel="next" href="bind.html" title="raw_socket_service::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.available"></a><a class="link" href="available.html" title="raw_socket_service::available">raw_socket_service::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160295808"></a>
+Determine the number of bytes available for
+ reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/bind.html b/doc/html/boost_asio/reference/raw_socket_service/bind.html
new file mode 100644
index 0000000000..7bd1273e79
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/bind.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="available.html" title="raw_socket_service::available">
+<link rel="next" href="cancel.html" title="raw_socket_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.bind"></a><a class="link" href="bind.html" title="raw_socket_service::bind">raw_socket_service::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160312144"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/cancel.html b/doc/html/boost_asio/reference/raw_socket_service/cancel.html
new file mode 100644
index 0000000000..57a7f866b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="bind.html" title="raw_socket_service::bind">
+<link rel="next" href="close.html" title="raw_socket_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.cancel"></a><a class="link" href="cancel.html" title="raw_socket_service::cancel">raw_socket_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160330816"></a>
+Cancel all asynchronous operations associated with
+ the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/close.html b/doc/html/boost_asio/reference/raw_socket_service/close.html
new file mode 100644
index 0000000000..e4b9cf4975
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="cancel.html" title="raw_socket_service::cancel">
+<link rel="next" href="connect.html" title="raw_socket_service::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.close"></a><a class="link" href="close.html" title="raw_socket_service::close">raw_socket_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160346208"></a>
+Close a raw socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/connect.html b/doc/html/boost_asio/reference/raw_socket_service/connect.html
new file mode 100644
index 0000000000..86ffa9e156
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/connect.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="close.html" title="raw_socket_service::close">
+<link rel="next" href="construct.html" title="raw_socket_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.connect"></a><a class="link" href="connect.html" title="raw_socket_service::connect">raw_socket_service::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160361760"></a>
+Connect the raw socket to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/construct.html b/doc/html/boost_asio/reference/raw_socket_service/construct.html
new file mode 100644
index 0000000000..944c179a2f
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="connect.html" title="raw_socket_service::connect">
+<link rel="next" href="converting_move_construct.html" title="raw_socket_service::converting_move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.construct"></a><a class="link" href="construct.html" title="raw_socket_service::construct">raw_socket_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160380512"></a>
+Construct a new raw socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/converting_move_construct.html b/doc/html/boost_asio/reference/raw_socket_service/converting_move_construct.html
new file mode 100644
index 0000000000..613fd09506
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/converting_move_construct.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::converting_move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="construct.html" title="raw_socket_service::construct">
+<link rel="next" href="destroy.html" title="raw_socket_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.converting_move_construct"></a><a class="link" href="converting_move_construct.html" title="raw_socket_service::converting_move_construct">raw_socket_service::converting_move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160389152"></a>
+Move-construct a new raw socket
+ implementation from another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">raw_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">raw_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/destroy.html b/doc/html/boost_asio/reference/raw_socket_service/destroy.html
new file mode 100644
index 0000000000..9359815509
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="converting_move_construct.html" title="raw_socket_service::converting_move_construct">
+<link rel="next" href="endpoint_type.html" title="raw_socket_service::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.destroy"></a><a class="link" href="destroy.html" title="raw_socket_service::destroy">raw_socket_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160421616"></a>
+Destroy a raw socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/endpoint_type.html b/doc/html/boost_asio/reference/raw_socket_service/endpoint_type.html
new file mode 100644
index 0000000000..3b25070d2c
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="destroy.html" title="raw_socket_service::destroy">
+<link rel="next" href="get_io_service.html" title="raw_socket_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.endpoint_type"></a><a class="link" href="endpoint_type.html" title="raw_socket_service::endpoint_type">raw_socket_service::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160430160"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.raw_socket_service.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.raw_socket_service.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/get_io_service.html b/doc/html/boost_asio/reference/raw_socket_service/get_io_service.html
new file mode 100644
index 0000000000..5b91f684a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="endpoint_type.html" title="raw_socket_service::endpoint_type">
+<link rel="next" href="get_option.html" title="raw_socket_service::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.get_io_service"></a><a class="link" href="get_io_service.html" title="raw_socket_service::get_io_service">raw_socket_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp160444384"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/get_option.html b/doc/html/boost_asio/reference/raw_socket_service/get_option.html
new file mode 100644
index 0000000000..2b13b4a127
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/get_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="get_io_service.html" title="raw_socket_service::get_io_service">
+<link rel="next" href="id.html" title="raw_socket_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.get_option"></a><a class="link" href="get_option.html" title="raw_socket_service::get_option">raw_socket_service::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160455008"></a>
+Get a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/id.html b/doc/html/boost_asio/reference/raw_socket_service/id.html
new file mode 100644
index 0000000000..a536f4f61e
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="get_option.html" title="raw_socket_service::get_option">
+<link rel="next" href="implementation_type.html" title="raw_socket_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.id"></a><a class="link" href="id.html" title="raw_socket_service::id">raw_socket_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160478128"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/implementation_type.html b/doc/html/boost_asio/reference/raw_socket_service/implementation_type.html
new file mode 100644
index 0000000000..a44e5bbaa0
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/implementation_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="id.html" title="raw_socket_service::id">
+<link rel="next" href="io_control.html" title="raw_socket_service::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.implementation_type"></a><a class="link" href="implementation_type.html" title="raw_socket_service::implementation_type">raw_socket_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160488176"></a>
+The type of a raw socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.raw_socket_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.raw_socket_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/io_control.html b/doc/html/boost_asio/reference/raw_socket_service/io_control.html
new file mode 100644
index 0000000000..89498b4ffa
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/io_control.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="implementation_type.html" title="raw_socket_service::implementation_type">
+<link rel="next" href="is_open.html" title="raw_socket_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.io_control"></a><a class="link" href="io_control.html" title="raw_socket_service::io_control">raw_socket_service::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160500432"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/is_open.html b/doc/html/boost_asio/reference/raw_socket_service/is_open.html
new file mode 100644
index 0000000000..c4243405ff
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="io_control.html" title="raw_socket_service::io_control">
+<link rel="next" href="local_endpoint.html" title="raw_socket_service::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.is_open"></a><a class="link" href="is_open.html" title="raw_socket_service::is_open">raw_socket_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160521808"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/local_endpoint.html b/doc/html/boost_asio/reference/raw_socket_service/local_endpoint.html
new file mode 100644
index 0000000000..97139c7223
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/local_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="is_open.html" title="raw_socket_service::is_open">
+<link rel="next" href="move_assign.html" title="raw_socket_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.local_endpoint"></a><a class="link" href="local_endpoint.html" title="raw_socket_service::local_endpoint">raw_socket_service::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160532256"></a>
+Get the local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/move_assign.html b/doc/html/boost_asio/reference/raw_socket_service/move_assign.html
new file mode 100644
index 0000000000..1ab10aeb83
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/move_assign.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="local_endpoint.html" title="raw_socket_service::local_endpoint">
+<link rel="next" href="move_construct.html" title="raw_socket_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.move_assign"></a><a class="link" href="move_assign.html" title="raw_socket_service::move_assign">raw_socket_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160547424"></a>
+Move-assign from another raw socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">raw_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/move_construct.html b/doc/html/boost_asio/reference/raw_socket_service/move_construct.html
new file mode 100644
index 0000000000..3d530752d9
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/move_construct.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="move_assign.html" title="raw_socket_service::move_assign">
+<link rel="next" href="native.html" title="raw_socket_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.move_construct"></a><a class="link" href="move_construct.html" title="raw_socket_service::move_construct">raw_socket_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160561152"></a>
+Move-construct a new raw socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native.html b/doc/html/boost_asio/reference/raw_socket_service/native.html
new file mode 100644
index 0000000000..b7a7303344
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="move_construct.html" title="raw_socket_service::move_construct">
+<link rel="next" href="native_handle.html" title="raw_socket_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.native"></a><a class="link" href="native.html" title="raw_socket_service::native">raw_socket_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160572304"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native_handle.html b/doc/html/boost_asio/reference/raw_socket_service/native_handle.html
new file mode 100644
index 0000000000..9ffd370d7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="native.html" title="raw_socket_service::native">
+<link rel="next" href="native_handle_type.html" title="raw_socket_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.native_handle"></a><a class="link" href="native_handle.html" title="raw_socket_service::native_handle">raw_socket_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160582704"></a>
+Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native_handle_type.html b/doc/html/boost_asio/reference/raw_socket_service/native_handle_type.html
new file mode 100644
index 0000000000..0e4d57c020
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="native_handle.html" title="raw_socket_service::native_handle">
+<link rel="next" href="native_non_blocking.html" title="raw_socket_service::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="raw_socket_service::native_handle_type">raw_socket_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160591328"></a>
+The native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.raw_socket_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.raw_socket_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking.html b/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking.html
new file mode 100644
index 0000000000..be66eab9e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="native_handle_type.html" title="raw_socket_service::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="raw_socket_service::native_non_blocking">raw_socket_service::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160603584"></a>
+Gets the non-blocking mode of the
+ native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload2.html" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..647ec2e72b
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native_non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="raw_socket_service::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="raw_socket_service::native_non_blocking">
+<link rel="next" href="overload2.html" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.raw_socket_service.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">raw_socket_service::native_non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..a9add4b94f
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native_non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native_non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="raw_socket_service::native_non_blocking">
+<link rel="prev" href="overload1.html" title="raw_socket_service::native_non_blocking (1 of 2 overloads)">
+<link rel="next" href="../native_type.html" title="raw_socket_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.raw_socket_service.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">raw_socket_service::native_non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/native_type.html b/doc/html/boost_asio/reference/raw_socket_service/native_type.html
new file mode 100644
index 0000000000..94c83d6faa
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="native_non_blocking/overload2.html" title="raw_socket_service::native_non_blocking (2 of 2 overloads)">
+<link rel="next" href="non_blocking.html" title="raw_socket_service::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.native_type"></a><a class="link" href="native_type.html" title="raw_socket_service::native_type">raw_socket_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160657648"></a>
+(Deprecated: Use native_handle_type.) The
+ native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.raw_socket_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.raw_socket_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/non_blocking.html b/doc/html/boost_asio/reference/raw_socket_service/non_blocking.html
new file mode 100644
index 0000000000..69b37cd793
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/non_blocking.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="native_type.html" title="raw_socket_service::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="raw_socket_service::non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.non_blocking"></a><a class="link" href="non_blocking.html" title="raw_socket_service::non_blocking">raw_socket_service::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160670000"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="raw_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="raw_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload2.html" title="raw_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="raw_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload1.html b/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload1.html
new file mode 100644
index 0000000000..c57b3ba260
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="raw_socket_service::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="raw_socket_service::non_blocking">
+<link rel="next" href="overload2.html" title="raw_socket_service::non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.raw_socket_service.non_blocking.overload1"></a><a class="link" href="overload1.html" title="raw_socket_service::non_blocking (1 of 2 overloads)">raw_socket_service::non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload2.html b/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload2.html
new file mode 100644
index 0000000000..799a2dd106
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="raw_socket_service::non_blocking">
+<link rel="prev" href="overload1.html" title="raw_socket_service::non_blocking (1 of 2 overloads)">
+<link rel="next" href="../open.html" title="raw_socket_service::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.raw_socket_service.non_blocking.overload2"></a><a class="link" href="overload2.html" title="raw_socket_service::non_blocking (2 of 2 overloads)">raw_socket_service::non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/open.html b/doc/html/boost_asio/reference/raw_socket_service/open.html
new file mode 100644
index 0000000000..f6b0dc7899
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/open.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="non_blocking/overload2.html" title="raw_socket_service::non_blocking (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="raw_socket_service::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.open"></a><a class="link" href="open.html" title="raw_socket_service::open">raw_socket_service::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160723904"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/protocol_type.html b/doc/html/boost_asio/reference/raw_socket_service/protocol_type.html
new file mode 100644
index 0000000000..75dae206f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="open.html" title="raw_socket_service::open">
+<link rel="next" href="raw_socket_service.html" title="raw_socket_service::raw_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.protocol_type"></a><a class="link" href="protocol_type.html" title="raw_socket_service::protocol_type">raw_socket_service::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160742528"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.raw_socket_service.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.raw_socket_service.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.raw_socket_service.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/raw_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="raw_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/raw_socket_service.html b/doc/html/boost_asio/reference/raw_socket_service/raw_socket_service.html
new file mode 100644
index 0000000000..213fe1b5e2
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/raw_socket_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::raw_socket_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="protocol_type.html" title="raw_socket_service::protocol_type">
+<link rel="next" href="receive.html" title="raw_socket_service::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.raw_socket_service"></a><a class="link" href="raw_socket_service.html" title="raw_socket_service::raw_socket_service">raw_socket_service::raw_socket_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160754928"></a>
+Construct a new raw socket service
+ for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">raw_socket_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/receive.html b/doc/html/boost_asio/reference/raw_socket_service/receive.html
new file mode 100644
index 0000000000..4622d11c9d
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/receive.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="raw_socket_service.html" title="raw_socket_service::raw_socket_service">
+<link rel="next" href="receive_from.html" title="raw_socket_service::receive_from">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="raw_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.receive"></a><a class="link" href="receive.html" title="raw_socket_service::receive">raw_socket_service::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160766768"></a>
+Receive some data from the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="raw_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_from.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/receive_from.html b/doc/html/boost_asio/reference/raw_socket_service/receive_from.html
new file mode 100644
index 0000000000..08a978be24
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/receive_from.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::receive_from</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="receive.html" title="raw_socket_service::receive">
+<link rel="next" href="remote_endpoint.html" title="raw_socket_service::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.receive_from"></a><a class="link" href="receive_from.html" title="raw_socket_service::receive_from">raw_socket_service::receive_from</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160790736"></a>
+Receive raw data with the endpoint of the
+ sender.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">sender_endpoint</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/remote_endpoint.html b/doc/html/boost_asio/reference/raw_socket_service/remote_endpoint.html
new file mode 100644
index 0000000000..f8c766a72c
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/remote_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="receive_from.html" title="raw_socket_service::receive_from">
+<link rel="next" href="send.html" title="raw_socket_service::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="raw_socket_service::remote_endpoint">raw_socket_service::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160817376"></a>
+Get the remote endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="receive_from.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/send.html b/doc/html/boost_asio/reference/raw_socket_service/send.html
new file mode 100644
index 0000000000..ea0756f2f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/send.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="remote_endpoint.html" title="raw_socket_service::remote_endpoint">
+<link rel="next" href="send_to.html" title="raw_socket_service::send_to">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.send"></a><a class="link" href="send.html" title="raw_socket_service::send">raw_socket_service::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160832544"></a>
+Send the given data to the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_to.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/send_to.html b/doc/html/boost_asio/reference/raw_socket_service/send_to.html
new file mode 100644
index 0000000000..1daa34c699
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/send_to.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::send_to</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="send.html" title="raw_socket_service::send">
+<link rel="next" href="set_option.html" title="raw_socket_service::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.send_to"></a><a class="link" href="send_to.html" title="raw_socket_service::send_to">raw_socket_service::send_to</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160856576"></a>
+Send raw data to the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send_to</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/set_option.html b/doc/html/boost_asio/reference/raw_socket_service/set_option.html
new file mode 100644
index 0000000000..e21528615c
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/set_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="send_to.html" title="raw_socket_service::send_to">
+<link rel="next" href="shutdown.html" title="raw_socket_service::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.set_option"></a><a class="link" href="set_option.html" title="raw_socket_service::set_option">raw_socket_service::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160883792"></a>
+Set a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send_to.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/raw_socket_service/shutdown.html b/doc/html/boost_asio/reference/raw_socket_service/shutdown.html
new file mode 100644
index 0000000000..bc1f245352
--- /dev/null
+++ b/doc/html/boost_asio/reference/raw_socket_service/shutdown.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>raw_socket_service::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../raw_socket_service.html" title="raw_socket_service">
+<link rel="prev" href="set_option.html" title="raw_socket_service::set_option">
+<link rel="next" href="../read.html" title="read">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.raw_socket_service.shutdown"></a><a class="link" href="shutdown.html" title="raw_socket_service::shutdown">raw_socket_service::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp160906032"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../raw_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read.html b/doc/html/boost_asio/reference/read.html
new file mode 100644
index 0000000000..fccc30b5d1
--- /dev/null
+++ b/doc/html/boost_asio/reference/read.html
@@ -0,0 +1,133 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="raw_socket_service/shutdown.html" title="raw_socket_service::shutdown">
+<link rel="next" href="read/overload1.html" title="read (1 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="raw_socket_service/shutdown.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.read"></a><a class="link" href="read.html" title="read">read</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp160924512"></a>
+Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload1.html" title="read (1 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload1.html" title="read (1 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload2.html" title="read (2 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload2.html" title="read (2 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload3.html" title="read (3 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload3.html" title="read (3 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload4.html" title="read (4 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload4.html" title="read (4 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload5.html" title="read (5 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload5.html" title="read (5 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload6.html" title="read (6 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload6.html" title="read (6 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload7.html" title="read (7 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload7.html" title="read (7 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read/overload8.html" title="read (8 of 8 overloads)">read</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read/overload8.html" title="read (8 of 8 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.read.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.requirements"></a></span><a class="link" href="read.html#boost_asio.reference.read.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="raw_socket_service/shutdown.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload1.html b/doc/html/boost_asio/reference/read/overload1.html
new file mode 100644
index 0000000000..def7544474
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload1.html
@@ -0,0 +1,136 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (1 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="../read.html" title="read">
+<link rel="next" href="overload2.html" title="read (2 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload1"></a><a class="link" href="overload1.html" title="read (1 of 8 overloads)">read (1 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.read.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the stream.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.read.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.read.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.read.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.read.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../read.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload2.html b/doc/html/boost_asio/reference/read/overload2.html
new file mode 100644
index 0000000000..13447469f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload2.html
@@ -0,0 +1,128 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (2 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload1.html" title="read (1 of 8 overloads)">
+<link rel="next" href="overload3.html" title="read (3 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload2"></a><a class="link" href="overload2.html" title="read (2 of 8 overloads)">read (2 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.read.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the stream.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.read.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.read.overload2.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.read.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload3.html b/doc/html/boost_asio/reference/read/overload3.html
new file mode 100644
index 0000000000..4cf073ca59
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload3.html
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (3 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload2.html" title="read (2 of 8 overloads)">
+<link rel="next" href="overload4.html" title="read (4 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload3"></a><a class="link" href="overload3.html" title="read (3 of 8 overloads)">read (3 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.read.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the stream.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the stream's read_some function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.read.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.read.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.read.overload3.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload4.html b/doc/html/boost_asio/reference/read/overload4.html
new file mode 100644
index 0000000000..c56a6b9eea
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload4.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (4 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload3.html" title="read (3 of 8 overloads)">
+<link rel="next" href="overload5.html" title="read (5 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload4"></a><a class="link" href="overload4.html" title="read (4 of 8 overloads)">read (4 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.read.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the stream.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the stream's read_some function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.read.overload4.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload5.html b/doc/html/boost_asio/reference/read/overload5.html
new file mode 100644
index 0000000000..581f74e94f
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload5.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (5 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload4.html" title="read (4 of 8 overloads)">
+<link rel="next" href="overload6.html" title="read (6 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload5"></a><a class="link" href="overload5.html" title="read (5 of 8 overloads)">read (5 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffer is full (that is, it has reached maximum size).
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.read.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.read.overload5.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload5.exceptions"></a></span><a class="link" href="overload5.html#boost_asio.reference.read.overload5.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload5.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.read.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload6.html b/doc/html/boost_asio/reference/read/overload6.html
new file mode 100644
index 0000000000..baf64658ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload6.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (6 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload5.html" title="read (5 of 8 overloads)">
+<link rel="next" href="overload7.html" title="read (7 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload6"></a><a class="link" href="overload6.html" title="read (6 of 8 overloads)">read (6 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffer is full (that is, it has reached maximum size).
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.read.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.read.overload6.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.read.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload7.html b/doc/html/boost_asio/reference/read/overload7.html
new file mode 100644
index 0000000000..e975ae5aa5
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload7.html
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (7 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload6.html" title="read (6 of 8 overloads)">
+<link rel="next" href="overload8.html" title="read (8 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload7"></a><a class="link" href="overload7.html" title="read (7 of 8 overloads)">read (7 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffer is full (that is, it has reached maximum size).
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.read.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the stream's read_some function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.read.overload7.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload7.exceptions"></a></span><a class="link" href="overload7.html#boost_asio.reference.read.overload7.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read/overload8.html b/doc/html/boost_asio/reference/read/overload8.html
new file mode 100644
index 0000000000..82d1abc884
--- /dev/null
+++ b/doc/html/boost_asio/reference/read/overload8.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read (8 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read.html" title="read">
+<link rel="prev" href="overload7.html" title="read (7 of 8 overloads)">
+<link rel="next" href="../read_at.html" title="read_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read.overload8"></a><a class="link" href="overload8.html" title="read (8 of 8 overloads)">read (8 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data from a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ stream. The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffer is full (that is, it has reached maximum size).
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.read.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the stream's read_some function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.read.overload8.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at.html b/doc/html/boost_asio/reference/read_at.html
new file mode 100644
index 0000000000..4e30122b55
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at.html
@@ -0,0 +1,142 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="read/overload8.html" title="read (8 of 8 overloads)">
+<link rel="next" href="read_at/overload1.html" title="read_at (1 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.read_at"></a><a class="link" href="read_at.html" title="read_at">read_at</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp161589632"></a>
+Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload1.html" title="read_at (1 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload1.html" title="read_at (1 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload2.html" title="read_at (2 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload2.html" title="read_at (2 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload3.html" title="read_at (3 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload3.html" title="read_at (3 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload4.html" title="read_at (4 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload4.html" title="read_at (4 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload5.html" title="read_at (5 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload5.html" title="read_at (5 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload6.html" title="read_at (6 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload6.html" title="read_at (6 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload7.html" title="read_at (7 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload7.html" title="read_at (7 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_at/overload8.html" title="read_at (8 of 8 overloads)">read_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_at/overload8.html" title="read_at (8 of 8 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.read_at.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.requirements"></a></span><a class="link" href="read_at.html#boost_asio.reference.read_at.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_at.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="read/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload1.html b/doc/html/boost_asio/reference/read_at/overload1.html
new file mode 100644
index 0000000000..b8c5ec2048
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload1.html
@@ -0,0 +1,143 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (1 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="../read_at.html" title="read_at">
+<link rel="next" href="overload2.html" title="read_at (2 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload1"></a><a class="link" href="overload1.html" title="read_at (1 of 8 overloads)">read_at (1
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_at.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the device.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_at.overload1.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_at.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_at.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_at.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../read_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload2.html b/doc/html/boost_asio/reference/read_at/overload2.html
new file mode 100644
index 0000000000..7080a0fdde
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload2.html
@@ -0,0 +1,136 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (2 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload1.html" title="read_at (1 of 8 overloads)">
+<link rel="next" href="overload3.html" title="read_at (3 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload2"></a><a class="link" href="overload2.html" title="read_at (2 of 8 overloads)">read_at (2
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the device.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_at.overload2.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_at.overload2.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_at.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload3.html b/doc/html/boost_asio/reference/read_at/overload3.html
new file mode 100644
index 0000000000..90de58ba5e
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload3.html
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (3 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload2.html" title="read_at (2 of 8 overloads)">
+<link rel="next" href="overload4.html" title="read_at (4 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload3"></a><a class="link" href="overload3.html" title="read_at (3 of 8 overloads)">read_at (3
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_at.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the device.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the device's read_some_at function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_at.overload3.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_at.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_at.overload3.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload4.html b/doc/html/boost_asio/reference/read_at/overload4.html
new file mode 100644
index 0000000000..8fe103ec4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload4.html
@@ -0,0 +1,133 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (4 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload3.html" title="read_at (3 of 8 overloads)">
+<link rel="next" href="overload5.html" title="read_at (5 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload4"></a><a class="link" href="overload4.html" title="read_at (4 of 8 overloads)">read_at (4
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The supplied buffers are full. That is, the bytes transferred is equal
+ to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.read_at.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. The sum of
+ the buffer sizes indicates the maximum number of bytes to read from
+ the device.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the device's read_some_at function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.read_at.overload4.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes read. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload5.html b/doc/html/boost_asio/reference/read_at/overload5.html
new file mode 100644
index 0000000000..aa65c89911
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload5.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (5 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload4.html" title="read_at (4 of 8 overloads)">
+<link rel="next" href="overload6.html" title="read_at (6 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload5"></a><a class="link" href="overload5.html" title="read_at (5 of 8 overloads)">read_at (5
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ An error occurred.
+ </li></ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_at.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_at.overload5.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload5.exceptions"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_at.overload5.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload5.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_at.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload6.html b/doc/html/boost_asio/reference/read_at/overload6.html
new file mode 100644
index 0000000000..7488965abc
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload6.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (6 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload5.html" title="read_at (5 of 8 overloads)">
+<link rel="next" href="overload7.html" title="read_at (7 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload6"></a><a class="link" href="overload6.html" title="read_at (6 of 8 overloads)">read_at (6
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ An error occurred.
+ </li></ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.read_at.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.read_at.overload6.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.read_at.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload7.html b/doc/html/boost_asio/reference/read_at/overload7.html
new file mode 100644
index 0000000000..ec592d9817
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload7.html
@@ -0,0 +1,133 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (7 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload6.html" title="read_at (6 of 8 overloads)">
+<link rel="next" href="overload8.html" title="read_at (8 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload7"></a><a class="link" href="overload7.html" title="read_at (7 of 8 overloads)">read_at (7
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ The completion_condition function object returns 0.
+ </li></ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_at.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the device's read_some_at function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_at.overload7.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload7.exceptions"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_at.overload7.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_at/overload8.html b/doc/html/boost_asio/reference/read_at/overload8.html
new file mode 100644
index 0000000000..45870dbf64
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_at/overload8.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_at (8 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_at.html" title="read_at">
+<link rel="prev" href="overload7.html" title="read_at (7 of 8 overloads)">
+<link rel="next" href="../read_until.html" title="read_until">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_until.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_at.overload8"></a><a class="link" href="overload8.html" title="read_at (8 of 8 overloads)">read_at (8
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Attempt to read a certain amount of data at the specified offset before
+ returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessReadDevice.html" title="Buffer-oriented synchronous random-access read device requirements">SyncRandomAccessReadDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessReadDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read a certain number of bytes of data from a
+ random access device at the specified offset. The call will block until
+ one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ The completion_condition function object returns 0.
+ </li></ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ read_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_at.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.read_at.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device from which the data is to be read. The type must support
+ the SyncRandomAccessReadDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object into
+ which the data will be read.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the read operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest read_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the read operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be read on the next call to the device's read_some_at function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_at.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_at.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.read_at.overload8.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes read. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../read_until.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until.html b/doc/html/boost_asio/reference/read_until.html
new file mode 100644
index 0000000000..6edcf9774c
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until.html
@@ -0,0 +1,138 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="read_at/overload8.html" title="read_at (8 of 8 overloads)">
+<link rel="next" href="read_until/overload1.html" title="read_until (1 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_at/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_until/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.read_until"></a><a class="link" href="read_until.html" title="read_until">read_until</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp162305280"></a>
+Read data into a streambuf until it contains a delimiter, matches
+ a regular expression, or a function object indicates a match.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload1.html" title="read_until (1 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload1.html" title="read_until (1 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload2.html" title="read_until (2 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload2.html" title="read_until (2 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload3.html" title="read_until (3 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload3.html" title="read_until (3 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload4.html" title="read_until (4 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload4.html" title="read_until (4 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload5.html" title="read_until (5 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload5.html" title="read_until (5 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload6.html" title="read_until (6 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload6.html" title="read_until (6 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload7.html" title="read_until (7 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload7.html" title="read_until (7 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_until/overload8.html" title="read_until (8 of 8 overloads)">read_until</a><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_until/overload8.html" title="read_until (8 of 8 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.read_until.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.requirements"></a></span><a class="link" href="read_until.html#boost_asio.reference.read_until.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/read_until.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="read_at/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_until/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload1.html b/doc/html/boost_asio/reference/read_until/overload1.html
new file mode 100644
index 0000000000..e50ac4b927
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload1.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (1 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="../read_until.html" title="read_until">
+<link rel="next" href="overload2.html" title="read_until (2 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_until.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload1"></a><a class="link" href="overload1.html" title="read_until (1 of 8 overloads)">read_until
+ (1 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until it contains a specified delimiter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until the
+ streambuf's get area contains the specified delimiter. The call will block
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The get area of the streambuf contains the specified delimiter.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the streambuf's get area already contains the delimiter,
+ the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_until.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">delim</span></dt>
+<dd><p>
+ The delimiter character.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_until.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area up to and including the
+ delimiter.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_until.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_until.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond the delimiter. An application will typically leave that data
+ in the streambuf for a subsequent read_until operation to examine.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.read_until.overload1.example">Example</a>
+ </h6>
+<p>
+ To read data into a streambuf until a newline is encountered:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+</pre>
+<p>
+ After the <code class="computeroutput"><span class="identifier">read_until</span></code> operation
+ completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ contains the delimiter:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
+ and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
+ contains:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
+</pre>
+<p>
+ The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ This data may be the start of a new line, to be extracted by a subsequent
+ <code class="computeroutput"><span class="identifier">read_until</span></code> operation.
+ </p>
+</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 &#169; 2003-2017 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="../read_until.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload2.html b/doc/html/boost_asio/reference/read_until/overload2.html
new file mode 100644
index 0000000000..fb451872df
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload2.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (2 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload1.html" title="read_until (1 of 8 overloads)">
+<link rel="next" href="overload3.html" title="read_until (3 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload2"></a><a class="link" href="overload2.html" title="read_until (2 of 8 overloads)">read_until
+ (2 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until it contains a specified delimiter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">char</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until the
+ streambuf's get area contains the specified delimiter. The call will block
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The get area of the streambuf contains the specified delimiter.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the streambuf's get area already contains the delimiter,
+ the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_until.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">delim</span></dt>
+<dd><p>
+ The delimiter character.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_until.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area up to and including the
+ delimiter. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.read_until.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond the delimiter. An application will typically leave that data
+ in the streambuf for a subsequent read_until operation to examine.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload3.html b/doc/html/boost_asio/reference/read_until/overload3.html
new file mode 100644
index 0000000000..b2d265dc27
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload3.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (3 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload2.html" title="read_until (2 of 8 overloads)">
+<link rel="next" href="overload4.html" title="read_until (4 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload3"></a><a class="link" href="overload3.html" title="read_until (3 of 8 overloads)">read_until
+ (3 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until it contains a specified delimiter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until the
+ streambuf's get area contains the specified delimiter. The call will block
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The get area of the streambuf contains the specified delimiter.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the streambuf's get area already contains the delimiter,
+ the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_until.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">delim</span></dt>
+<dd><p>
+ The delimiter string.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_until.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area up to and including the
+ delimiter.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_until.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_until.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond the delimiter. An application will typically leave that data
+ in the streambuf for a subsequent read_until operation to examine.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload3.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.read_until.overload3.example">Example</a>
+ </h6>
+<p>
+ To read data into a streambuf until a newline is encountered:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="string">"\r\n"</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+</pre>
+<p>
+ After the <code class="computeroutput"><span class="identifier">read_until</span></code> operation
+ completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ contains the delimiter:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
+ and including the delimiter, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
+ contains:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
+</pre>
+<p>
+ The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ This data may be the start of a new line, to be extracted by a subsequent
+ <code class="computeroutput"><span class="identifier">read_until</span></code> operation.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload4.html b/doc/html/boost_asio/reference/read_until/overload4.html
new file mode 100644
index 0000000000..50bb1339ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload4.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (4 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload3.html" title="read_until (3 of 8 overloads)">
+<link rel="next" href="overload5.html" title="read_until (5 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload4"></a><a class="link" href="overload4.html" title="read_until (4 of 8 overloads)">read_until
+ (4 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until it contains a specified delimiter.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">delim</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until the
+ streambuf's get area contains the specified delimiter. The call will block
+ until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The get area of the streambuf contains the specified delimiter.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the streambuf's get area already contains the delimiter,
+ the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.read_until.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">delim</span></dt>
+<dd><p>
+ The delimiter string.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.read_until.overload4.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area up to and including the
+ delimiter. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload4.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload4.remarks"></a></span><a class="link" href="overload4.html#boost_asio.reference.read_until.overload4.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond the delimiter. An application will typically leave that data
+ in the streambuf for a subsequent read_until operation to examine.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload5.html b/doc/html/boost_asio/reference/read_until/overload5.html
new file mode 100644
index 0000000000..752bda7bd2
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload5.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (5 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload4.html" title="read_until (4 of 8 overloads)">
+<link rel="next" href="overload6.html" title="read_until (6 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload5"></a><a class="link" href="overload5.html" title="read_until (5 of 8 overloads)">read_until
+ (5 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until some part of the data it contains matches
+ a regular expression.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until the
+ streambuf's get area contains some data that matches a regular expression.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A substring of the streambuf's get area matches the regular expression.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the streambuf's get area already contains data that
+ matches the regular expression, the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_until.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">expr</span></dt>
+<dd><p>
+ The regular expression.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_until.overload5.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area up to and including the
+ substring that matches the regular expression.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload5.exceptions"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_until.overload5.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload5.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_until.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond that which matched the regular expression. An application will
+ typically leave that data in the streambuf for a subsequent read_until
+ operation to examine.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload5.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload5.example"></a></span><a class="link" href="overload5.html#boost_asio.reference.read_until.overload5.example">Example</a>
+ </h6>
+<p>
+ To read data into a streambuf until a CR-LF sequence is encountered:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span><span class="special">(</span><span class="string">"\r\n"</span><span class="special">));</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">is</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+</pre>
+<p>
+ After the <code class="computeroutput"><span class="identifier">read_until</span></code> operation
+ completes successfully, the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ contains the data which matched the regular expression:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span><span class="special">,</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ The call to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span></code> then extracts the data up to
+ and including the match, so that the string <code class="computeroutput"><span class="identifier">line</span></code>
+ contains:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span> <span class="special">...,</span> <span class="char">'c'</span><span class="special">,</span> <span class="char">'\r'</span><span class="special">,</span> <span class="char">'\n'</span> <span class="special">}</span>
+</pre>
+<p>
+ The remaining data is left in the buffer <code class="computeroutput"><span class="identifier">b</span></code>
+ as follows:
+ </p>
+<pre class="programlisting"><span class="special">{</span> <span class="char">'d'</span><span class="special">,</span> <span class="char">'e'</span><span class="special">,</span> <span class="special">...</span> <span class="special">}</span>
+</pre>
+<p>
+ This data may be the start of a new line, to be extracted by a subsequent
+ <code class="computeroutput"><span class="identifier">read_until</span></code> operation.
+ </p>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload6.html b/doc/html/boost_asio/reference/read_until/overload6.html
new file mode 100644
index 0000000000..0bb345bc23
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload6.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (6 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload5.html" title="read_until (5 of 8 overloads)">
+<link rel="next" href="overload7.html" title="read_until (7 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload6"></a><a class="link" href="overload6.html" title="read_until (6 of 8 overloads)">read_until
+ (6 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until some part of the data it contains matches
+ a regular expression.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until the
+ streambuf's get area contains some data that matches a regular expression.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A substring of the streambuf's get area matches the regular expression.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the streambuf's get area already contains data that
+ matches the regular expression, the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.read_until.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">expr</span></dt>
+<dd><p>
+ The regular expression.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.read_until.overload6.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area up to and including the
+ substring that matches the regular expression. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.read_until.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond that which matched the regular expression. An application will
+ typically leave that data in the streambuf for a subsequent read_until
+ operation to examine.
+ </p>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload7.html b/doc/html/boost_asio/reference/read_until/overload7.html
new file mode 100644
index 0000000000..7ef646ff79
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload7.html
@@ -0,0 +1,213 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (7 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload6.html" title="read_until (6 of 8 overloads)">
+<link rel="next" href="overload8.html" title="read_until (8 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload7"></a><a class="link" href="overload7.html" title="read_until (7 of 8 overloads)">read_until
+ (7 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until a function object indicates a match.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until a
+ user-defined match condition function object, when applied to the data
+ contained in the streambuf, indicates a successful match. The call will
+ block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The match condition function object returns a std::pair where the second
+ element evaluates to true.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the match condition function object already indicates
+ a match, the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_until.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">match_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether a match exists.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">match_condition</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">);</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">iterator</span></code> represents
+ the type:
+</p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">&lt;</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The iterator parameters <code class="computeroutput"><span class="identifier">begin</span></code>
+ and <code class="computeroutput"><span class="identifier">end</span></code> define the
+ range of bytes to be scanned to determine whether there is a match.
+ The <code class="computeroutput"><span class="identifier">first</span></code> member
+ of the return value is an iterator marking one-past-the-end of the
+ bytes that have been consumed by the match function. This iterator
+ is used to calculate the <code class="computeroutput"><span class="identifier">begin</span></code>
+ parameter for any subsequent invocation of the match condition. The
+ <code class="computeroutput"><span class="identifier">second</span></code> member of
+ the return value is true if a match has been found, false otherwise.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_until.overload7.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area that have been fully consumed
+ by the match function.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload7.exceptions"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_until.overload7.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload7.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload7.remarks"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_until.overload7.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond that which matched the function object. An application will
+ typically leave that data in the streambuf for a subsequent
+ </p>
+<p>
+ The default implementation of the <code class="computeroutput"><span class="identifier">is_match_condition</span></code>
+ type trait evaluates to true for function pointers and function objects
+ with a <code class="computeroutput"><span class="identifier">result_type</span></code> typedef.
+ It must be specialised for other user-defined function objects.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload7.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload7.examples"></a></span><a class="link" href="overload7.html#boost_asio.reference.read_until.overload7.examples">Examples</a>
+ </h6>
+<p>
+ To read data into a streambuf until whitespace is encountered:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffers_iterator</span><span class="special">&lt;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span> <span class="identifier">iterator</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span>
+<span class="identifier">match_whitespace</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">isspace</span><span class="special">(*</span><span class="identifier">i</span><span class="special">++))</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+<span class="special">}</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_whitespace</span><span class="special">);</span>
+</pre>
+<p>
+ To read data into a streambuf until a matching character is found:
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">match_char</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">explicit</span> <span class="identifier">match_char</span><span class="special">(</span><span class="keyword">char</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">c_</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="identifier">Iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">Iterator</span> <span class="identifier">end</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">Iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">;</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">)</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c_</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">i</span><span class="special">++)</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">true</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">char</span> <span class="identifier">c_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">asio</span> <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span><span class="identifier">match_char</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">true_type</span> <span class="special">{};</span>
+<span class="special">}</span> <span class="comment">// namespace asio</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read_until</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">match_char</span><span class="special">(</span><span class="char">'a'</span><span class="special">));</span>
+</pre>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/read_until/overload8.html b/doc/html/boost_asio/reference/read_until/overload8.html
new file mode 100644
index 0000000000..c5e6475140
--- /dev/null
+++ b/doc/html/boost_asio/reference/read_until/overload8.html
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>read_until (8 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_until.html" title="read_until">
+<link rel="prev" href="overload7.html" title="read_until (7 of 8 overloads)">
+<link rel="next" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.read_until.overload8"></a><a class="link" href="overload8.html" title="read_until (8 of 8 overloads)">read_until
+ (8 of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Read data into a streambuf until a function object indicates a match.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncReadStream.html" title="Buffer-oriented synchronous read stream requirements">SyncReadStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MatchCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_until</span><span class="special">(</span>
+ <span class="identifier">SyncReadStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">MatchCondition</span> <span class="identifier">match_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_match_condition</span><span class="special">&lt;</span> <span class="identifier">MatchCondition</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data into the specified streambuf until a
+ user-defined match condition function object, when applied to the data
+ contained in the streambuf, indicates a successful match. The call will
+ block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The match condition function object returns a std::pair where the second
+ element evaluates to true.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ read_some function. If the match condition function object already indicates
+ a match, the function returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.read_until.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream from which the data is to be read. The type must support
+ the SyncReadStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ A streambuf object into which the data will be read.
+ </p></dd>
+<dt><span class="term">match_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether a match exists.
+ The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">match_condition</span><span class="special">(</span><span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">,</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">);</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">iterator</span></code> represents
+ the type:
+</p>
+<pre class="programlisting"><span class="identifier">buffers_iterator</span><span class="special">&lt;</span><span class="identifier">basic_streambuf</span><span class="special">&lt;</span><span class="identifier">Allocator</span><span class="special">&gt;::</span><span class="identifier">const_buffers_type</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The iterator parameters <code class="computeroutput"><span class="identifier">begin</span></code>
+ and <code class="computeroutput"><span class="identifier">end</span></code> define the
+ range of bytes to be scanned to determine whether there is a match.
+ The <code class="computeroutput"><span class="identifier">first</span></code> member
+ of the return value is an iterator marking one-past-the-end of the
+ bytes that have been consumed by the match function. This iterator
+ is used to calculate the <code class="computeroutput"><span class="identifier">begin</span></code>
+ parameter for any subsequent invocation of the match condition. The
+ <code class="computeroutput"><span class="identifier">second</span></code> member of
+ the return value is true if a match has been found, false otherwise.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.read_until.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.read_until.overload8.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes in the streambuf's get area that have been fully consumed
+ by the match function. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.read_until.overload8.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.read_until.overload8.remarks"></a></span><a class="link" href="overload8.html#boost_asio.reference.read_until.overload8.remarks">Remarks</a>
+ </h6>
+<p>
+ After a successful read_until operation, the streambuf may contain additional
+ data beyond that which matched the function object. An application will
+ typically leave that data in the streambuf for a subsequent
+ </p>
+<p>
+ The default implementation of the <code class="computeroutput"><span class="identifier">is_match_condition</span></code>
+ type trait evaluates to true for function pointers and function objects
+ with a <code class="computeroutput"><span class="identifier">result_type</span></code> typedef.
+ It must be specialised for other user-defined function objects.
+ </p>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_until.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service.html b/doc/html/boost_asio/reference/seq_packet_socket_service.html
new file mode 100644
index 0000000000..470cd5ca7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service.html
@@ -0,0 +1,585 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="read_until/overload8.html" title="read_until (8 of 8 overloads)">
+<link rel="next" href="seq_packet_socket_service/assign.html" title="seq_packet_socket_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_until/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service"></a><a class="link" href="seq_packet_socket_service.html" title="seq_packet_socket_service">seq_packet_socket_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a sequenced packet socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">seq_packet_socket_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.seq_packet_socket_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.types"></a></span><a class="link" href="seq_packet_socket_service.html#boost_asio.reference.seq_packet_socket_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/endpoint_type.html" title="seq_packet_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/implementation_type.html" title="seq_packet_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a sequenced packet socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/native_handle_type.html" title="seq_packet_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/native_type.html" title="seq_packet_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/protocol_type.html" title="seq_packet_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.seq_packet_socket_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.member_functions"></a></span><a class="link" href="seq_packet_socket_service.html#boost_asio.reference.seq_packet_socket_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/assign.html" title="seq_packet_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to a sequenced packet socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/async_connect.html" title="seq_packet_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/async_receive.html" title="seq_packet_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/async_send.html" title="seq_packet_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/at_mark.html" title="seq_packet_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/available.html" title="seq_packet_socket_service::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/bind.html" title="seq_packet_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the sequenced packet socket to the specified local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/cancel.html" title="seq_packet_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/close.html" title="seq_packet_socket_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a sequenced packet socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/connect.html" title="seq_packet_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the sequenced packet socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/construct.html" title="seq_packet_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new sequenced packet socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/converting_move_construct.html" title="seq_packet_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new sequenced packet socket implementation from
+ another protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/destroy.html" title="seq_packet_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a sequenced packet socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/get_io_service.html" title="seq_packet_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/get_option.html" title="seq_packet_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/io_control.html" title="seq_packet_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/is_open.html" title="seq_packet_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/local_endpoint.html" title="seq_packet_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/move_assign.html" title="seq_packet_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another sequenced packet socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/move_construct.html" title="seq_packet_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new sequenced packet socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/native.html" title="seq_packet_socket_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/native_handle.html" title="seq_packet_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/native_non_blocking.html" title="seq_packet_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/non_blocking.html" title="seq_packet_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/open.html" title="seq_packet_socket_service::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open a sequenced packet socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/receive.html" title="seq_packet_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data from the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/remote_endpoint.html" title="seq_packet_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/send.html" title="seq_packet_socket_service::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send the given data to the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/seq_packet_socket_service.html" title="seq_packet_socket_service::seq_packet_socket_service"><span class="bold"><strong>seq_packet_socket_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new sequenced packet socket service for the specified
+ io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/set_option.html" title="seq_packet_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/shutdown.html" title="seq_packet_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.seq_packet_socket_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.data_members"></a></span><a class="link" href="seq_packet_socket_service.html#boost_asio.reference.seq_packet_socket_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="seq_packet_socket_service/id.html" title="seq_packet_socket_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.seq_packet_socket_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.requirements"></a></span><a class="link" href="seq_packet_socket_service.html#boost_asio.reference.seq_packet_socket_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="read_until/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/assign.html b/doc/html/boost_asio/reference/seq_packet_socket_service/assign.html
new file mode 100644
index 0000000000..506cd9f209
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/assign.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="next" href="async_connect.html" title="seq_packet_socket_service::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.assign"></a><a class="link" href="assign.html" title="seq_packet_socket_service::assign">seq_packet_socket_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163472048"></a>
+Assign an existing native socket to a sequenced
+ packet socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/async_connect.html b/doc/html/boost_asio/reference/seq_packet_socket_service/async_connect.html
new file mode 100644
index 0000000000..cd912c816d
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/async_connect.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="assign.html" title="seq_packet_socket_service::assign">
+<link rel="next" href="async_receive.html" title="seq_packet_socket_service::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.async_connect"></a><a class="link" href="async_connect.html" title="seq_packet_socket_service::async_connect">seq_packet_socket_service::async_connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163494224"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/async_receive.html b/doc/html/boost_asio/reference/seq_packet_socket_service/async_receive.html
new file mode 100644
index 0000000000..88f66a7986
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/async_receive.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="async_connect.html" title="seq_packet_socket_service::async_connect">
+<link rel="next" href="async_send.html" title="seq_packet_socket_service::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.async_receive"></a><a class="link" href="async_receive.html" title="seq_packet_socket_service::async_receive">seq_packet_socket_service::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163511808"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/async_send.html b/doc/html/boost_asio/reference/seq_packet_socket_service/async_send.html
new file mode 100644
index 0000000000..aa4307313b
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/async_send.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="async_receive.html" title="seq_packet_socket_service::async_receive">
+<link rel="next" href="at_mark.html" title="seq_packet_socket_service::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.async_send"></a><a class="link" href="async_send.html" title="seq_packet_socket_service::async_send">seq_packet_socket_service::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163538064"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/at_mark.html b/doc/html/boost_asio/reference/seq_packet_socket_service/at_mark.html
new file mode 100644
index 0000000000..8a0d802930
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/at_mark.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="async_send.html" title="seq_packet_socket_service::async_send">
+<link rel="next" href="available.html" title="seq_packet_socket_service::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.at_mark"></a><a class="link" href="at_mark.html" title="seq_packet_socket_service::at_mark">seq_packet_socket_service::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163560624"></a>
+Determine whether the socket is at the
+ out-of-band data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/available.html b/doc/html/boost_asio/reference/seq_packet_socket_service/available.html
new file mode 100644
index 0000000000..bba225a631
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/available.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="at_mark.html" title="seq_packet_socket_service::at_mark">
+<link rel="next" href="bind.html" title="seq_packet_socket_service::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.available"></a><a class="link" href="available.html" title="seq_packet_socket_service::available">seq_packet_socket_service::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163575856"></a>
+Determine the number of bytes available
+ for reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/bind.html b/doc/html/boost_asio/reference/seq_packet_socket_service/bind.html
new file mode 100644
index 0000000000..5aece9bc47
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/bind.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="available.html" title="seq_packet_socket_service::available">
+<link rel="next" href="cancel.html" title="seq_packet_socket_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.bind"></a><a class="link" href="bind.html" title="seq_packet_socket_service::bind">seq_packet_socket_service::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163592048"></a>
+Bind the sequenced packet socket to the specified
+ local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/cancel.html b/doc/html/boost_asio/reference/seq_packet_socket_service/cancel.html
new file mode 100644
index 0000000000..891810d0d3
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="bind.html" title="seq_packet_socket_service::bind">
+<link rel="next" href="close.html" title="seq_packet_socket_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.cancel"></a><a class="link" href="cancel.html" title="seq_packet_socket_service::cancel">seq_packet_socket_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163610992"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/close.html b/doc/html/boost_asio/reference/seq_packet_socket_service/close.html
new file mode 100644
index 0000000000..2491b6e766
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="cancel.html" title="seq_packet_socket_service::cancel">
+<link rel="next" href="connect.html" title="seq_packet_socket_service::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.close"></a><a class="link" href="close.html" title="seq_packet_socket_service::close">seq_packet_socket_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163626496"></a>
+Close a sequenced packet socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/connect.html b/doc/html/boost_asio/reference/seq_packet_socket_service/connect.html
new file mode 100644
index 0000000000..18ff769d3d
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/connect.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="close.html" title="seq_packet_socket_service::close">
+<link rel="next" href="construct.html" title="seq_packet_socket_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.connect"></a><a class="link" href="connect.html" title="seq_packet_socket_service::connect">seq_packet_socket_service::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163641984"></a>
+Connect the sequenced packet socket to
+ the specified endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/construct.html b/doc/html/boost_asio/reference/seq_packet_socket_service/construct.html
new file mode 100644
index 0000000000..4dd3220f4b
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/construct.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="connect.html" title="seq_packet_socket_service::connect">
+<link rel="next" href="converting_move_construct.html" title="seq_packet_socket_service::converting_move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.construct"></a><a class="link" href="construct.html" title="seq_packet_socket_service::construct">seq_packet_socket_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163660848"></a>
+Construct a new sequenced packet socket
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/converting_move_construct.html b/doc/html/boost_asio/reference/seq_packet_socket_service/converting_move_construct.html
new file mode 100644
index 0000000000..5f5d7fbf27
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/converting_move_construct.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::converting_move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="construct.html" title="seq_packet_socket_service::construct">
+<link rel="next" href="destroy.html" title="seq_packet_socket_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.converting_move_construct"></a><a class="link" href="converting_move_construct.html" title="seq_packet_socket_service::converting_move_construct">seq_packet_socket_service::converting_move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163669584"></a>
+Move-construct a new
+ sequenced packet socket implementation from another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">seq_packet_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">seq_packet_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/destroy.html b/doc/html/boost_asio/reference/seq_packet_socket_service/destroy.html
new file mode 100644
index 0000000000..1b391d4faf
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="converting_move_construct.html" title="seq_packet_socket_service::converting_move_construct">
+<link rel="next" href="endpoint_type.html" title="seq_packet_socket_service::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.destroy"></a><a class="link" href="destroy.html" title="seq_packet_socket_service::destroy">seq_packet_socket_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163702112"></a>
+Destroy a sequenced packet socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/endpoint_type.html b/doc/html/boost_asio/reference/seq_packet_socket_service/endpoint_type.html
new file mode 100644
index 0000000000..c537c96886
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="destroy.html" title="seq_packet_socket_service::destroy">
+<link rel="next" href="get_io_service.html" title="seq_packet_socket_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.endpoint_type"></a><a class="link" href="endpoint_type.html" title="seq_packet_socket_service::endpoint_type">seq_packet_socket_service::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163710704"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.seq_packet_socket_service.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.seq_packet_socket_service.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/get_io_service.html b/doc/html/boost_asio/reference/seq_packet_socket_service/get_io_service.html
new file mode 100644
index 0000000000..81eeb71e9b
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="endpoint_type.html" title="seq_packet_socket_service::endpoint_type">
+<link rel="next" href="get_option.html" title="seq_packet_socket_service::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.get_io_service"></a><a class="link" href="get_io_service.html" title="seq_packet_socket_service::get_io_service">seq_packet_socket_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp163725136"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/get_option.html b/doc/html/boost_asio/reference/seq_packet_socket_service/get_option.html
new file mode 100644
index 0000000000..3a46e0fbff
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/get_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="get_io_service.html" title="seq_packet_socket_service::get_io_service">
+<link rel="next" href="id.html" title="seq_packet_socket_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.get_option"></a><a class="link" href="get_option.html" title="seq_packet_socket_service::get_option">seq_packet_socket_service::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163735840"></a>
+Get a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/id.html b/doc/html/boost_asio/reference/seq_packet_socket_service/id.html
new file mode 100644
index 0000000000..bc683d65aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="get_option.html" title="seq_packet_socket_service::get_option">
+<link rel="next" href="implementation_type.html" title="seq_packet_socket_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.id"></a><a class="link" href="id.html" title="seq_packet_socket_service::id">seq_packet_socket_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163759280"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/implementation_type.html b/doc/html/boost_asio/reference/seq_packet_socket_service/implementation_type.html
new file mode 100644
index 0000000000..b02c70283f
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="id.html" title="seq_packet_socket_service::id">
+<link rel="next" href="io_control.html" title="seq_packet_socket_service::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.implementation_type"></a><a class="link" href="implementation_type.html" title="seq_packet_socket_service::implementation_type">seq_packet_socket_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163769120"></a>
+The type of a sequenced packet
+ socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.seq_packet_socket_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.seq_packet_socket_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/io_control.html b/doc/html/boost_asio/reference/seq_packet_socket_service/io_control.html
new file mode 100644
index 0000000000..0079072426
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/io_control.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="implementation_type.html" title="seq_packet_socket_service::implementation_type">
+<link rel="next" href="is_open.html" title="seq_packet_socket_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.io_control"></a><a class="link" href="io_control.html" title="seq_packet_socket_service::io_control">seq_packet_socket_service::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163781584"></a>
+Perform an IO control command on the
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/is_open.html b/doc/html/boost_asio/reference/seq_packet_socket_service/is_open.html
new file mode 100644
index 0000000000..02557194c3
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="io_control.html" title="seq_packet_socket_service::io_control">
+<link rel="next" href="local_endpoint.html" title="seq_packet_socket_service::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.is_open"></a><a class="link" href="is_open.html" title="seq_packet_socket_service::is_open">seq_packet_socket_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163802976"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/local_endpoint.html b/doc/html/boost_asio/reference/seq_packet_socket_service/local_endpoint.html
new file mode 100644
index 0000000000..096d5ed270
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/local_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="is_open.html" title="seq_packet_socket_service::is_open">
+<link rel="next" href="move_assign.html" title="seq_packet_socket_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.local_endpoint"></a><a class="link" href="local_endpoint.html" title="seq_packet_socket_service::local_endpoint">seq_packet_socket_service::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163813600"></a>
+Get the local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/move_assign.html b/doc/html/boost_asio/reference/seq_packet_socket_service/move_assign.html
new file mode 100644
index 0000000000..57cdd044f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="local_endpoint.html" title="seq_packet_socket_service::local_endpoint">
+<link rel="next" href="move_construct.html" title="seq_packet_socket_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.move_assign"></a><a class="link" href="move_assign.html" title="seq_packet_socket_service::move_assign">seq_packet_socket_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163828912"></a>
+Move-assign from another sequenced
+ packet socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">seq_packet_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/move_construct.html b/doc/html/boost_asio/reference/seq_packet_socket_service/move_construct.html
new file mode 100644
index 0000000000..d5a088d663
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="move_assign.html" title="seq_packet_socket_service::move_assign">
+<link rel="next" href="native.html" title="seq_packet_socket_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.move_construct"></a><a class="link" href="move_construct.html" title="seq_packet_socket_service::move_construct">seq_packet_socket_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163842848"></a>
+Move-construct a new sequenced packet
+ socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native.html
new file mode 100644
index 0000000000..585698c772
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="move_construct.html" title="seq_packet_socket_service::move_construct">
+<link rel="next" href="native_handle.html" title="seq_packet_socket_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native"></a><a class="link" href="native.html" title="seq_packet_socket_service::native">seq_packet_socket_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163854000"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle.html
new file mode 100644
index 0000000000..594f4bd124
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="native.html" title="seq_packet_socket_service::native">
+<link rel="next" href="native_handle_type.html" title="seq_packet_socket_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native_handle"></a><a class="link" href="native_handle.html" title="seq_packet_socket_service::native_handle">seq_packet_socket_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163864544"></a>
+Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle_type.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle_type.html
new file mode 100644
index 0000000000..6c9542a3de
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="native_handle.html" title="seq_packet_socket_service::native_handle">
+<link rel="next" href="native_non_blocking.html" title="seq_packet_socket_service::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="seq_packet_socket_service::native_handle_type">seq_packet_socket_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163873184"></a>
+The native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.seq_packet_socket_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.seq_packet_socket_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking.html
new file mode 100644
index 0000000000..8922857058
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="native_handle_type.html" title="seq_packet_socket_service::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="seq_packet_socket_service::native_non_blocking">seq_packet_socket_service::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163885568"></a>
+Gets the non-blocking mode
+ of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload2.html" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..324da7c578
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native_non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="seq_packet_socket_service::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="seq_packet_socket_service::native_non_blocking">
+<link rel="next" href="overload2.html" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">seq_packet_socket_service::native_non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..b1cdbd0640
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native_non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native_non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="seq_packet_socket_service::native_non_blocking">
+<link rel="prev" href="overload1.html" title="seq_packet_socket_service::native_non_blocking (1 of 2 overloads)">
+<link rel="next" href="../native_type.html" title="seq_packet_socket_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">seq_packet_socket_service::native_non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/native_type.html b/doc/html/boost_asio/reference/seq_packet_socket_service/native_type.html
new file mode 100644
index 0000000000..9ac8f718ba
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="native_non_blocking/overload2.html" title="seq_packet_socket_service::native_non_blocking (2 of 2 overloads)">
+<link rel="next" href="non_blocking.html" title="seq_packet_socket_service::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.native_type"></a><a class="link" href="native_type.html" title="seq_packet_socket_service::native_type">seq_packet_socket_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163940000"></a>
+(Deprecated: Use native_handle_type.)
+ The native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.seq_packet_socket_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.seq_packet_socket_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking.html b/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking.html
new file mode 100644
index 0000000000..8758d4cbd1
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="native_type.html" title="seq_packet_socket_service::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.non_blocking"></a><a class="link" href="non_blocking.html" title="seq_packet_socket_service::non_blocking">seq_packet_socket_service::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp163952400"></a>
+Gets the non-blocking mode of the
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload2.html" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload1.html b/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload1.html
new file mode 100644
index 0000000000..ccca11d02a
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="seq_packet_socket_service::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="seq_packet_socket_service::non_blocking">
+<link rel="next" href="overload2.html" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.non_blocking.overload1"></a><a class="link" href="overload1.html" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">seq_packet_socket_service::non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload2.html b/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload2.html
new file mode 100644
index 0000000000..d3d02d142e
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="seq_packet_socket_service::non_blocking">
+<link rel="prev" href="overload1.html" title="seq_packet_socket_service::non_blocking (1 of 2 overloads)">
+<link rel="next" href="../open.html" title="seq_packet_socket_service::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.non_blocking.overload2"></a><a class="link" href="overload2.html" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">seq_packet_socket_service::non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/open.html b/doc/html/boost_asio/reference/seq_packet_socket_service/open.html
new file mode 100644
index 0000000000..0dcc83d9f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="non_blocking/overload2.html" title="seq_packet_socket_service::non_blocking (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="seq_packet_socket_service::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.open"></a><a class="link" href="open.html" title="seq_packet_socket_service::open">seq_packet_socket_service::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164006336"></a>
+Open a sequenced packet socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/protocol_type.html b/doc/html/boost_asio/reference/seq_packet_socket_service/protocol_type.html
new file mode 100644
index 0000000000..cfdd654ce8
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="open.html" title="seq_packet_socket_service::open">
+<link rel="next" href="receive.html" title="seq_packet_socket_service::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.protocol_type"></a><a class="link" href="protocol_type.html" title="seq_packet_socket_service::protocol_type">seq_packet_socket_service::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164025184"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.seq_packet_socket_service.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.seq_packet_socket_service.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.seq_packet_socket_service.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/seq_packet_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/receive.html b/doc/html/boost_asio/reference/seq_packet_socket_service/receive.html
new file mode 100644
index 0000000000..4155a6b471
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/receive.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="protocol_type.html" title="seq_packet_socket_service::protocol_type">
+<link rel="next" href="remote_endpoint.html" title="seq_packet_socket_service::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.receive"></a><a class="link" href="receive.html" title="seq_packet_socket_service::receive">seq_packet_socket_service::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164037536"></a>
+Receive some data from the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">in_flags</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="special">&amp;</span> <span class="identifier">out_flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/remote_endpoint.html b/doc/html/boost_asio/reference/seq_packet_socket_service/remote_endpoint.html
new file mode 100644
index 0000000000..7da48bfa78
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/remote_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="receive.html" title="seq_packet_socket_service::receive">
+<link rel="next" href="send.html" title="seq_packet_socket_service::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="seq_packet_socket_service::remote_endpoint">seq_packet_socket_service::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164065216"></a>
+Get the remote endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/send.html b/doc/html/boost_asio/reference/seq_packet_socket_service/send.html
new file mode 100644
index 0000000000..364549d5d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/send.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="remote_endpoint.html" title="seq_packet_socket_service::remote_endpoint">
+<link rel="next" href="seq_packet_socket_service.html" title="seq_packet_socket_service::seq_packet_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.send"></a><a class="link" href="send.html" title="seq_packet_socket_service::send">seq_packet_socket_service::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164080528"></a>
+Send the given data to the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="seq_packet_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/seq_packet_socket_service.html b/doc/html/boost_asio/reference/seq_packet_socket_service/seq_packet_socket_service.html
new file mode 100644
index 0000000000..933cc21602
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/seq_packet_socket_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::seq_packet_socket_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="send.html" title="seq_packet_socket_service::send">
+<link rel="next" href="set_option.html" title="seq_packet_socket_service::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.seq_packet_socket_service"></a><a class="link" href="seq_packet_socket_service.html" title="seq_packet_socket_service::seq_packet_socket_service">seq_packet_socket_service::seq_packet_socket_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164104656"></a>
+Construct a new sequenced
+ packet socket service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">seq_packet_socket_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/set_option.html b/doc/html/boost_asio/reference/seq_packet_socket_service/set_option.html
new file mode 100644
index 0000000000..538d2a256d
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/set_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="seq_packet_socket_service.html" title="seq_packet_socket_service::seq_packet_socket_service">
+<link rel="next" href="shutdown.html" title="seq_packet_socket_service::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="seq_packet_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.set_option"></a><a class="link" href="set_option.html" title="seq_packet_socket_service::set_option">seq_packet_socket_service::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164116704"></a>
+Set a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="seq_packet_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/seq_packet_socket_service/shutdown.html b/doc/html/boost_asio/reference/seq_packet_socket_service/shutdown.html
new file mode 100644
index 0000000000..4dfb18d615
--- /dev/null
+++ b/doc/html/boost_asio/reference/seq_packet_socket_service/shutdown.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>seq_packet_socket_service::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../seq_packet_socket_service.html" title="seq_packet_socket_service">
+<link rel="prev" href="set_option.html" title="seq_packet_socket_service::set_option">
+<link rel="next" href="../serial_port.html" title="serial_port">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.seq_packet_socket_service.shutdown"></a><a class="link" href="shutdown.html" title="seq_packet_socket_service::shutdown">seq_packet_socket_service::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164138704"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../seq_packet_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port.html b/doc/html/boost_asio/reference/serial_port.html
new file mode 100644
index 0000000000..4af40dc2cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port.html
@@ -0,0 +1,512 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="seq_packet_socket_service/shutdown.html" title="seq_packet_socket_service::shutdown">
+<link rel="next" href="serial_port_base.html" title="serial_port_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="seq_packet_socket_service/shutdown.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port"></a><a class="link" href="serial_port.html" title="serial_port">serial_port</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp164157360"></a>
+Typedef for the typical usage of a serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_serial_port</span> <span class="identifier">serial_port</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port.types"></a></span><a class="link" href="serial_port.html#boost_asio.reference.serial_port.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/implementation_type.html" title="basic_serial_port::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/lowest_layer_type.html" title="basic_serial_port::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_serial_port is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native_handle_type.html" title="basic_serial_port::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native_type.html" title="basic_serial_port::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/service_type.html" title="basic_serial_port::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port.member_functions"></a></span><a class="link" href="serial_port.html#boost_asio.reference.serial_port.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/assign.html" title="basic_serial_port::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native serial port to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/async_read_some.html" title="basic_serial_port::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/async_write_some.html" title="basic_serial_port::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/basic_serial_port.html" title="basic_serial_port::basic_serial_port"><span class="bold"><strong>basic_serial_port</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_serial_port without opening it.
+ </p>
+ <p>
+ Construct and open a basic_serial_port.
+ </p>
+ <p>
+ Construct a basic_serial_port on an existing native serial port.
+ </p>
+ <p>
+ Move-construct a basic_serial_port from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/cancel.html" title="basic_serial_port::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/close.html" title="basic_serial_port::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_io_service.html" title="basic_serial_port::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_option.html" title="basic_serial_port::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get an option from the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/is_open.html" title="basic_serial_port::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the serial port is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/lowest_layer.html" title="basic_serial_port::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native.html" title="basic_serial_port::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native serial port representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/native_handle.html" title="basic_serial_port::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native serial port representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/open.html" title="basic_serial_port::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open the serial port using the specified device name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/operator_eq_.html" title="basic_serial_port::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_serial_port from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/read_some.html" title="basic_serial_port::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/send_break.html" title="basic_serial_port::send_break"><span class="bold"><strong>send_break</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a break sequence to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/set_option.html" title="basic_serial_port::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set an option on the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/write_some.html" title="basic_serial_port::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the serial port.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port.protected_member_functions"></a></span><a class="link" href="serial_port.html#boost_asio.reference.serial_port.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_implementation.html" title="basic_serial_port::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/get_service.html" title="basic_serial_port::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port.protected_data_members"></a></span><a class="link" href="serial_port.html#boost_asio.reference.serial_port.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/implementation.html" title="basic_serial_port::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_serial_port/service.html" title="basic_serial_port::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
+ provides functionality that is common to all serial ports.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port.thread_safety"></a></span><a class="link" href="serial_port.html#boost_asio.reference.serial_port.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port.requirements"></a></span><a class="link" href="serial_port.html#boost_asio.reference.serial_port.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="seq_packet_socket_service/shutdown.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base.html b/doc/html/boost_asio/reference/serial_port_base.html
new file mode 100644
index 0000000000..577b1e8ea6
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base.html
@@ -0,0 +1,179 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port.html" title="serial_port">
+<link rel="next" href="serial_port_base/_serial_port_base.html" title="serial_port_base::~serial_port_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base/_serial_port_base.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_base"></a><a class="link" href="serial_port_base.html" title="serial_port_base">serial_port_base</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="serial_port_base.html" title="serial_port_base"><code class="computeroutput"><span class="identifier">serial_port_base</span></code></a>
+ class is used as a base for the <a class="link" href="basic_serial_port.html" title="basic_serial_port"><code class="computeroutput"><span class="identifier">basic_serial_port</span></code></a> class template
+ so that we have a common place to define the serial port options.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">serial_port_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_base.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base.types"></a></span><a class="link" href="serial_port_base.html#boost_asio.reference.serial_port_base.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__baud_rate.html" title="serial_port_base::baud_rate"><span class="bold"><strong>baud_rate</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Serial port option to permit changing the baud rate.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__character_size.html" title="serial_port_base::character_size"><span class="bold"><strong>character_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Serial port option to permit changing the character size.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__flow_control.html" title="serial_port_base::flow_control"><span class="bold"><strong>flow_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Serial port option to permit changing the flow control.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__parity.html" title="serial_port_base::parity"><span class="bold"><strong>parity</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Serial port option to permit changing the parity.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__stop_bits.html" title="serial_port_base::stop_bits"><span class="bold"><strong>stop_bits</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Serial port option to permit changing the number of stop bits.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_base.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base.protected_member_functions"></a></span><a class="link" href="serial_port_base.html#boost_asio.reference.serial_port_base.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base/_serial_port_base.html" title="serial_port_base::~serial_port_base"><span class="bold"><strong>~serial_port_base</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_base.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base.requirements"></a></span><a class="link" href="serial_port_base.html#boost_asio.reference.serial_port_base.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base/_serial_port_base.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base/_serial_port_base.html b/doc/html/boost_asio/reference/serial_port_base/_serial_port_base.html
new file mode 100644
index 0000000000..8943947c77
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base/_serial_port_base.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::~serial_port_base</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base.html" title="serial_port_base">
+<link rel="prev" href="../serial_port_base.html" title="serial_port_base">
+<link rel="next" href="../serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base._serial_port_base"></a><a class="link" href="_serial_port_base.html" title="serial_port_base::~serial_port_base">serial_port_base::~serial_port_base</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164341872"></a>
+Protected destructor to prevent deletion
+ through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">serial_port_base</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__baud_rate.html b/doc/html/boost_asio/reference/serial_port_base__baud_rate.html
new file mode 100644
index 0000000000..2d5f5febf1
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__baud_rate.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::baud_rate</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_base/_serial_port_base.html" title="serial_port_base::~serial_port_base">
+<link rel="next" href="serial_port_base__baud_rate/baud_rate.html" title="serial_port_base::baud_rate::baud_rate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_base/_serial_port_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__baud_rate/baud_rate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_base__baud_rate"></a><a class="link" href="serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">serial_port_base::baud_rate</a>
+</h3></div></div></div>
+<p>
+ Serial port option to permit changing the baud rate.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">baud_rate</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_base__baud_rate.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__baud_rate.member_functions"></a></span><a class="link" href="serial_port_base__baud_rate.html#boost_asio.reference.serial_port_base__baud_rate.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__baud_rate/baud_rate.html" title="serial_port_base::baud_rate::baud_rate"><span class="bold"><strong>baud_rate</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__baud_rate/load.html" title="serial_port_base::baud_rate::load"><span class="bold"><strong>load</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__baud_rate/store.html" title="serial_port_base::baud_rate::store"><span class="bold"><strong>store</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__baud_rate/value.html" title="serial_port_base::baud_rate::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Implements changing the baud rate for a given serial port.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port_base__baud_rate.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__baud_rate.requirements"></a></span><a class="link" href="serial_port_base__baud_rate.html#boost_asio.reference.serial_port_base__baud_rate.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_base/_serial_port_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__baud_rate/baud_rate.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__baud_rate/baud_rate.html b/doc/html/boost_asio/reference/serial_port_base__baud_rate/baud_rate.html
new file mode 100644
index 0000000000..b37e6a9f30
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__baud_rate/baud_rate.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::baud_rate::baud_rate</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">
+<link rel="prev" href="../serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">
+<link rel="next" href="load.html" title="serial_port_base::baud_rate::load">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__baud_rate.baud_rate"></a><a class="link" href="baud_rate.html" title="serial_port_base::baud_rate::baud_rate">serial_port_base::baud_rate::baud_rate</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164377056"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">baud_rate</span><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">rate</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__baud_rate/load.html b/doc/html/boost_asio/reference/serial_port_base__baud_rate/load.html
new file mode 100644
index 0000000000..6713d2d8c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__baud_rate/load.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::baud_rate::load</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">
+<link rel="prev" href="baud_rate.html" title="serial_port_base::baud_rate::baud_rate">
+<link rel="next" href="store.html" title="serial_port_base::baud_rate::store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="baud_rate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__baud_rate.load"></a><a class="link" href="load.html" title="serial_port_base::baud_rate::load">serial_port_base::baud_rate::load</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164386304"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="baud_rate.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__baud_rate/store.html b/doc/html/boost_asio/reference/serial_port_base__baud_rate/store.html
new file mode 100644
index 0000000000..7cc92a3c29
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__baud_rate/store.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::baud_rate::store</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">
+<link rel="prev" href="load.html" title="serial_port_base::baud_rate::load">
+<link rel="next" href="value.html" title="serial_port_base::baud_rate::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__baud_rate.store"></a><a class="link" href="store.html" title="serial_port_base::baud_rate::store">serial_port_base::baud_rate::store</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164402256"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
+ <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__baud_rate/value.html b/doc/html/boost_asio/reference/serial_port_base__baud_rate/value.html
new file mode 100644
index 0000000000..70bd8f6f73
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__baud_rate/value.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::baud_rate::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__baud_rate.html" title="serial_port_base::baud_rate">
+<link rel="prev" href="store.html" title="serial_port_base::baud_rate::store">
+<link rel="next" href="../serial_port_base__character_size.html" title="serial_port_base::character_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__baud_rate.value"></a><a class="link" href="value.html" title="serial_port_base::baud_rate::value">serial_port_base::baud_rate::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164419056"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__baud_rate.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__character_size.html b/doc/html/boost_asio/reference/serial_port_base__character_size.html
new file mode 100644
index 0000000000..cc8a4df169
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__character_size.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::character_size</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_base__baud_rate/value.html" title="serial_port_base::baud_rate::value">
+<link rel="next" href="serial_port_base__character_size/character_size.html" title="serial_port_base::character_size::character_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_base__baud_rate/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__character_size/character_size.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_base__character_size"></a><a class="link" href="serial_port_base__character_size.html" title="serial_port_base::character_size">serial_port_base::character_size</a>
+</h3></div></div></div>
+<p>
+ Serial port option to permit changing the character size.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">character_size</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_base__character_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__character_size.member_functions"></a></span><a class="link" href="serial_port_base__character_size.html#boost_asio.reference.serial_port_base__character_size.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__character_size/character_size.html" title="serial_port_base::character_size::character_size"><span class="bold"><strong>character_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__character_size/load.html" title="serial_port_base::character_size::load"><span class="bold"><strong>load</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__character_size/store.html" title="serial_port_base::character_size::store"><span class="bold"><strong>store</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__character_size/value.html" title="serial_port_base::character_size::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Implements changing the character size for a given serial port.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port_base__character_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__character_size.requirements"></a></span><a class="link" href="serial_port_base__character_size.html#boost_asio.reference.serial_port_base__character_size.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_base__baud_rate/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__character_size/character_size.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__character_size/character_size.html b/doc/html/boost_asio/reference/serial_port_base__character_size/character_size.html
new file mode 100644
index 0000000000..41643802cf
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__character_size/character_size.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::character_size::character_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__character_size.html" title="serial_port_base::character_size">
+<link rel="prev" href="../serial_port_base__character_size.html" title="serial_port_base::character_size">
+<link rel="next" href="load.html" title="serial_port_base::character_size::load">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__character_size.character_size"></a><a class="link" href="character_size.html" title="serial_port_base::character_size::character_size">serial_port_base::character_size::character_size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164456128"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">character_size</span><span class="special">(</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">8</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__character_size/load.html b/doc/html/boost_asio/reference/serial_port_base__character_size/load.html
new file mode 100644
index 0000000000..a67bec3ff2
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__character_size/load.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::character_size::load</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__character_size.html" title="serial_port_base::character_size">
+<link rel="prev" href="character_size.html" title="serial_port_base::character_size::character_size">
+<link rel="next" href="store.html" title="serial_port_base::character_size::store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="character_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__character_size.load"></a><a class="link" href="load.html" title="serial_port_base::character_size::load">serial_port_base::character_size::load</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164465392"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="character_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__character_size/store.html b/doc/html/boost_asio/reference/serial_port_base__character_size/store.html
new file mode 100644
index 0000000000..027ff619bc
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__character_size/store.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::character_size::store</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__character_size.html" title="serial_port_base::character_size">
+<link rel="prev" href="load.html" title="serial_port_base::character_size::load">
+<link rel="next" href="value.html" title="serial_port_base::character_size::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__character_size.store"></a><a class="link" href="store.html" title="serial_port_base::character_size::store">serial_port_base::character_size::store</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164481568"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
+ <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__character_size/value.html b/doc/html/boost_asio/reference/serial_port_base__character_size/value.html
new file mode 100644
index 0000000000..ba67ef4d10
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__character_size/value.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::character_size::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__character_size.html" title="serial_port_base::character_size">
+<link rel="prev" href="store.html" title="serial_port_base::character_size::store">
+<link rel="next" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__character_size.value"></a><a class="link" href="value.html" title="serial_port_base::character_size::value">serial_port_base::character_size::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164498272"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__character_size.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__flow_control.html b/doc/html/boost_asio/reference/serial_port_base__flow_control.html
new file mode 100644
index 0000000000..f7936c62ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__flow_control.html
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::flow_control</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_base__character_size/value.html" title="serial_port_base::character_size::value">
+<link rel="next" href="serial_port_base__flow_control/flow_control.html" title="serial_port_base::flow_control::flow_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_base__character_size/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__flow_control/flow_control.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_base__flow_control"></a><a class="link" href="serial_port_base__flow_control.html" title="serial_port_base::flow_control">serial_port_base::flow_control</a>
+</h3></div></div></div>
+<p>
+ Serial port option to permit changing the flow control.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">flow_control</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_base__flow_control.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.types"></a></span><a class="link" href="serial_port_base__flow_control.html#boost_asio.reference.serial_port_base__flow_control.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__flow_control/type.html" title="serial_port_base::flow_control::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_base__flow_control.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.member_functions"></a></span><a class="link" href="serial_port_base__flow_control.html#boost_asio.reference.serial_port_base__flow_control.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__flow_control/flow_control.html" title="serial_port_base::flow_control::flow_control"><span class="bold"><strong>flow_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__flow_control/load.html" title="serial_port_base::flow_control::load"><span class="bold"><strong>load</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__flow_control/store.html" title="serial_port_base::flow_control::store"><span class="bold"><strong>store</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__flow_control/value.html" title="serial_port_base::flow_control::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Implements changing the flow control for a given serial port.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port_base__flow_control.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.requirements"></a></span><a class="link" href="serial_port_base__flow_control.html#boost_asio.reference.serial_port_base__flow_control.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_base__character_size/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__flow_control/flow_control.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__flow_control/flow_control.html b/doc/html/boost_asio/reference/serial_port_base__flow_control/flow_control.html
new file mode 100644
index 0000000000..74c1db8041
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__flow_control/flow_control.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::flow_control::flow_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+<link rel="prev" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+<link rel="next" href="load.html" title="serial_port_base::flow_control::load">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__flow_control.flow_control"></a><a class="link" href="flow_control.html" title="serial_port_base::flow_control::flow_control">serial_port_base::flow_control::flow_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164545280"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">flow_control</span><span class="special">(</span>
+ <span class="identifier">type</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">none</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__flow_control/load.html b/doc/html/boost_asio/reference/serial_port_base__flow_control/load.html
new file mode 100644
index 0000000000..0da232fb3a
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__flow_control/load.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::flow_control::load</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+<link rel="prev" href="flow_control.html" title="serial_port_base::flow_control::flow_control">
+<link rel="next" href="store.html" title="serial_port_base::flow_control::store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="flow_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__flow_control.load"></a><a class="link" href="load.html" title="serial_port_base::flow_control::load">serial_port_base::flow_control::load</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164553872"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="flow_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__flow_control/store.html b/doc/html/boost_asio/reference/serial_port_base__flow_control/store.html
new file mode 100644
index 0000000000..2eb30817dc
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__flow_control/store.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::flow_control::store</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+<link rel="prev" href="load.html" title="serial_port_base::flow_control::load">
+<link rel="next" href="type.html" title="serial_port_base::flow_control::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__flow_control.store"></a><a class="link" href="store.html" title="serial_port_base::flow_control::store">serial_port_base::flow_control::store</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164570112"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
+ <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__flow_control/type.html b/doc/html/boost_asio/reference/serial_port_base__flow_control/type.html
new file mode 100644
index 0000000000..9d8f06a7eb
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__flow_control/type.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::flow_control::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+<link rel="prev" href="store.html" title="serial_port_base::flow_control::store">
+<link rel="next" href="value.html" title="serial_port_base::flow_control::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__flow_control.type"></a><a class="link" href="type.html" title="serial_port_base::flow_control::type">serial_port_base::flow_control::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164586816"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp164590368"></a>
+ <a class="indexterm" name="idp164591488"></a>
+ <a class="indexterm" name="idp164592608"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.serial_port_base__flow_control.type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__flow_control.type.values"></a></span><a class="link" href="type.html#boost_asio.reference.serial_port_base__flow_control.type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">none</span></dt>
+<dd></dd>
+<dt><span class="term">software</span></dt>
+<dd></dd>
+<dt><span class="term">hardware</span></dt>
+<dd></dd>
+</dl>
+</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 &#169; 2003-2017 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="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__flow_control/value.html b/doc/html/boost_asio/reference/serial_port_base__flow_control/value.html
new file mode 100644
index 0000000000..2f6b40fc9c
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__flow_control/value.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::flow_control::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__flow_control.html" title="serial_port_base::flow_control">
+<link rel="prev" href="type.html" title="serial_port_base::flow_control::type">
+<link rel="next" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__flow_control.value"></a><a class="link" href="value.html" title="serial_port_base::flow_control::value">serial_port_base::flow_control::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164603088"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__flow_control.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__parity.html b/doc/html/boost_asio/reference/serial_port_base__parity.html
new file mode 100644
index 0000000000..88e919c352
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__parity.html
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::parity</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_base__flow_control/value.html" title="serial_port_base::flow_control::value">
+<link rel="next" href="serial_port_base__parity/load.html" title="serial_port_base::parity::load">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_base__flow_control/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__parity/load.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_base__parity"></a><a class="link" href="serial_port_base__parity.html" title="serial_port_base::parity">serial_port_base::parity</a>
+</h3></div></div></div>
+<p>
+ Serial port option to permit changing the parity.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">parity</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_base__parity.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.types"></a></span><a class="link" href="serial_port_base__parity.html#boost_asio.reference.serial_port_base__parity.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__parity/type.html" title="serial_port_base::parity::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_base__parity.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.member_functions"></a></span><a class="link" href="serial_port_base__parity.html#boost_asio.reference.serial_port_base__parity.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__parity/load.html" title="serial_port_base::parity::load"><span class="bold"><strong>load</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__parity/parity.html" title="serial_port_base::parity::parity"><span class="bold"><strong>parity</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__parity/store.html" title="serial_port_base::parity::store"><span class="bold"><strong>store</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__parity/value.html" title="serial_port_base::parity::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Implements changing the parity for a given serial port.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port_base__parity.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.requirements"></a></span><a class="link" href="serial_port_base__parity.html#boost_asio.reference.serial_port_base__parity.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_base__flow_control/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__parity/load.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__parity/load.html b/doc/html/boost_asio/reference/serial_port_base__parity/load.html
new file mode 100644
index 0000000000..8635f9a1ab
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__parity/load.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::parity::load</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+<link rel="prev" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+<link rel="next" href="parity.html" title="serial_port_base::parity::parity">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="parity.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__parity.load"></a><a class="link" href="load.html" title="serial_port_base::parity::load">serial_port_base::parity::load</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164649200"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="parity.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__parity/parity.html b/doc/html/boost_asio/reference/serial_port_base__parity/parity.html
new file mode 100644
index 0000000000..6296413ab1
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__parity/parity.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::parity::parity</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+<link rel="prev" href="load.html" title="serial_port_base::parity::load">
+<link rel="next" href="store.html" title="serial_port_base::parity::store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__parity.parity"></a><a class="link" href="parity.html" title="serial_port_base::parity::parity">serial_port_base::parity::parity</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164665216"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">parity</span><span class="special">(</span>
+ <span class="identifier">type</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">none</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__parity/store.html b/doc/html/boost_asio/reference/serial_port_base__parity/store.html
new file mode 100644
index 0000000000..58e8d44692
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__parity/store.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::parity::store</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+<link rel="prev" href="parity.html" title="serial_port_base::parity::parity">
+<link rel="next" href="type.html" title="serial_port_base::parity::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__parity.store"></a><a class="link" href="store.html" title="serial_port_base::parity::store">serial_port_base::parity::store</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164673808"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
+ <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="parity.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__parity/type.html b/doc/html/boost_asio/reference/serial_port_base__parity/type.html
new file mode 100644
index 0000000000..0b71a9f400
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__parity/type.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::parity::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+<link rel="prev" href="store.html" title="serial_port_base::parity::store">
+<link rel="next" href="value.html" title="serial_port_base::parity::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__parity.type"></a><a class="link" href="type.html" title="serial_port_base::parity::type">serial_port_base::parity::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164690448"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp164693936"></a>
+ <a class="indexterm" name="idp164695056"></a>
+ <a class="indexterm" name="idp164696192"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.serial_port_base__parity.type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__parity.type.values"></a></span><a class="link" href="type.html#boost_asio.reference.serial_port_base__parity.type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">none</span></dt>
+<dd></dd>
+<dt><span class="term">odd</span></dt>
+<dd></dd>
+<dt><span class="term">even</span></dt>
+<dd></dd>
+</dl>
+</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 &#169; 2003-2017 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="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__parity/value.html b/doc/html/boost_asio/reference/serial_port_base__parity/value.html
new file mode 100644
index 0000000000..eb6c130844
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__parity/value.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::parity::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__parity.html" title="serial_port_base::parity">
+<link rel="prev" href="type.html" title="serial_port_base::parity::type">
+<link rel="next" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__parity.value"></a><a class="link" href="value.html" title="serial_port_base::parity::value">serial_port_base::parity::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164706624"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__parity.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__stop_bits.html b/doc/html/boost_asio/reference/serial_port_base__stop_bits.html
new file mode 100644
index 0000000000..56bf546313
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__stop_bits.html
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::stop_bits</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_base__parity/value.html" title="serial_port_base::parity::value">
+<link rel="next" href="serial_port_base__stop_bits/load.html" title="serial_port_base::stop_bits::load">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_base__parity/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__stop_bits/load.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_base__stop_bits"></a><a class="link" href="serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">serial_port_base::stop_bits</a>
+</h3></div></div></div>
+<p>
+ Serial port option to permit changing the number of stop bits.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stop_bits</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_base__stop_bits.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.types"></a></span><a class="link" href="serial_port_base__stop_bits.html#boost_asio.reference.serial_port_base__stop_bits.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__stop_bits/type.html" title="serial_port_base::stop_bits::type"><span class="bold"><strong>type</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_base__stop_bits.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.member_functions"></a></span><a class="link" href="serial_port_base__stop_bits.html#boost_asio.reference.serial_port_base__stop_bits.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__stop_bits/load.html" title="serial_port_base::stop_bits::load"><span class="bold"><strong>load</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__stop_bits/stop_bits.html" title="serial_port_base::stop_bits::stop_bits"><span class="bold"><strong>stop_bits</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__stop_bits/store.html" title="serial_port_base::stop_bits::store"><span class="bold"><strong>store</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_base__stop_bits/value.html" title="serial_port_base::stop_bits::value"><span class="bold"><strong>value</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Implements changing the number of stop bits for a given serial port.
+ </p>
+<h5>
+<a name="boost_asio.reference.serial_port_base__stop_bits.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.requirements"></a></span><a class="link" href="serial_port_base__stop_bits.html#boost_asio.reference.serial_port_base__stop_bits.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_base__parity/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_base__stop_bits/load.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__stop_bits/load.html b/doc/html/boost_asio/reference/serial_port_base__stop_bits/load.html
new file mode 100644
index 0000000000..10abe29799
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__stop_bits/load.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::stop_bits::load</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+<link rel="prev" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+<link rel="next" href="stop_bits.html" title="serial_port_base::stop_bits::stop_bits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stop_bits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__stop_bits.load"></a><a class="link" href="load.html" title="serial_port_base::stop_bits::load">serial_port_base::stop_bits::load</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164752720"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stop_bits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__stop_bits/stop_bits.html b/doc/html/boost_asio/reference/serial_port_base__stop_bits/stop_bits.html
new file mode 100644
index 0000000000..6df49491a5
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__stop_bits/stop_bits.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::stop_bits::stop_bits</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+<link rel="prev" href="load.html" title="serial_port_base::stop_bits::load">
+<link rel="next" href="store.html" title="serial_port_base::stop_bits::store">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__stop_bits.stop_bits"></a><a class="link" href="stop_bits.html" title="serial_port_base::stop_bits::stop_bits">serial_port_base::stop_bits::stop_bits</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164768928"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">stop_bits</span><span class="special">(</span>
+ <span class="identifier">type</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">one</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="load.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="store.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__stop_bits/store.html b/doc/html/boost_asio/reference/serial_port_base__stop_bits/store.html
new file mode 100644
index 0000000000..173335b8bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__stop_bits/store.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::stop_bits::store</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+<link rel="prev" href="stop_bits.html" title="serial_port_base::stop_bits::stop_bits">
+<link rel="next" href="type.html" title="serial_port_base::stop_bits::type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stop_bits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__stop_bits.store"></a><a class="link" href="store.html" title="serial_port_base::stop_bits::store">serial_port_base::stop_bits::store</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164777504"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">store</span><span class="special">(</span>
+ <span class="identifier">BOOST_ASIO_OPTION_STORAGE</span> <span class="special">&amp;</span> <span class="identifier">storage</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="stop_bits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__stop_bits/type.html b/doc/html/boost_asio/reference/serial_port_base__stop_bits/type.html
new file mode 100644
index 0000000000..9da9717d38
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__stop_bits/type.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::stop_bits::type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+<link rel="prev" href="store.html" title="serial_port_base::stop_bits::store">
+<link rel="next" href="value.html" title="serial_port_base::stop_bits::value">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__stop_bits.type"></a><a class="link" href="type.html" title="serial_port_base::stop_bits::type">serial_port_base::stop_bits::type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164794208"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp164797664"></a>
+ <a class="indexterm" name="idp164798672"></a>
+ <a class="indexterm" name="idp164799760"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.serial_port_base__stop_bits.type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_base__stop_bits.type.values"></a></span><a class="link" href="type.html#boost_asio.reference.serial_port_base__stop_bits.type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">one</span></dt>
+<dd></dd>
+<dt><span class="term">onepointfive</span></dt>
+<dd></dd>
+<dt><span class="term">two</span></dt>
+<dd></dd>
+</dl>
+</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 &#169; 2003-2017 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="store.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_base__stop_bits/value.html b/doc/html/boost_asio/reference/serial_port_base__stop_bits/value.html
new file mode 100644
index 0000000000..882ee7b373
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_base__stop_bits/value.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_base::stop_bits::value</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_base__stop_bits.html" title="serial_port_base::stop_bits">
+<link rel="prev" href="type.html" title="serial_port_base::stop_bits::type">
+<link rel="next" href="../serial_port_service.html" title="serial_port_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_base__stop_bits.value"></a><a class="link" href="value.html" title="serial_port_base::stop_bits::value">serial_port_base::stop_bits::value</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164810272"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">type</span> <span class="identifier">value</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_base__stop_bits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../serial_port_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service.html b/doc/html/boost_asio/reference/serial_port_service.html
new file mode 100644
index 0000000000..79f0a73e3f
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service.html
@@ -0,0 +1,418 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_base__stop_bits/value.html" title="serial_port_base::stop_bits::value">
+<link rel="next" href="serial_port_service/assign.html" title="serial_port_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_base__stop_bits/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.serial_port_service"></a><a class="link" href="serial_port_service.html" title="serial_port_service">serial_port_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a serial port.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">serial_port_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.serial_port_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.types"></a></span><a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/implementation_type.html" title="serial_port_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a serial port implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/native_handle_type.html" title="serial_port_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/native_type.html" title="serial_port_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native handle type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.member_functions"></a></span><a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/assign.html" title="serial_port_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/async_read_some.html" title="serial_port_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/async_write_some.html" title="serial_port_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/cancel.html" title="serial_port_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/close.html" title="serial_port_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a serial port implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/construct.html" title="serial_port_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new serial port implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/destroy.html" title="serial_port_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a serial port implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/get_io_service.html" title="serial_port_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/get_option.html" title="serial_port_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a serial port option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/is_open.html" title="serial_port_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/move_assign.html" title="serial_port_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another serial port implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/move_construct.html" title="serial_port_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new serial port implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/native.html" title="serial_port_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/native_handle.html" title="serial_port_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/open.html" title="serial_port_service::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open a serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/read_some.html" title="serial_port_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/send_break.html" title="serial_port_service::send_break"><span class="bold"><strong>send_break</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send a break sequence to the serial port.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/serial_port_service.html" title="serial_port_service::serial_port_service"><span class="bold"><strong>serial_port_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new serial port service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/set_option.html" title="serial_port_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set a serial port option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/write_some.html" title="serial_port_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data to the stream.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.data_members"></a></span><a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="serial_port_service/id.html" title="serial_port_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.serial_port_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.requirements"></a></span><a class="link" href="serial_port_service.html#boost_asio.reference.serial_port_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_base__stop_bits/value.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/assign.html b/doc/html/boost_asio/reference/serial_port_service/assign.html
new file mode 100644
index 0000000000..1f116f2c5a
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/assign.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="../serial_port_service.html" title="serial_port_service">
+<link rel="next" href="async_read_some.html" title="serial_port_service::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../serial_port_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.assign"></a><a class="link" href="assign.html" title="serial_port_service::assign">serial_port_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164933712"></a>
+Assign an existing native handle to a serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../serial_port_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/async_read_some.html b/doc/html/boost_asio/reference/serial_port_service/async_read_some.html
new file mode 100644
index 0000000000..af561b7106
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/async_read_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="assign.html" title="serial_port_service::assign">
+<link rel="next" href="async_write_some.html" title="serial_port_service::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.async_read_some"></a><a class="link" href="async_read_some.html" title="serial_port_service::async_read_some">serial_port_service::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164952704"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/async_write_some.html b/doc/html/boost_asio/reference/serial_port_service/async_write_some.html
new file mode 100644
index 0000000000..a155a2d867
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/async_write_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="async_read_some.html" title="serial_port_service::async_read_some">
+<link rel="next" href="cancel.html" title="serial_port_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.async_write_some"></a><a class="link" href="async_write_some.html" title="serial_port_service::async_write_some">serial_port_service::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164972320"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/cancel.html b/doc/html/boost_asio/reference/serial_port_service/cancel.html
new file mode 100644
index 0000000000..b0c39a748c
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="async_write_some.html" title="serial_port_service::async_write_some">
+<link rel="next" href="close.html" title="serial_port_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.cancel"></a><a class="link" href="cancel.html" title="serial_port_service::cancel">serial_port_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp164991872"></a>
+Cancel all asynchronous operations associated
+ with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/close.html b/doc/html/boost_asio/reference/serial_port_service/close.html
new file mode 100644
index 0000000000..70b60e3284
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="cancel.html" title="serial_port_service::cancel">
+<link rel="next" href="construct.html" title="serial_port_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.close"></a><a class="link" href="close.html" title="serial_port_service::close">serial_port_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165007424"></a>
+Close a serial port implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/construct.html b/doc/html/boost_asio/reference/serial_port_service/construct.html
new file mode 100644
index 0000000000..f7ab15473b
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="close.html" title="serial_port_service::close">
+<link rel="next" href="destroy.html" title="serial_port_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.construct"></a><a class="link" href="construct.html" title="serial_port_service::construct">serial_port_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165022880"></a>
+Construct a new serial port implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/destroy.html b/doc/html/boost_asio/reference/serial_port_service/destroy.html
new file mode 100644
index 0000000000..e821fab1c3
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="construct.html" title="serial_port_service::construct">
+<link rel="next" href="get_io_service.html" title="serial_port_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.destroy"></a><a class="link" href="destroy.html" title="serial_port_service::destroy">serial_port_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165031488"></a>
+Destroy a serial port implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/get_io_service.html b/doc/html/boost_asio/reference/serial_port_service/get_io_service.html
new file mode 100644
index 0000000000..8521c3d474
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="destroy.html" title="serial_port_service::destroy">
+<link rel="next" href="get_option.html" title="serial_port_service::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.get_io_service"></a><a class="link" href="get_io_service.html" title="serial_port_service::get_io_service">serial_port_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp165040848"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/get_option.html b/doc/html/boost_asio/reference/serial_port_service/get_option.html
new file mode 100644
index 0000000000..30c1bbc4b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/get_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="get_io_service.html" title="serial_port_service::get_io_service">
+<link rel="next" href="id.html" title="serial_port_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.get_option"></a><a class="link" href="get_option.html" title="serial_port_service::get_option">serial_port_service::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165051472"></a>
+Get a serial port option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSerialPortOption.html" title="Gettable serial port option requirements">GettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">GettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/id.html b/doc/html/boost_asio/reference/serial_port_service/id.html
new file mode 100644
index 0000000000..b6b2256c05
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="get_option.html" title="serial_port_service::get_option">
+<link rel="next" href="implementation_type.html" title="serial_port_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.id"></a><a class="link" href="id.html" title="serial_port_service::id">serial_port_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165074624"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/implementation_type.html b/doc/html/boost_asio/reference/serial_port_service/implementation_type.html
new file mode 100644
index 0000000000..0d1c120238
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/implementation_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="id.html" title="serial_port_service::id">
+<link rel="next" href="is_open.html" title="serial_port_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.implementation_type"></a><a class="link" href="implementation_type.html" title="serial_port_service::implementation_type">serial_port_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165084624"></a>
+The type of a serial port implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.serial_port_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.serial_port_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/is_open.html b/doc/html/boost_asio/reference/serial_port_service/is_open.html
new file mode 100644
index 0000000000..6c34ab33ff
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="implementation_type.html" title="serial_port_service::implementation_type">
+<link rel="next" href="move_assign.html" title="serial_port_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.is_open"></a><a class="link" href="is_open.html" title="serial_port_service::is_open">serial_port_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165097040"></a>
+Determine whether the handle is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/move_assign.html b/doc/html/boost_asio/reference/serial_port_service/move_assign.html
new file mode 100644
index 0000000000..e7719582e1
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/move_assign.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="is_open.html" title="serial_port_service::is_open">
+<link rel="next" href="move_construct.html" title="serial_port_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.move_assign"></a><a class="link" href="move_assign.html" title="serial_port_service::move_assign">serial_port_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165107488"></a>
+Move-assign from another serial port implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">serial_port_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/move_construct.html b/doc/html/boost_asio/reference/serial_port_service/move_construct.html
new file mode 100644
index 0000000000..cdc07fef28
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/move_construct.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="move_assign.html" title="serial_port_service::move_assign">
+<link rel="next" href="native.html" title="serial_port_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.move_construct"></a><a class="link" href="move_construct.html" title="serial_port_service::move_construct">serial_port_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165121152"></a>
+Move-construct a new serial port implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/native.html b/doc/html/boost_asio/reference/serial_port_service/native.html
new file mode 100644
index 0000000000..52163bc9f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="move_construct.html" title="serial_port_service::move_construct">
+<link rel="next" href="native_handle.html" title="serial_port_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.native"></a><a class="link" href="native.html" title="serial_port_service::native">serial_port_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165132304"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/native_handle.html b/doc/html/boost_asio/reference/serial_port_service/native_handle.html
new file mode 100644
index 0000000000..9ed7e2ab9e
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="native.html" title="serial_port_service::native">
+<link rel="next" href="native_handle_type.html" title="serial_port_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.native_handle"></a><a class="link" href="native_handle.html" title="serial_port_service::native_handle">serial_port_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165142640"></a>
+Get the native handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/native_handle_type.html b/doc/html/boost_asio/reference/serial_port_service/native_handle_type.html
new file mode 100644
index 0000000000..c929f47247
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="native_handle.html" title="serial_port_service::native_handle">
+<link rel="next" href="native_type.html" title="serial_port_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="serial_port_service::native_handle_type">serial_port_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165151264"></a>
+The native handle type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.serial_port_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.serial_port_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/native_type.html b/doc/html/boost_asio/reference/serial_port_service/native_type.html
new file mode 100644
index 0000000000..1558966b50
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="native_handle_type.html" title="serial_port_service::native_handle_type">
+<link rel="next" href="open.html" title="serial_port_service::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.native_type"></a><a class="link" href="native_type.html" title="serial_port_service::native_type">serial_port_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165163648"></a>
+(Deprecated: Use native_handle_type.) The
+ native handle type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.serial_port_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.serial_port_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.serial_port_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/serial_port_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/open.html b/doc/html/boost_asio/reference/serial_port_service/open.html
new file mode 100644
index 0000000000..ea73fc7674
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="native_type.html" title="serial_port_service::native_type">
+<link rel="next" href="read_some.html" title="serial_port_service::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.open"></a><a class="link" href="open.html" title="serial_port_service::open">serial_port_service::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165175920"></a>
+Open a serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">device</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/read_some.html b/doc/html/boost_asio/reference/serial_port_service/read_some.html
new file mode 100644
index 0000000000..0c0c45a359
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/read_some.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="open.html" title="serial_port_service::open">
+<link rel="next" href="send_break.html" title="serial_port_service::send_break">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_break.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.read_some"></a><a class="link" href="read_some.html" title="serial_port_service::read_some">serial_port_service::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165195696"></a>
+Read some data from the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_break.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/send_break.html b/doc/html/boost_asio/reference/serial_port_service/send_break.html
new file mode 100644
index 0000000000..f8c509fc0c
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/send_break.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::send_break</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="read_some.html" title="serial_port_service::read_some">
+<link rel="next" href="serial_port_service.html" title="serial_port_service::serial_port_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.send_break"></a><a class="link" href="send_break.html" title="serial_port_service::send_break">serial_port_service::send_break</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165216576"></a>
+Send a break sequence to the serial port.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">send_break</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="serial_port_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/serial_port_service.html b/doc/html/boost_asio/reference/serial_port_service/serial_port_service.html
new file mode 100644
index 0000000000..c03eb28a4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/serial_port_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::serial_port_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="send_break.html" title="serial_port_service::send_break">
+<link rel="next" href="set_option.html" title="serial_port_service::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_break.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.serial_port_service"></a><a class="link" href="serial_port_service.html" title="serial_port_service::serial_port_service">serial_port_service::serial_port_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165232224"></a>
+Construct a new serial port service
+ for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">serial_port_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send_break.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/set_option.html b/doc/html/boost_asio/reference/serial_port_service/set_option.html
new file mode 100644
index 0000000000..0262138326
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/set_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="serial_port_service.html" title="serial_port_service::serial_port_service">
+<link rel="next" href="write_some.html" title="serial_port_service::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.set_option"></a><a class="link" href="set_option.html" title="serial_port_service::set_option">serial_port_service::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165244128"></a>
+Set a serial port option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSerialPortOption.html" title="Settable serial port option requirements">SettableSerialPortOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSerialPortOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="serial_port_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/serial_port_service/write_some.html b/doc/html/boost_asio/reference/serial_port_service/write_some.html
new file mode 100644
index 0000000000..3a6111f1d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/serial_port_service/write_some.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>serial_port_service::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../serial_port_service.html" title="serial_port_service">
+<link rel="prev" href="set_option.html" title="serial_port_service::set_option">
+<link rel="next" href="../service_already_exists.html" title="service_already_exists">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service_already_exists.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.serial_port_service.write_some"></a><a class="link" href="write_some.html" title="serial_port_service::write_some">serial_port_service::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165266240"></a>
+Write the given data to the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../serial_port_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service_already_exists.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/service_already_exists.html b/doc/html/boost_asio/reference/service_already_exists.html
new file mode 100644
index 0000000000..03b5c19222
--- /dev/null
+++ b/doc/html/boost_asio/reference/service_already_exists.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>service_already_exists</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="serial_port_service/write_some.html" title="serial_port_service::write_some">
+<link rel="next" href="service_already_exists/service_already_exists.html" title="service_already_exists::service_already_exists">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="serial_port_service/write_some.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_already_exists/service_already_exists.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.service_already_exists"></a><a class="link" href="service_already_exists.html" title="service_already_exists">service_already_exists</a>
+</h3></div></div></div>
+<p>
+ Exception thrown when trying to add a duplicate service to an <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">service_already_exists</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.service_already_exists.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.service_already_exists.member_functions"></a></span><a class="link" href="service_already_exists.html#boost_asio.reference.service_already_exists.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="service_already_exists/service_already_exists.html" title="service_already_exists::service_already_exists"><span class="bold"><strong>service_already_exists</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.service_already_exists.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.service_already_exists.requirements"></a></span><a class="link" href="service_already_exists.html#boost_asio.reference.service_already_exists.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="serial_port_service/write_some.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_already_exists/service_already_exists.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/service_already_exists/service_already_exists.html b/doc/html/boost_asio/reference/service_already_exists/service_already_exists.html
new file mode 100644
index 0000000000..50f51338b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/service_already_exists/service_already_exists.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>service_already_exists::service_already_exists</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../service_already_exists.html" title="service_already_exists">
+<link rel="prev" href="../service_already_exists.html" title="service_already_exists">
+<link rel="next" href="../signal_set.html" title="signal_set">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../service_already_exists.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../service_already_exists.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../signal_set.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.service_already_exists.service_already_exists"></a><a class="link" href="service_already_exists.html" title="service_already_exists::service_already_exists">service_already_exists::service_already_exists</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165308944"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">service_already_exists</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../service_already_exists.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../service_already_exists.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../signal_set.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set.html b/doc/html/boost_asio/reference/signal_set.html
new file mode 100644
index 0000000000..8a7b20b69e
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set.html
@@ -0,0 +1,411 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="service_already_exists/service_already_exists.html" title="service_already_exists::service_already_exists">
+<link rel="next" href="signal_set_service.html" title="signal_set_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_already_exists/service_already_exists.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal_set_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.signal_set"></a><a class="link" href="signal_set.html" title="signal_set">signal_set</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp165314304"></a>
+Typedef for the typical usage of a signal set.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_signal_set</span> <span class="identifier">signal_set</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.signal_set.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.types"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/implementation_type.html" title="basic_signal_set::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/service_type.html" title="basic_signal_set::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.signal_set.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.member_functions"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/add.html" title="basic_signal_set::add"><span class="bold"><strong>add</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add a signal to a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/async_wait.html" title="basic_signal_set::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous operation to wait for a signal to be delivered.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/basic_signal_set.html" title="basic_signal_set::basic_signal_set"><span class="bold"><strong>basic_signal_set</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a signal set without adding any signals.
+ </p>
+ <p>
+ Construct a signal set and add one signal.
+ </p>
+ <p>
+ Construct a signal set and add two signals.
+ </p>
+ <p>
+ Construct a signal set and add three signals.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/cancel.html" title="basic_signal_set::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all operations associated with the signal set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/clear.html" title="basic_signal_set::clear"><span class="bold"><strong>clear</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove all signals from a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/get_io_service.html" title="basic_signal_set::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/remove.html" title="basic_signal_set::remove"><span class="bold"><strong>remove</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove a signal from a signal_set.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.signal_set.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.protected_member_functions"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/get_implementation.html" title="basic_signal_set::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/get_service.html" title="basic_signal_set::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.signal_set.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.protected_data_members"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/implementation.html" title="basic_signal_set::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_signal_set/service.html" title="basic_signal_set::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_signal_set.html" title="basic_signal_set"><code class="computeroutput"><span class="identifier">basic_signal_set</span></code></a>
+ class template provides the ability to perform an asynchronous wait for one
+ or more signals to occur.
+ </p>
+<p>
+ Most applications will use the <a class="link" href="signal_set.html" title="signal_set"><code class="computeroutput"><span class="identifier">signal_set</span></code></a> typedef.
+ </p>
+<h5>
+<a name="boost_asio.reference.signal_set.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.thread_safety"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.signal_set.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.example"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.example">Example</a>
+ </h5>
+<p>
+ Performing an asynchronous wait:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// A signal occurred.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a signal set registered for process termination.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">signal_set</span> <span class="identifier">signals</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">SIGINT</span><span class="special">,</span> <span class="identifier">SIGTERM</span><span class="special">);</span>
+
+<span class="comment">// Start an asynchronous wait for one of the signals to occur.</span>
+<span class="identifier">signals</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.signal_set.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.queueing_of_signal_notifications"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.queueing_of_signal_notifications">Queueing
+ of signal notifications</a>
+ </h5>
+<p>
+ If a signal is registered with a signal_set, and the signal occurs when there
+ are no waiting handlers, then the signal notification is queued. The next
+ async_wait operation on that signal_set will dequeue the notification. If
+ multiple notifications are queued, subsequent async_wait operations dequeue
+ them one at a time. Signal notifications are dequeued in order of ascending
+ signal number.
+ </p>
+<p>
+ If a signal number is removed from a signal_set (using the <code class="computeroutput"><span class="identifier">remove</span></code> or <code class="computeroutput"><span class="identifier">erase</span></code>
+ member functions) then any queued notifications for that signal are discarded.
+ </p>
+<h5>
+<a name="boost_asio.reference.signal_set.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.multiple_registration_of_signals"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.multiple_registration_of_signals">Multiple
+ registration of signals</a>
+ </h5>
+<p>
+ The same signal number may be registered with different signal_set objects.
+ When the signal occurs, one handler is called for each signal_set object.
+ </p>
+<p>
+ Note that multiple registration only works for signals that are registered
+ using Asio. The application must not also register a signal handler using
+ functions such as <code class="computeroutput"><span class="identifier">signal</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">sigaction</span><span class="special">()</span></code>.
+ </p>
+<h5>
+<a name="boost_asio.reference.signal_set.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.signal_masking_on_posix_platforms"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.signal_masking_on_posix_platforms">Signal
+ masking on POSIX platforms</a>
+ </h5>
+<p>
+ POSIX allows signals to be blocked using functions such as <code class="computeroutput"><span class="identifier">sigprocmask</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">pthread_sigmask</span><span class="special">()</span></code>.
+ For signals to be delivered, programs must ensure that any signals registered
+ using signal_set objects are unblocked in at least one thread.
+ </p>
+<h5>
+<a name="boost_asio.reference.signal_set.h9"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set.requirements"></a></span><a class="link" href="signal_set.html#boost_asio.reference.signal_set.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/signal_set.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service_already_exists/service_already_exists.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal_set_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service.html b/doc/html/boost_asio/reference/signal_set_service.html
new file mode 100644
index 0000000000..91c270b964
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service.html
@@ -0,0 +1,257 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="signal_set.html" title="signal_set">
+<link rel="next" href="signal_set_service/add.html" title="signal_set_service::add">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signal_set.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal_set_service/add.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.signal_set_service"></a><a class="link" href="signal_set_service.html" title="signal_set_service">signal_set_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a signal set.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">signal_set_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.signal_set_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set_service.types"></a></span><a class="link" href="signal_set_service.html#boost_asio.reference.signal_set_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/implementation_type.html" title="signal_set_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a signal set implementation.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.signal_set_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set_service.member_functions"></a></span><a class="link" href="signal_set_service.html#boost_asio.reference.signal_set_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/add.html" title="signal_set_service::add"><span class="bold"><strong>add</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add a signal to a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/async_wait.html" title="signal_set_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/cancel.html" title="signal_set_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all operations associated with the signal set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/clear.html" title="signal_set_service::clear"><span class="bold"><strong>clear</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove all signals from a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/construct.html" title="signal_set_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new signal set implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/destroy.html" title="signal_set_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a signal set implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/get_io_service.html" title="signal_set_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/remove.html" title="signal_set_service::remove"><span class="bold"><strong>remove</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove a signal to a signal_set.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/signal_set_service.html" title="signal_set_service::signal_set_service"><span class="bold"><strong>signal_set_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new signal set service for the specified io_service.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.signal_set_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set_service.data_members"></a></span><a class="link" href="signal_set_service.html#boost_asio.reference.signal_set_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="signal_set_service/id.html" title="signal_set_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.signal_set_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set_service.requirements"></a></span><a class="link" href="signal_set_service.html#boost_asio.reference.signal_set_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/signal_set_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="signal_set.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal_set_service/add.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/add.html b/doc/html/boost_asio/reference/signal_set_service/add.html
new file mode 100644
index 0000000000..6dc727aa95
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/add.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::add</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="../signal_set_service.html" title="signal_set_service">
+<link rel="next" href="async_wait.html" title="signal_set_service::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../signal_set_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.add"></a><a class="link" href="add.html" title="signal_set_service::add">signal_set_service::add</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165531280"></a>
+Add a signal to a signal_set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../signal_set_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/async_wait.html b/doc/html/boost_asio/reference/signal_set_service/async_wait.html
new file mode 100644
index 0000000000..104ebf02b0
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/async_wait.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="add.html" title="signal_set_service::add">
+<link rel="next" href="cancel.html" title="signal_set_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.async_wait"></a><a class="link" href="async_wait.html" title="signal_set_service::async_wait">signal_set_service::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165548640"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SignalHandler.html" title="Signal handler requirements">SignalHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">SignalHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="add.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/cancel.html b/doc/html/boost_asio/reference/signal_set_service/cancel.html
new file mode 100644
index 0000000000..9a641790d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="async_wait.html" title="signal_set_service::async_wait">
+<link rel="next" href="clear.html" title="signal_set_service::clear">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.cancel"></a><a class="link" href="cancel.html" title="signal_set_service::cancel">signal_set_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165562784"></a>
+Cancel all operations associated with the signal
+ set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/clear.html b/doc/html/boost_asio/reference/signal_set_service/clear.html
new file mode 100644
index 0000000000..e031801fc6
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/clear.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::clear</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="cancel.html" title="signal_set_service::cancel">
+<link rel="next" href="construct.html" title="signal_set_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.clear"></a><a class="link" href="clear.html" title="signal_set_service::clear">signal_set_service::clear</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165578272"></a>
+Remove all signals from a signal_set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">clear</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/construct.html b/doc/html/boost_asio/reference/signal_set_service/construct.html
new file mode 100644
index 0000000000..f43a850d55
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="clear.html" title="signal_set_service::clear">
+<link rel="next" href="destroy.html" title="signal_set_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="clear.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.construct"></a><a class="link" href="construct.html" title="signal_set_service::construct">signal_set_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165593792"></a>
+Construct a new signal set implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="clear.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/destroy.html b/doc/html/boost_asio/reference/signal_set_service/destroy.html
new file mode 100644
index 0000000000..c4cc52c727
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="construct.html" title="signal_set_service::construct">
+<link rel="next" href="get_io_service.html" title="signal_set_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.destroy"></a><a class="link" href="destroy.html" title="signal_set_service::destroy">signal_set_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165602336"></a>
+Destroy a signal set implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/get_io_service.html b/doc/html/boost_asio/reference/signal_set_service/get_io_service.html
new file mode 100644
index 0000000000..6d60d0a2f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="destroy.html" title="signal_set_service::destroy">
+<link rel="next" href="id.html" title="signal_set_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.get_io_service"></a><a class="link" href="get_io_service.html" title="signal_set_service::get_io_service">signal_set_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp165611600"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/id.html b/doc/html/boost_asio/reference/signal_set_service/id.html
new file mode 100644
index 0000000000..5b47c1608f
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="get_io_service.html" title="signal_set_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="signal_set_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.id"></a><a class="link" href="id.html" title="signal_set_service::id">signal_set_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165622368"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/implementation_type.html b/doc/html/boost_asio/reference/signal_set_service/implementation_type.html
new file mode 100644
index 0000000000..bd5306f5df
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/implementation_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="id.html" title="signal_set_service::id">
+<link rel="next" href="remove.html" title="signal_set_service::remove">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.implementation_type"></a><a class="link" href="implementation_type.html" title="signal_set_service::implementation_type">signal_set_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165632256"></a>
+The type of a signal set implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.signal_set_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.signal_set_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.signal_set_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/signal_set_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/remove.html b/doc/html/boost_asio/reference/signal_set_service/remove.html
new file mode 100644
index 0000000000..35c250c83d
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/remove.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::remove</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="implementation_type.html" title="signal_set_service::implementation_type">
+<link rel="next" href="signal_set_service.html" title="signal_set_service::signal_set_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal_set_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.remove"></a><a class="link" href="remove.html" title="signal_set_service::remove">signal_set_service::remove</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165644592"></a>
+Remove a signal to a signal_set.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">remove</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">signal_number</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal_set_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/signal_set_service/signal_set_service.html b/doc/html/boost_asio/reference/signal_set_service/signal_set_service.html
new file mode 100644
index 0000000000..ecda5f7570
--- /dev/null
+++ b/doc/html/boost_asio/reference/signal_set_service/signal_set_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>signal_set_service::signal_set_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../signal_set_service.html" title="signal_set_service">
+<link rel="prev" href="remove.html" title="signal_set_service::remove">
+<link rel="next" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.signal_set_service.signal_set_service"></a><a class="link" href="signal_set_service.html" title="signal_set_service::signal_set_service">signal_set_service::signal_set_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165661920"></a>
+Construct a new signal set service
+ for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">signal_set_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="remove.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signal_set_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service.html b/doc/html/boost_asio/reference/socket_acceptor_service.html
new file mode 100644
index 0000000000..daf38ddc4a
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service.html
@@ -0,0 +1,501 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="signal_set_service/signal_set_service.html" title="signal_set_service::signal_set_service">
+<link rel="next" href="socket_acceptor_service/accept.html" title="socket_acceptor_service::accept">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="signal_set_service/signal_set_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_acceptor_service/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.socket_acceptor_service"></a><a class="link" href="socket_acceptor_service.html" title="socket_acceptor_service">socket_acceptor_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a socket acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">socket_acceptor_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.socket_acceptor_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.types"></a></span><a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/endpoint_type.html" title="socket_acceptor_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/implementation_type.html" title="socket_acceptor_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native type of the socket acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/native_handle_type.html" title="socket_acceptor_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native acceptor type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/native_type.html" title="socket_acceptor_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native acceptor type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/protocol_type.html" title="socket_acceptor_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.socket_acceptor_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.member_functions"></a></span><a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/accept.html" title="socket_acceptor_service::accept"><span class="bold"><strong>accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Accept a new connection.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/assign.html" title="socket_acceptor_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native acceptor to a socket acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/async_accept.html" title="socket_acceptor_service::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/bind.html" title="socket_acceptor_service::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the socket acceptor to the specified local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/cancel.html" title="socket_acceptor_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/close.html" title="socket_acceptor_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a socket acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/construct.html" title="socket_acceptor_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new socket acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/converting_move_construct.html" title="socket_acceptor_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new socket acceptor implementation from another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/destroy.html" title="socket_acceptor_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a socket acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/get_io_service.html" title="socket_acceptor_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/get_option.html" title="socket_acceptor_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/io_control.html" title="socket_acceptor_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/is_open.html" title="socket_acceptor_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the acceptor is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/listen.html" title="socket_acceptor_service::listen"><span class="bold"><strong>listen</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Place the socket acceptor into the state where it will listen for
+ new connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/local_endpoint.html" title="socket_acceptor_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/move_assign.html" title="socket_acceptor_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another socket acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/move_construct.html" title="socket_acceptor_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new socket acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/native.html" title="socket_acceptor_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/native_handle.html" title="socket_acceptor_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/native_non_blocking.html" title="socket_acceptor_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native acceptor implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/non_blocking.html" title="socket_acceptor_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the acceptor.
+ </p>
+ <p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/open.html" title="socket_acceptor_service::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open a new socket acceptor implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/set_option.html" title="socket_acceptor_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/socket_acceptor_service.html" title="socket_acceptor_service::socket_acceptor_service"><span class="bold"><strong>socket_acceptor_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new socket acceptor service for the specified io_service.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.socket_acceptor_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.data_members"></a></span><a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="socket_acceptor_service/id.html" title="socket_acceptor_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.socket_acceptor_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.requirements"></a></span><a class="link" href="socket_acceptor_service.html#boost_asio.reference.socket_acceptor_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="signal_set_service/signal_set_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_acceptor_service/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/accept.html b/doc/html/boost_asio/reference/socket_acceptor_service/accept.html
new file mode 100644
index 0000000000..c552af2574
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/accept.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::accept</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="next" href="assign.html" title="socket_acceptor_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.accept"></a><a class="link" href="accept.html" title="socket_acceptor_service::accept">socket_acceptor_service::accept</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165815632"></a>
+Accept a new connection.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">accept</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">*</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/assign.html b/doc/html/boost_asio/reference/socket_acceptor_service/assign.html
new file mode 100644
index 0000000000..6e6c836803
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/assign.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="accept.html" title="socket_acceptor_service::accept">
+<link rel="next" href="async_accept.html" title="socket_acceptor_service::async_accept">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="accept.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_accept.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.assign"></a><a class="link" href="assign.html" title="socket_acceptor_service::assign">socket_acceptor_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165854992"></a>
+Assign an existing native acceptor to a socket
+ acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_acceptor</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="accept.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_accept.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/async_accept.html b/doc/html/boost_asio/reference/socket_acceptor_service/async_accept.html
new file mode 100644
index 0000000000..d6a773ae39
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/async_accept.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::async_accept</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="assign.html" title="socket_acceptor_service::assign">
+<link rel="next" href="bind.html" title="socket_acceptor_service::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.async_accept"></a><a class="link" href="async_accept.html" title="socket_acceptor_service::async_accept">socket_acceptor_service::async_accept</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165877040"></a>
+Start an asynchronous accept.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../SocketService.html" title="Socket service requirements">SocketService</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../AcceptHandler.html" title="Accept handler requirements">AcceptHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_accept</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">basic_socket</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">SocketService</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">peer</span><span class="special">,</span>
+ <span class="identifier">endpoint_type</span> <span class="special">*</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">AcceptHandler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol</span><span class="special">,</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/bind.html b/doc/html/boost_asio/reference/socket_acceptor_service/bind.html
new file mode 100644
index 0000000000..68928fd6cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/bind.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="async_accept.html" title="socket_acceptor_service::async_accept">
+<link rel="next" href="cancel.html" title="socket_acceptor_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_accept.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.bind"></a><a class="link" href="bind.html" title="socket_acceptor_service::bind">socket_acceptor_service::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165913680"></a>
+Bind the socket acceptor to the specified local
+ endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_accept.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/cancel.html b/doc/html/boost_asio/reference/socket_acceptor_service/cancel.html
new file mode 100644
index 0000000000..703e7f8e7d
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="bind.html" title="socket_acceptor_service::bind">
+<link rel="next" href="close.html" title="socket_acceptor_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.cancel"></a><a class="link" href="cancel.html" title="socket_acceptor_service::cancel">socket_acceptor_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165932512"></a>
+Cancel all asynchronous operations associated
+ with the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/close.html b/doc/html/boost_asio/reference/socket_acceptor_service/close.html
new file mode 100644
index 0000000000..94d9fdc0f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="cancel.html" title="socket_acceptor_service::cancel">
+<link rel="next" href="construct.html" title="socket_acceptor_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.close"></a><a class="link" href="close.html" title="socket_acceptor_service::close">socket_acceptor_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165948000"></a>
+Close a socket acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/construct.html b/doc/html/boost_asio/reference/socket_acceptor_service/construct.html
new file mode 100644
index 0000000000..e5bdc52b62
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="close.html" title="socket_acceptor_service::close">
+<link rel="next" href="converting_move_construct.html" title="socket_acceptor_service::converting_move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.construct"></a><a class="link" href="construct.html" title="socket_acceptor_service::construct">socket_acceptor_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165963456"></a>
+Construct a new socket acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/converting_move_construct.html b/doc/html/boost_asio/reference/socket_acceptor_service/converting_move_construct.html
new file mode 100644
index 0000000000..2e14680f1f
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/converting_move_construct.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::converting_move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="construct.html" title="socket_acceptor_service::construct">
+<link rel="next" href="destroy.html" title="socket_acceptor_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.converting_move_construct"></a><a class="link" href="converting_move_construct.html" title="socket_acceptor_service::converting_move_construct">socket_acceptor_service::converting_move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp165972112"></a>
+Move-construct a new socket
+ acceptor implementation from another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">socket_acceptor_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">socket_acceptor_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/destroy.html b/doc/html/boost_asio/reference/socket_acceptor_service/destroy.html
new file mode 100644
index 0000000000..93a4df8779
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="converting_move_construct.html" title="socket_acceptor_service::converting_move_construct">
+<link rel="next" href="endpoint_type.html" title="socket_acceptor_service::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.destroy"></a><a class="link" href="destroy.html" title="socket_acceptor_service::destroy">socket_acceptor_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166004512"></a>
+Destroy a socket acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/endpoint_type.html b/doc/html/boost_asio/reference/socket_acceptor_service/endpoint_type.html
new file mode 100644
index 0000000000..fdfa1a9148
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="destroy.html" title="socket_acceptor_service::destroy">
+<link rel="next" href="get_io_service.html" title="socket_acceptor_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.endpoint_type"></a><a class="link" href="endpoint_type.html" title="socket_acceptor_service::endpoint_type">socket_acceptor_service::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166013120"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">protocol_type</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_acceptor_service.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.socket_acceptor_service.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/get_io_service.html b/doc/html/boost_asio/reference/socket_acceptor_service/get_io_service.html
new file mode 100644
index 0000000000..3149a8023d
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="endpoint_type.html" title="socket_acceptor_service::endpoint_type">
+<link rel="next" href="get_option.html" title="socket_acceptor_service::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.get_io_service"></a><a class="link" href="get_io_service.html" title="socket_acceptor_service::get_io_service">socket_acceptor_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp166027296"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/get_option.html b/doc/html/boost_asio/reference/socket_acceptor_service/get_option.html
new file mode 100644
index 0000000000..d993cc983d
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/get_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="get_io_service.html" title="socket_acceptor_service::get_io_service">
+<link rel="next" href="id.html" title="socket_acceptor_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.get_option"></a><a class="link" href="get_option.html" title="socket_acceptor_service::get_option">socket_acceptor_service::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166037984"></a>
+Get a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/id.html b/doc/html/boost_asio/reference/socket_acceptor_service/id.html
new file mode 100644
index 0000000000..e26735e319
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="get_option.html" title="socket_acceptor_service::get_option">
+<link rel="next" href="implementation_type.html" title="socket_acceptor_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.id"></a><a class="link" href="id.html" title="socket_acceptor_service::id">socket_acceptor_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166061344"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/implementation_type.html b/doc/html/boost_asio/reference/socket_acceptor_service/implementation_type.html
new file mode 100644
index 0000000000..ea431ef5ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="id.html" title="socket_acceptor_service::id">
+<link rel="next" href="io_control.html" title="socket_acceptor_service::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.implementation_type"></a><a class="link" href="implementation_type.html" title="socket_acceptor_service::implementation_type">socket_acceptor_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166071168"></a>
+The native type of the socket
+ acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_acceptor_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.socket_acceptor_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/io_control.html b/doc/html/boost_asio/reference/socket_acceptor_service/io_control.html
new file mode 100644
index 0000000000..595e2d5553
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/io_control.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="implementation_type.html" title="socket_acceptor_service::implementation_type">
+<link rel="next" href="is_open.html" title="socket_acceptor_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.io_control"></a><a class="link" href="io_control.html" title="socket_acceptor_service::io_control">socket_acceptor_service::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166083584"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/is_open.html b/doc/html/boost_asio/reference/socket_acceptor_service/is_open.html
new file mode 100644
index 0000000000..c8b223a0fb
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="io_control.html" title="socket_acceptor_service::io_control">
+<link rel="next" href="listen.html" title="socket_acceptor_service::listen">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listen.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.is_open"></a><a class="link" href="is_open.html" title="socket_acceptor_service::is_open">socket_acceptor_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166105024"></a>
+Determine whether the acceptor is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="listen.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/listen.html b/doc/html/boost_asio/reference/socket_acceptor_service/listen.html
new file mode 100644
index 0000000000..c15ab46c59
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/listen.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::listen</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="is_open.html" title="socket_acceptor_service::is_open">
+<link rel="next" href="local_endpoint.html" title="socket_acceptor_service::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.listen"></a><a class="link" href="listen.html" title="socket_acceptor_service::listen">socket_acceptor_service::listen</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166115472"></a>
+Place the socket acceptor into the state where
+ it will listen for new connections.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">listen</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">backlog</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/local_endpoint.html b/doc/html/boost_asio/reference/socket_acceptor_service/local_endpoint.html
new file mode 100644
index 0000000000..fe7dc06aaf
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/local_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="listen.html" title="socket_acceptor_service::listen">
+<link rel="next" href="move_assign.html" title="socket_acceptor_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="listen.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.local_endpoint"></a><a class="link" href="local_endpoint.html" title="socket_acceptor_service::local_endpoint">socket_acceptor_service::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166132912"></a>
+Get the local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="listen.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/move_assign.html b/doc/html/boost_asio/reference/socket_acceptor_service/move_assign.html
new file mode 100644
index 0000000000..46f5cdc9fd
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="local_endpoint.html" title="socket_acceptor_service::local_endpoint">
+<link rel="next" href="move_construct.html" title="socket_acceptor_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.move_assign"></a><a class="link" href="move_assign.html" title="socket_acceptor_service::move_assign">socket_acceptor_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166148144"></a>
+Move-assign from another socket acceptor
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">socket_acceptor_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/move_construct.html b/doc/html/boost_asio/reference/socket_acceptor_service/move_construct.html
new file mode 100644
index 0000000000..0131e3e76b
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="move_assign.html" title="socket_acceptor_service::move_assign">
+<link rel="next" href="native.html" title="socket_acceptor_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.move_construct"></a><a class="link" href="move_construct.html" title="socket_acceptor_service::move_construct">socket_acceptor_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166162048"></a>
+Move-construct a new socket acceptor
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native.html b/doc/html/boost_asio/reference/socket_acceptor_service/native.html
new file mode 100644
index 0000000000..675ea15c84
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="move_construct.html" title="socket_acceptor_service::move_construct">
+<link rel="next" href="native_handle.html" title="socket_acceptor_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native"></a><a class="link" href="native.html" title="socket_acceptor_service::native">socket_acceptor_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166173344"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native_handle.html b/doc/html/boost_asio/reference/socket_acceptor_service/native_handle.html
new file mode 100644
index 0000000000..0fec29c713
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="native.html" title="socket_acceptor_service::native">
+<link rel="next" href="native_handle_type.html" title="socket_acceptor_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native_handle"></a><a class="link" href="native_handle.html" title="socket_acceptor_service::native_handle">socket_acceptor_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166183680"></a>
+Get the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native_handle_type.html b/doc/html/boost_asio/reference/socket_acceptor_service/native_handle_type.html
new file mode 100644
index 0000000000..21dd016f3a
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="native_handle.html" title="socket_acceptor_service::native_handle">
+<link rel="next" href="native_non_blocking.html" title="socket_acceptor_service::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="socket_acceptor_service::native_handle_type">socket_acceptor_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166192368"></a>
+The native acceptor type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_acceptor_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.socket_acceptor_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking.html b/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking.html
new file mode 100644
index 0000000000..bb78ead876
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="native_handle_type.html" title="socket_acceptor_service::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="socket_acceptor_service::native_non_blocking">socket_acceptor_service::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166204768"></a>
+Gets the non-blocking mode of
+ the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload2.html" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..0396b71675
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native_non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="socket_acceptor_service::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="socket_acceptor_service::native_non_blocking">
+<link rel="next" href="overload2.html" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">socket_acceptor_service::native_non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..2852e41008
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native_non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native_non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="socket_acceptor_service::native_non_blocking">
+<link rel="prev" href="overload1.html" title="socket_acceptor_service::native_non_blocking (1 of 2 overloads)">
+<link rel="next" href="../native_type.html" title="socket_acceptor_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">socket_acceptor_service::native_non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/native_type.html b/doc/html/boost_asio/reference/socket_acceptor_service/native_type.html
new file mode 100644
index 0000000000..1309e916a4
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="native_non_blocking/overload2.html" title="socket_acceptor_service::native_non_blocking (2 of 2 overloads)">
+<link rel="next" href="non_blocking.html" title="socket_acceptor_service::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.native_type"></a><a class="link" href="native_type.html" title="socket_acceptor_service::native_type">socket_acceptor_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166259216"></a>
+(Deprecated: Use native_handle_type.)
+ The native acceptor type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_acceptor_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.socket_acceptor_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking.html b/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking.html
new file mode 100644
index 0000000000..e182716a44
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="native_type.html" title="socket_acceptor_service::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.non_blocking"></a><a class="link" href="non_blocking.html" title="socket_acceptor_service::non_blocking">socket_acceptor_service::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166271584"></a>
+Gets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload2.html" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload1.html b/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload1.html
new file mode 100644
index 0000000000..7a3d070d59
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="socket_acceptor_service::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="socket_acceptor_service::non_blocking">
+<link rel="next" href="overload2.html" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.non_blocking.overload1"></a><a class="link" href="overload1.html" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">socket_acceptor_service::non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload2.html b/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload2.html
new file mode 100644
index 0000000000..1450fc41a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="socket_acceptor_service::non_blocking">
+<link rel="prev" href="overload1.html" title="socket_acceptor_service::non_blocking (1 of 2 overloads)">
+<link rel="next" href="../open.html" title="socket_acceptor_service::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.non_blocking.overload2"></a><a class="link" href="overload2.html" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">socket_acceptor_service::non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the acceptor.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/open.html b/doc/html/boost_asio/reference/socket_acceptor_service/open.html
new file mode 100644
index 0000000000..035560e04c
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="non_blocking/overload2.html" title="socket_acceptor_service::non_blocking (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="socket_acceptor_service::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.open"></a><a class="link" href="open.html" title="socket_acceptor_service::open">socket_acceptor_service::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166325376"></a>
+Open a new socket acceptor implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/protocol_type.html b/doc/html/boost_asio/reference/socket_acceptor_service/protocol_type.html
new file mode 100644
index 0000000000..552842ca2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="open.html" title="socket_acceptor_service::open">
+<link rel="next" href="set_option.html" title="socket_acceptor_service::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.protocol_type"></a><a class="link" href="protocol_type.html" title="socket_acceptor_service::protocol_type">socket_acceptor_service::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166344256"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_acceptor_service.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_acceptor_service.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.socket_acceptor_service.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_acceptor_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/set_option.html b/doc/html/boost_asio/reference/socket_acceptor_service/set_option.html
new file mode 100644
index 0000000000..c8abde74ac
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/set_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="protocol_type.html" title="socket_acceptor_service::protocol_type">
+<link rel="next" href="socket_acceptor_service.html" title="socket_acceptor_service::socket_acceptor_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_acceptor_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.set_option"></a><a class="link" href="set_option.html" title="socket_acceptor_service::set_option">socket_acceptor_service::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166356576"></a>
+Set a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_acceptor_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_acceptor_service/socket_acceptor_service.html b/doc/html/boost_asio/reference/socket_acceptor_service/socket_acceptor_service.html
new file mode 100644
index 0000000000..bce49a5e14
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_acceptor_service/socket_acceptor_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_acceptor_service::socket_acceptor_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_acceptor_service.html" title="socket_acceptor_service">
+<link rel="prev" href="set_option.html" title="socket_acceptor_service::set_option">
+<link rel="next" href="../socket_base.html" title="socket_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_acceptor_service.socket_acceptor_service"></a><a class="link" href="socket_acceptor_service.html" title="socket_acceptor_service::socket_acceptor_service">socket_acceptor_service::socket_acceptor_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166378672"></a>
+Construct a new socket acceptor
+ service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">socket_acceptor_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_acceptor_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../socket_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base.html b/doc/html/boost_asio/reference/socket_base.html
new file mode 100644
index 0000000000..ea465c9cb6
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base.html
@@ -0,0 +1,388 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="socket_acceptor_service/socket_acceptor_service.html" title="socket_acceptor_service::socket_acceptor_service">
+<link rel="next" href="socket_base/broadcast.html" title="socket_base::broadcast">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket_acceptor_service/socket_acceptor_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_base/broadcast.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.socket_base"></a><a class="link" href="socket_base.html" title="socket_base">socket_base</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="socket_base.html" title="socket_base"><code class="computeroutput"><span class="identifier">socket_base</span></code></a>
+ class is used as a base for the <a class="link" href="basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput"><span class="identifier">basic_stream_socket</span></code></a> and <a class="link" href="basic_datagram_socket.html" title="basic_datagram_socket"><code class="computeroutput"><span class="identifier">basic_datagram_socket</span></code></a> class templates
+ so that we have a common place to define the shutdown_type and enum.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">socket_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.socket_base.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.types"></a></span><a class="link" href="socket_base.html#boost_asio.reference.socket_base.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/broadcast.html" title="socket_base::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to permit sending of broadcast messages.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/bytes_readable.html" title="socket_base::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ IO control command to get the amount of data that can be read without
+ blocking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/debug.html" title="socket_base::debug"><span class="bold"><strong>debug</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to enable socket-level debugging.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/do_not_route.html" title="socket_base::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to prevent routing, use local interfaces only.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/enable_connection_aborted.html" title="socket_base::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to report aborted connections on accept.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/keep_alive.html" title="socket_base::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to send keep-alives.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/linger.html" title="socket_base::linger"><span class="bold"><strong>linger</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to specify whether the socket lingers on close if
+ unsent data is present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/message_flags.html" title="socket_base::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for flags that can be passed to send and receive operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/non_blocking_io.html" title="socket_base::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use non_blocking().) IO control command to set the
+ blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/receive_buffer_size.html" title="socket_base::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/receive_low_watermark.html" title="socket_base::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the receive low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/reuse_address.html" title="socket_base::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option to allow the socket to be bound to an address that
+ is already in use.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/send_buffer_size.html" title="socket_base::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send buffer size of a socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/send_low_watermark.html" title="socket_base::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Socket option for the send low watermark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/shutdown_type.html" title="socket_base::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different ways a socket may be shutdown.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.socket_base.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.protected_member_functions"></a></span><a class="link" href="socket_base.html#boost_asio.reference.socket_base.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/_socket_base.html" title="socket_base::~socket_base"><span class="bold"><strong>~socket_base</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.socket_base.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.data_members"></a></span><a class="link" href="socket_base.html#boost_asio.reference.socket_base.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/max_connections.html" title="socket_base::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum length of the queue of pending incoming connections.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/message_do_not_route.html" title="socket_base::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify that the data should not be subject to routing.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/message_end_of_record.html" title="socket_base::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specifies that the data marks the end of a record.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/message_out_of_band.html" title="socket_base::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Process out-of-band data.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="socket_base/message_peek.html" title="socket_base::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Peek at incoming data without removing it from the input queue.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.socket_base.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.requirements"></a></span><a class="link" href="socket_base.html#boost_asio.reference.socket_base.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="socket_acceptor_service/socket_acceptor_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="socket_base/broadcast.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/_socket_base.html b/doc/html/boost_asio/reference/socket_base/_socket_base.html
new file mode 100644
index 0000000000..b8873855fe
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/_socket_base.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::~socket_base</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="shutdown_type.html" title="socket_base::shutdown_type">
+<link rel="next" href="../spawn.html" title="spawn">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../spawn.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base._socket_base"></a><a class="link" href="_socket_base.html" title="socket_base::~socket_base">socket_base::~socket_base</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167271008"></a>
+Protected destructor to prevent deletion through
+ this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">socket_base</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="shutdown_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../spawn.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/broadcast.html b/doc/html/boost_asio/reference/socket_base/broadcast.html
new file mode 100644
index 0000000000..752974b71e
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/broadcast.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::broadcast</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="../socket_base.html" title="socket_base">
+<link rel="next" href="bytes_readable.html" title="socket_base::bytes_readable">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../socket_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.broadcast"></a><a class="link" href="broadcast.html" title="socket_base::broadcast">socket_base::broadcast</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166496704"></a>
+Socket option to permit sending of broadcast messages.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">broadcast</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_BROADCAST socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.broadcast.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.broadcast.examples"></a></span><a class="link" href="broadcast.html#boost_asio.reference.socket_base.broadcast.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">broadcast</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.broadcast.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.broadcast.requirements"></a></span><a class="link" href="broadcast.html#boost_asio.reference.socket_base.broadcast.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="../socket_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bytes_readable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/bytes_readable.html b/doc/html/boost_asio/reference/socket_base/bytes_readable.html
new file mode 100644
index 0000000000..b0e71ad6a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/bytes_readable.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::bytes_readable</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="broadcast.html" title="socket_base::broadcast">
+<link rel="next" href="debug.html" title="socket_base::debug">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="debug.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.bytes_readable"></a><a class="link" href="bytes_readable.html" title="socket_base::bytes_readable">socket_base::bytes_readable</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166552720"></a>
+IO control command to get the amount of data that
+ can be read without blocking.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">bytes_readable</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONREAD IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.bytes_readable.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.bytes_readable.example"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.socket_base.bytes_readable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">bytes_readable</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_readable</span> <span class="special">=</span> <span class="identifier">command</span><span class="special">.</span><span class="identifier">get</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.bytes_readable.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.bytes_readable.requirements"></a></span><a class="link" href="bytes_readable.html#boost_asio.reference.socket_base.bytes_readable.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="broadcast.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="debug.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/debug.html b/doc/html/boost_asio/reference/socket_base/debug.html
new file mode 100644
index 0000000000..60e4f30716
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/debug.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::debug</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="bytes_readable.html" title="socket_base::bytes_readable">
+<link rel="next" href="do_not_route.html" title="socket_base::do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.debug"></a><a class="link" href="debug.html" title="socket_base::debug">socket_base::debug</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166591760"></a>
+Socket option to enable socket-level debugging.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">debug</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DEBUG socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.debug.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.debug.examples"></a></span><a class="link" href="debug.html#boost_asio.reference.socket_base.debug.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">debug</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.debug.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.debug.requirements"></a></span><a class="link" href="debug.html#boost_asio.reference.socket_base.debug.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="bytes_readable.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/do_not_route.html b/doc/html/boost_asio/reference/socket_base/do_not_route.html
new file mode 100644
index 0000000000..9e9a1a3318
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/do_not_route.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="debug.html" title="socket_base::debug">
+<link rel="next" href="enable_connection_aborted.html" title="socket_base::enable_connection_aborted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.do_not_route"></a><a class="link" href="do_not_route.html" title="socket_base::do_not_route">socket_base::do_not_route</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166647664"></a>
+Socket option to prevent routing, use local interfaces
+ only.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">do_not_route</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_DONTROUTE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.do_not_route.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.do_not_route.examples"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.socket_base.do_not_route.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">do_not_route</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.do_not_route.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.do_not_route.requirements"></a></span><a class="link" href="do_not_route.html#boost_asio.reference.socket_base.do_not_route.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="debug.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/enable_connection_aborted.html b/doc/html/boost_asio/reference/socket_base/enable_connection_aborted.html
new file mode 100644
index 0000000000..72f584eac1
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/enable_connection_aborted.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::enable_connection_aborted</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="do_not_route.html" title="socket_base::do_not_route">
+<link rel="next" href="keep_alive.html" title="socket_base::keep_alive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.enable_connection_aborted"></a><a class="link" href="enable_connection_aborted.html" title="socket_base::enable_connection_aborted">socket_base::enable_connection_aborted</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166703648"></a>
+Socket option to report aborted connections
+ on accept.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">enable_connection_aborted</span><span class="special">;</span>
+</pre>
+<p>
+ Implements a custom socket option that determines whether or not an accept
+ operation is permitted to fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">connection_aborted</span></code>.
+ By default the option is false.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.enable_connection_aborted.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.enable_connection_aborted.examples"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.socket_base.enable_connection_aborted.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">enable_connection_aborted</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.enable_connection_aborted.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.enable_connection_aborted.requirements"></a></span><a class="link" href="enable_connection_aborted.html#boost_asio.reference.socket_base.enable_connection_aborted.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="keep_alive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/keep_alive.html b/doc/html/boost_asio/reference/socket_base/keep_alive.html
new file mode 100644
index 0000000000..a3f81ca553
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/keep_alive.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::keep_alive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="enable_connection_aborted.html" title="socket_base::enable_connection_aborted">
+<link rel="next" href="linger.html" title="socket_base::linger">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.keep_alive"></a><a class="link" href="keep_alive.html" title="socket_base::keep_alive">socket_base::keep_alive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166764784"></a>
+Socket option to send keep-alives.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">keep_alive</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.keep_alive.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.keep_alive.examples"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.socket_base.keep_alive.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">keep_alive</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.keep_alive.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.keep_alive.requirements"></a></span><a class="link" href="keep_alive.html#boost_asio.reference.socket_base.keep_alive.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="enable_connection_aborted.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="linger.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/linger.html b/doc/html/boost_asio/reference/socket_base/linger.html
new file mode 100644
index 0000000000..19561e981c
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/linger.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::linger</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="keep_alive.html" title="socket_base::keep_alive">
+<link rel="next" href="max_connections.html" title="socket_base::max_connections">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.linger"></a><a class="link" href="linger.html" title="socket_base::linger">socket_base::linger</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166820784"></a>
+Socket option to specify whether the socket lingers on
+ close if unsent data is present.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">linger</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_LINGER socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.linger.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.linger.examples"></a></span><a class="link" href="linger.html#boost_asio.reference.socket_base.linger.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">,</span> <span class="number">30</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">linger</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">enabled</span><span class="special">();</span>
+<span class="keyword">unsigned</span> <span class="keyword">short</span> <span class="identifier">timeout</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">timeout</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.linger.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.linger.requirements"></a></span><a class="link" href="linger.html#boost_asio.reference.socket_base.linger.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="keep_alive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="max_connections.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/max_connections.html b/doc/html/boost_asio/reference/socket_base/max_connections.html
new file mode 100644
index 0000000000..fece753c81
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/max_connections.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::max_connections</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="linger.html" title="socket_base::linger">
+<link rel="next" href="message_do_not_route.html" title="socket_base::message_do_not_route">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.max_connections"></a><a class="link" href="max_connections.html" title="socket_base::max_connections">socket_base::max_connections</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166882912"></a>
+The maximum length of the queue of pending incoming
+ connections.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_connections</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="linger.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_do_not_route.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/message_do_not_route.html b/doc/html/boost_asio/reference/socket_base/message_do_not_route.html
new file mode 100644
index 0000000000..241192dbb6
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/message_do_not_route.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::message_do_not_route</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="max_connections.html" title="socket_base::max_connections">
+<link rel="next" href="message_end_of_record.html" title="socket_base::message_end_of_record">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.message_do_not_route"></a><a class="link" href="message_do_not_route.html" title="socket_base::message_do_not_route">socket_base::message_do_not_route</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166891648"></a>
+Specify that the data should not be subject
+ to routing.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_do_not_route</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="max_connections.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_end_of_record.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/message_end_of_record.html b/doc/html/boost_asio/reference/socket_base/message_end_of_record.html
new file mode 100644
index 0000000000..2a925ee783
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/message_end_of_record.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::message_end_of_record</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="message_do_not_route.html" title="socket_base::message_do_not_route">
+<link rel="next" href="message_flags.html" title="socket_base::message_flags">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.message_end_of_record"></a><a class="link" href="message_end_of_record.html" title="socket_base::message_end_of_record">socket_base::message_end_of_record</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166900320"></a>
+Specifies that the data marks the end of
+ a record.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_end_of_record</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_do_not_route.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_flags.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/message_flags.html b/doc/html/boost_asio/reference/socket_base/message_flags.html
new file mode 100644
index 0000000000..0e7ed94ce6
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/message_flags.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::message_flags</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="message_end_of_record.html" title="socket_base::message_end_of_record">
+<link rel="next" href="message_out_of_band.html" title="socket_base::message_out_of_band">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.message_flags"></a><a class="link" href="message_flags.html" title="socket_base::message_flags">socket_base::message_flags</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166908976"></a>
+Bitmask type for flags that can be passed to send
+ and receive operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">message_flags</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.message_flags.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.message_flags.requirements"></a></span><a class="link" href="message_flags.html#boost_asio.reference.socket_base.message_flags.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_end_of_record.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_out_of_band.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/message_out_of_band.html b/doc/html/boost_asio/reference/socket_base/message_out_of_band.html
new file mode 100644
index 0000000000..a73586fa15
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/message_out_of_band.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::message_out_of_band</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="message_flags.html" title="socket_base::message_flags">
+<link rel="next" href="message_peek.html" title="socket_base::message_peek">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.message_out_of_band"></a><a class="link" href="message_out_of_band.html" title="socket_base::message_out_of_band">socket_base::message_out_of_band</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166921376"></a>
+Process out-of-band data.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_out_of_band</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_flags.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="message_peek.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/message_peek.html b/doc/html/boost_asio/reference/socket_base/message_peek.html
new file mode 100644
index 0000000000..158f9f55f1
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/message_peek.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::message_peek</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="message_out_of_band.html" title="socket_base::message_out_of_band">
+<link rel="next" href="non_blocking_io.html" title="socket_base::non_blocking_io">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking_io.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.message_peek"></a><a class="link" href="message_peek.html" title="socket_base::message_peek">socket_base::message_peek</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166930000"></a>
+Peek at incoming data without removing it from the
+ input queue.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">message_peek</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="message_out_of_band.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking_io.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/non_blocking_io.html b/doc/html/boost_asio/reference/socket_base/non_blocking_io.html
new file mode 100644
index 0000000000..31b9404a18
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/non_blocking_io.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::non_blocking_io</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="message_peek.html" title="socket_base::message_peek">
+<link rel="next" href="receive_buffer_size.html" title="socket_base::receive_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.non_blocking_io"></a><a class="link" href="non_blocking_io.html" title="socket_base::non_blocking_io">socket_base::non_blocking_io</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166938672"></a>
+(Deprecated: Use non_blocking().) IO control
+ command to set the blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">non_blocking_io</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the FIONBIO IO control command.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.non_blocking_io.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.non_blocking_io.example"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.socket_base.non_blocking_io.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">non_blocking_io</span> <span class="identifier">command</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">io_control</span><span class="special">(</span><span class="identifier">command</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.non_blocking_io.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.non_blocking_io.requirements"></a></span><a class="link" href="non_blocking_io.html#boost_asio.reference.socket_base.non_blocking_io.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="message_peek.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/receive_buffer_size.html b/doc/html/boost_asio/reference/socket_base/receive_buffer_size.html
new file mode 100644
index 0000000000..c4e87defb1
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/receive_buffer_size.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::receive_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="non_blocking_io.html" title="socket_base::non_blocking_io">
+<link rel="next" href="receive_low_watermark.html" title="socket_base::receive_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.receive_buffer_size"></a><a class="link" href="receive_buffer_size.html" title="socket_base::receive_buffer_size">socket_base::receive_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp166972304"></a>
+Socket option for the receive buffer size
+ of a socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.receive_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.receive_buffer_size.examples"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.socket_base.receive_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.receive_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.receive_buffer_size.requirements"></a></span><a class="link" href="receive_buffer_size.html#boost_asio.reference.socket_base.receive_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="non_blocking_io.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/receive_low_watermark.html b/doc/html/boost_asio/reference/socket_base/receive_low_watermark.html
new file mode 100644
index 0000000000..0c8c003be6
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/receive_low_watermark.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::receive_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="receive_buffer_size.html" title="socket_base::receive_buffer_size">
+<link rel="next" href="reuse_address.html" title="socket_base::reuse_address">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reuse_address.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.receive_low_watermark"></a><a class="link" href="receive_low_watermark.html" title="socket_base::receive_low_watermark">socket_base::receive_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167028544"></a>
+Socket option for the receive low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">receive_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.receive_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.receive_low_watermark.examples"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.socket_base.receive_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">receive_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.receive_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.receive_low_watermark.requirements"></a></span><a class="link" href="receive_low_watermark.html#boost_asio.reference.socket_base.receive_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reuse_address.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/reuse_address.html b/doc/html/boost_asio/reference/socket_base/reuse_address.html
new file mode 100644
index 0000000000..b2e7e76a65
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/reuse_address.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::reuse_address</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="receive_low_watermark.html" title="socket_base::receive_low_watermark">
+<link rel="next" href="send_buffer_size.html" title="socket_base::send_buffer_size">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.reuse_address"></a><a class="link" href="reuse_address.html" title="socket_base::reuse_address">socket_base::reuse_address</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167084800"></a>
+Socket option to allow the socket to be bound to
+ an address that is already in use.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">reuse_address</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_REUSEADDR socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.reuse_address.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.reuse_address.examples"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.socket_base.reuse_address.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">(</span><span class="keyword">true</span><span class="special">);</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">reuse_address</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">is_set</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.reuse_address.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.reuse_address.requirements"></a></span><a class="link" href="reuse_address.html#boost_asio.reference.socket_base.reuse_address.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="receive_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_buffer_size.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/send_buffer_size.html b/doc/html/boost_asio/reference/socket_base/send_buffer_size.html
new file mode 100644
index 0000000000..6417ee64e3
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/send_buffer_size.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::send_buffer_size</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="reuse_address.html" title="socket_base::reuse_address">
+<link rel="next" href="send_low_watermark.html" title="socket_base::send_low_watermark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.send_buffer_size"></a><a class="link" href="send_buffer_size.html" title="socket_base::send_buffer_size">socket_base::send_buffer_size</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167141104"></a>
+Socket option for the send buffer size of a
+ socket.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_buffer_size</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDBUF socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.send_buffer_size.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.send_buffer_size.examples"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.socket_base.send_buffer_size.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">(</span><span class="number">8192</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_buffer_size</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.send_buffer_size.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.send_buffer_size.requirements"></a></span><a class="link" href="send_buffer_size.html#boost_asio.reference.socket_base.send_buffer_size.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="reuse_address.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send_low_watermark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/send_low_watermark.html b/doc/html/boost_asio/reference/socket_base/send_low_watermark.html
new file mode 100644
index 0000000000..71e2700fbe
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/send_low_watermark.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::send_low_watermark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="send_buffer_size.html" title="socket_base::send_buffer_size">
+<link rel="next" href="shutdown_type.html" title="socket_base::shutdown_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.send_low_watermark"></a><a class="link" href="send_low_watermark.html" title="socket_base::send_low_watermark">socket_base::send_low_watermark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167197376"></a>
+Socket option for the send low watermark.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">send_low_watermark</span><span class="special">;</span>
+</pre>
+<p>
+ Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.send_low_watermark.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.send_low_watermark.examples"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.socket_base.send_low_watermark.examples">Examples</a>
+ </h6>
+<p>
+ Setting the option:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">(</span><span class="number">1024</span><span class="special">);</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+</pre>
+<p>
+ Getting the current option value:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="special">...</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">send_low_watermark</span> <span class="identifier">option</span><span class="special">;</span>
+<span class="identifier">socket</span><span class="special">.</span><span class="identifier">get_option</span><span class="special">(</span><span class="identifier">option</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">option</span><span class="special">.</span><span class="identifier">value</span><span class="special">();</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.socket_base.send_low_watermark.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.send_low_watermark.requirements"></a></span><a class="link" href="send_low_watermark.html#boost_asio.reference.socket_base.send_low_watermark.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/socket_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="send_buffer_size.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/socket_base/shutdown_type.html b/doc/html/boost_asio/reference/socket_base/shutdown_type.html
new file mode 100644
index 0000000000..8095e81c93
--- /dev/null
+++ b/doc/html/boost_asio/reference/socket_base/shutdown_type.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>socket_base::shutdown_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../socket_base.html" title="socket_base">
+<link rel="prev" href="send_low_watermark.html" title="socket_base::send_low_watermark">
+<link rel="next" href="_socket_base.html" title="socket_base::~socket_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_socket_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.socket_base.shutdown_type"></a><a class="link" href="shutdown_type.html" title="socket_base::shutdown_type">socket_base::shutdown_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167253488"></a>
+Different ways a socket may be shutdown.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">shutdown_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp167257120"></a>
+ <a class="indexterm" name="idp167258224"></a>
+ <a class="indexterm" name="idp167259328"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.socket_base.shutdown_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.socket_base.shutdown_type.values"></a></span><a class="link" href="shutdown_type.html#boost_asio.reference.socket_base.shutdown_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">shutdown_receive</span></dt>
+<dd><p>
+ Shutdown the receive side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_send</span></dt>
+<dd><p>
+ Shutdown the send side of the socket.
+ </p></dd>
+<dt><span class="term">shutdown_both</span></dt>
+<dd><p>
+ Shutdown both send and receive on the socket.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="send_low_watermark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../socket_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_socket_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/spawn.html b/doc/html/boost_asio/reference/spawn.html
new file mode 100644
index 0000000000..ee0de0d106
--- /dev/null
+++ b/doc/html/boost_asio/reference/spawn.html
@@ -0,0 +1,122 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>spawn</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="socket_base/_socket_base.html" title="socket_base::~socket_base">
+<link rel="next" href="spawn/overload1.html" title="spawn (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="socket_base/_socket_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spawn/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.spawn"></a><a class="link" href="spawn.html" title="spawn">spawn</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp167277024"></a>
+Start a new stackful coroutine.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Handler.html" title="Handlers">Handler</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="spawn/overload1.html" title="spawn (1 of 4 overloads)">spawn</a><span class="special">(</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="spawn/overload1.html" title="spawn (1 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Handler.html" title="Handlers">Handler</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="spawn/overload2.html" title="spawn (2 of 4 overloads)">spawn</a><span class="special">(</span>
+ <span class="identifier">basic_yield_context</span><span class="special">&lt;</span> <span class="identifier">Handler</span> <span class="special">&gt;</span> <span class="identifier">ctx</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="spawn/overload2.html" title="spawn (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="spawn/overload3.html" title="spawn (3 of 4 overloads)">spawn</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="spawn/overload3.html" title="spawn (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="spawn/overload4.html" title="spawn (4 of 4 overloads)">spawn</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="spawn/overload4.html" title="spawn (4 of 4 overloads)">more...</a></em></span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">spawn</span><span class="special">()</span></code>
+ function is a high-level wrapper over the Boost.Coroutine library. This function
+ enables programs to implement asynchronous logic in a synchronous manner,
+ as illustrated by the following example:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">spawn</span><span class="special">(</span><span class="identifier">my_strand</span><span class="special">,</span> <span class="identifier">do_echo</span><span class="special">);</span>
+
+<span class="comment">// ...</span>
+
+<span class="keyword">void</span> <span class="identifier">do_echo</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">char</span> <span class="identifier">data</span><span class="special">[</span><span class="number">128</span><span class="special">];</span>
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">length</span> <span class="special">=</span>
+ <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">my_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">length</span><span class="special">),</span> <span class="identifier">yield</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// ...</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.spawn.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.spawn.requirements"></a></span><a class="link" href="spawn.html#boost_asio.reference.spawn.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="socket_base/_socket_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spawn/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/spawn/overload1.html b/doc/html/boost_asio/reference/spawn/overload1.html
new file mode 100644
index 0000000000..46ffe69eb7
--- /dev/null
+++ b/doc/html/boost_asio/reference/spawn/overload1.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>spawn (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../spawn.html" title="spawn">
+<link rel="prev" href="../spawn.html" title="spawn">
+<link rel="next" href="overload2.html" title="spawn (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../spawn.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.spawn.overload1"></a><a class="link" href="overload1.html" title="spawn (1 of 4 overloads)">spawn (1 of 4
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Start a new stackful coroutine, calling the specified handler when it completes.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Handler.html" title="Handlers">Handler</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+</pre>
+<p>
+ This function is used to launch a new coroutine.
+ </p>
+<h6>
+<a name="boost_asio.reference.spawn.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.spawn.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.spawn.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ A handler to be called when the coroutine exits. More importantly,
+ the handler provides an execution context (via the the handler invocation
+ hook) for the coroutine. The handler must have the signature:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">();</span>
+</pre>
+<p>
+ </p>
+</dd>
+<dt><span class="term">function</span></dt>
+<dd>
+<p>
+ The coroutine function. The function must have the signature:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+<dt><span class="term">attributes</span></dt>
+<dd><p>
+ Boost.Coroutine attributes used to customise the coroutine.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../spawn.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/spawn/overload2.html b/doc/html/boost_asio/reference/spawn/overload2.html
new file mode 100644
index 0000000000..158220df8f
--- /dev/null
+++ b/doc/html/boost_asio/reference/spawn/overload2.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>spawn (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../spawn.html" title="spawn">
+<link rel="prev" href="overload1.html" title="spawn (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="spawn (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.spawn.overload2"></a><a class="link" href="overload2.html" title="spawn (2 of 4 overloads)">spawn (2 of 4
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Start a new stackful coroutine, inheriting the execution context of another.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Handler.html" title="Handlers">Handler</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
+ <span class="identifier">basic_yield_context</span><span class="special">&lt;</span> <span class="identifier">Handler</span> <span class="special">&gt;</span> <span class="identifier">ctx</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+</pre>
+<p>
+ This function is used to launch a new coroutine.
+ </p>
+<h6>
+<a name="boost_asio.reference.spawn.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.spawn.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.spawn.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ctx</span></dt>
+<dd><p>
+ Identifies the current coroutine as a parent of the new coroutine.
+ This specifies that the new coroutine should inherit the execution
+ context of the parent. For example, if the parent coroutine is executing
+ in a particular strand, then the new coroutine will execute in the
+ same strand.
+ </p></dd>
+<dt><span class="term">function</span></dt>
+<dd>
+<p>
+ The coroutine function. The function must have the signature:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+<dt><span class="term">attributes</span></dt>
+<dd><p>
+ Boost.Coroutine attributes used to customise the coroutine.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/spawn/overload3.html b/doc/html/boost_asio/reference/spawn/overload3.html
new file mode 100644
index 0000000000..d13c1ff1f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/spawn/overload3.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>spawn (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../spawn.html" title="spawn">
+<link rel="prev" href="overload2.html" title="spawn (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="spawn (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.spawn.overload3"></a><a class="link" href="overload3.html" title="spawn (3 of 4 overloads)">spawn (3 of 4
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Start a new stackful coroutine that executes in the context of a strand.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+</pre>
+<p>
+ This function is used to launch a new coroutine.
+ </p>
+<h6>
+<a name="boost_asio.reference.spawn.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.spawn.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.spawn.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">strand</span></dt>
+<dd><p>
+ Identifies a strand. By starting multiple coroutines on the same
+ strand, the implementation ensures that none of those coroutines
+ can execute simultaneously.
+ </p></dd>
+<dt><span class="term">function</span></dt>
+<dd>
+<p>
+ The coroutine function. The function must have the signature:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+<dt><span class="term">attributes</span></dt>
+<dd><p>
+ Boost.Coroutine attributes used to customise the coroutine.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/spawn/overload4.html b/doc/html/boost_asio/reference/spawn/overload4.html
new file mode 100644
index 0000000000..3134f0fb2a
--- /dev/null
+++ b/doc/html/boost_asio/reference/spawn/overload4.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>spawn (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../spawn.html" title="spawn">
+<link rel="prev" href="overload3.html" title="spawn (3 of 4 overloads)">
+<link rel="next" href="../ssl__context.html" title="ssl::context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.spawn.overload4"></a><a class="link" href="overload4.html" title="spawn (4 of 4 overloads)">spawn (4 of 4
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Start a new stackful coroutine that executes on a given <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">spawn</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">Function</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span> <span class="special">&amp;</span> <span class="identifier">attributes</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">coroutines</span><span class="special">::</span><span class="identifier">attributes</span><span class="special">());</span>
+</pre>
+<p>
+ This function is used to launch a new coroutine.
+ </p>
+<h6>
+<a name="boost_asio.reference.spawn.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.spawn.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.spawn.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ Identifies the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> that will run
+ the coroutine. The new coroutine is implicitly given its own strand
+ within this <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p></dd>
+<dt><span class="term">function</span></dt>
+<dd>
+<p>
+ The coroutine function. The function must have the signature:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">function</span><span class="special">(</span><span class="identifier">yield_context</span> <span class="identifier">yield</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+<dt><span class="term">attributes</span></dt>
+<dd><p>
+ Boost.Coroutine attributes used to customise the coroutine.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spawn.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context.html b/doc/html/boost_asio/reference/ssl__context.html
new file mode 100644
index 0000000000..9a5bfa2d7f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context.html
@@ -0,0 +1,610 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="spawn/overload4.html" title="spawn (4 of 4 overloads)">
+<link rel="next" href="ssl__context/add_certificate_authority.html" title="ssl::context::add_certificate_authority">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="spawn/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__context/add_certificate_authority.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__context"></a><a class="link" href="ssl__context.html" title="ssl::context">ssl::context</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">context</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span><span class="special">,</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__context.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.types"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/file_format.html" title="ssl::context::file_format"><span class="bold"><strong>file_format</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ File format types.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/impl_type.html" title="ssl::context::impl_type"><span class="bold"><strong>impl_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native type of the SSL
+ context.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/method.html" title="ssl::context::method"><span class="bold"><strong>method</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different methods supported by a context.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/native_handle_type.html" title="ssl::context::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type of the SSL context.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/options.html" title="ssl::context::options"><span class="bold"><strong>options</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for SSL options.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/password_purpose.html" title="ssl::context::password_purpose"><span class="bold"><strong>password_purpose</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Purpose of PEM password.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__context.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.member_functions"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/add_certificate_authority.html" title="ssl::context::add_certificate_authority"><span class="bold"><strong>add_certificate_authority</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add certification authority for performing verification.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/add_verify_path.html" title="ssl::context::add_verify_path"><span class="bold"><strong>add_verify_path</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add a directory containing certificate authority files to be used
+ for performing verification.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/clear_options.html" title="ssl::context::clear_options"><span class="bold"><strong>clear_options</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Clear options on the context.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/context.html" title="ssl::context::context"><span class="bold"><strong>context</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Deprecated constructor taking a reference to an io_service object.
+ </p>
+ <p>
+ Move-construct a context from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/impl.html" title="ssl::context::impl"><span class="bold"><strong>impl</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the underlying implementation
+ in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/load_verify_file.html" title="ssl::context::load_verify_file"><span class="bold"><strong>load_verify_file</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Load a certification authority file for performing verification.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/native_handle.html" title="ssl::context::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/operator_eq_.html" title="ssl::context::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a context from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/set_default_verify_paths.html" title="ssl::context::set_default_verify_paths"><span class="bold"><strong>set_default_verify_paths</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Configures the context to use the default directories for finding
+ certification authority certificates.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/set_options.html" title="ssl::context::set_options"><span class="bold"><strong>set_options</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set options on the context.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/set_password_callback.html" title="ssl::context::set_password_callback"><span class="bold"><strong>set_password_callback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the password callback.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/set_verify_callback.html" title="ssl::context::set_verify_callback"><span class="bold"><strong>set_verify_callback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the callback used to verify peer certificates.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/set_verify_depth.html" title="ssl::context::set_verify_depth"><span class="bold"><strong>set_verify_depth</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the peer verification depth.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/set_verify_mode.html" title="ssl::context::set_verify_mode"><span class="bold"><strong>set_verify_mode</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the peer verification mode.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_certificate.html" title="ssl::context::use_certificate"><span class="bold"><strong>use_certificate</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use a certificate from a memory buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_certificate_chain.html" title="ssl::context::use_certificate_chain"><span class="bold"><strong>use_certificate_chain</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use a certificate chain from a memory buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file"><span class="bold"><strong>use_certificate_chain_file</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use a certificate chain from a file.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_certificate_file.html" title="ssl::context::use_certificate_file"><span class="bold"><strong>use_certificate_file</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use a certificate from a file.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_private_key.html" title="ssl::context::use_private_key"><span class="bold"><strong>use_private_key</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use a private key from a memory buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_private_key_file.html" title="ssl::context::use_private_key_file"><span class="bold"><strong>use_private_key_file</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use a private key from a file.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_rsa_private_key.html" title="ssl::context::use_rsa_private_key"><span class="bold"><strong>use_rsa_private_key</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use an RSA private key from a memory buffer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file"><span class="bold"><strong>use_rsa_private_key_file</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use an RSA private key from a file.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_tmp_dh.html" title="ssl::context::use_tmp_dh"><span class="bold"><strong>use_tmp_dh</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use the specified memory buffer to obtain the temporary Diffie-Hellman
+ parameters.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file"><span class="bold"><strong>use_tmp_dh_file</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Use the specified file to obtain the temporary Diffie-Hellman parameters.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/_context.html" title="ssl::context::~context"><span class="bold"><strong>~context</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__context.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.data_members"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/default_workarounds.html" title="ssl::context::default_workarounds"><span class="bold"><strong>default_workarounds</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Implement various bug workarounds.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/no_compression.html" title="ssl::context::no_compression"><span class="bold"><strong>no_compression</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable compression. Compression is disabled by default.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/no_sslv2.html" title="ssl::context::no_sslv2"><span class="bold"><strong>no_sslv2</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable SSL v2.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/no_sslv3.html" title="ssl::context::no_sslv3"><span class="bold"><strong>no_sslv3</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable SSL v3.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/no_tlsv1.html" title="ssl::context::no_tlsv1"><span class="bold"><strong>no_tlsv1</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable TLS v1.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/no_tlsv1_1.html" title="ssl::context::no_tlsv1_1"><span class="bold"><strong>no_tlsv1_1</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable TLS v1.1.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/no_tlsv1_2.html" title="ssl::context::no_tlsv1_2"><span class="bold"><strong>no_tlsv1_2</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable TLS v1.2.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context/single_dh_use.html" title="ssl::context::single_dh_use"><span class="bold"><strong>single_dh_use</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Always create a new key when using tmp_dh parameters.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__context.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.requirements"></a></span><a class="link" href="ssl__context.html#boost_asio.reference.ssl__context.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="spawn/overload4.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__context/add_certificate_authority.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/_context.html b/doc/html/boost_asio/reference/ssl__context/_context.html
new file mode 100644
index 0000000000..01c2e7a630
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/_context.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::~context</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_tmp_dh_file/overload2.html" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">
+<link rel="next" href="../ssl__context_base.html" title="ssl::context_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_tmp_dh_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context._context"></a><a class="link" href="_context.html" title="ssl::context::~context">ssl::context::~context</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169693776"></a>
+Destructor.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">context</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="use_tmp_dh_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html b/doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html
new file mode 100644
index 0000000000..25d8710497
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/add_certificate_authority.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::add_certificate_authority</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="../ssl__context.html" title="ssl::context">
+<link rel="next" href="add_certificate_authority/overload1.html" title="ssl::context::add_certificate_authority (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_certificate_authority/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.add_certificate_authority"></a><a class="link" href="add_certificate_authority.html" title="ssl::context::add_certificate_authority">ssl::context::add_certificate_authority</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167757136"></a>
+Add certification authority for performing
+ verification.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="add_certificate_authority/overload1.html" title="ssl::context::add_certificate_authority (1 of 2 overloads)">add_certificate_authority</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="add_certificate_authority/overload1.html" title="ssl::context::add_certificate_authority (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="add_certificate_authority/overload2.html" title="ssl::context::add_certificate_authority (2 of 2 overloads)">add_certificate_authority</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="add_certificate_authority/overload2.html" title="ssl::context::add_certificate_authority (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ssl__context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_certificate_authority/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload1.html b/doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload1.html
new file mode 100644
index 0000000000..9e886c782a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::add_certificate_authority (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../add_certificate_authority.html" title="ssl::context::add_certificate_authority">
+<link rel="prev" href="../add_certificate_authority.html" title="ssl::context::add_certificate_authority">
+<link rel="next" href="overload2.html" title="ssl::context::add_certificate_authority (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../add_certificate_authority.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_certificate_authority.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1"></a><a class="link" href="overload1.html" title="ssl::context::add_certificate_authority (1 of 2 overloads)">ssl::context::add_certificate_authority
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Add certification authority for performing verification.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add_certificate_authority</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to add one trusted certification authority from
+ a memory buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ca</span></dt>
+<dd><p>
+ The buffer containing the certification authority certificate.
+ The certificate must use the PEM format.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.add_certificate_authority.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_get_cert_store</span></code>
+ and <code class="computeroutput"><span class="identifier">X509_STORE_add_cert</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../add_certificate_authority.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_certificate_authority.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload2.html b/doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload2.html
new file mode 100644
index 0000000000..5df144642d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/add_certificate_authority/overload2.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::add_certificate_authority (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../add_certificate_authority.html" title="ssl::context::add_certificate_authority">
+<link rel="prev" href="overload1.html" title="ssl::context::add_certificate_authority (1 of 2 overloads)">
+<link rel="next" href="../add_verify_path.html" title="ssl::context::add_verify_path">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_certificate_authority.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2"></a><a class="link" href="overload2.html" title="ssl::context::add_certificate_authority (2 of 2 overloads)">ssl::context::add_certificate_authority
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Add certification authority for performing verification.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add_certificate_authority</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">ca</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to add one trusted certification authority from
+ a memory buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ca</span></dt>
+<dd><p>
+ The buffer containing the certification authority certificate.
+ The certificate must use the PEM format.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_certificate_authority.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.add_certificate_authority.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_get_cert_store</span></code>
+ and <code class="computeroutput"><span class="identifier">X509_STORE_add_cert</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_certificate_authority.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/add_verify_path.html b/doc/html/boost_asio/reference/ssl__context/add_verify_path.html
new file mode 100644
index 0000000000..f949626740
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/add_verify_path.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::add_verify_path</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="add_certificate_authority/overload2.html" title="ssl::context::add_certificate_authority (2 of 2 overloads)">
+<link rel="next" href="add_verify_path/overload1.html" title="ssl::context::add_verify_path (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add_certificate_authority/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_verify_path/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.add_verify_path"></a><a class="link" href="add_verify_path.html" title="ssl::context::add_verify_path">ssl::context::add_verify_path</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167835760"></a>
+Add a directory containing certificate authority
+ files to be used for performing verification.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="add_verify_path/overload1.html" title="ssl::context::add_verify_path (1 of 2 overloads)">add_verify_path</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="add_verify_path/overload1.html" title="ssl::context::add_verify_path (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="add_verify_path/overload2.html" title="ssl::context::add_verify_path (2 of 2 overloads)">add_verify_path</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="add_verify_path/overload2.html" title="ssl::context::add_verify_path (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="add_certificate_authority/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="add_verify_path/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload1.html b/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload1.html
new file mode 100644
index 0000000000..de54eb3cc3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload1.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::add_verify_path (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../add_verify_path.html" title="ssl::context::add_verify_path">
+<link rel="prev" href="../add_verify_path.html" title="ssl::context::add_verify_path">
+<link rel="next" href="overload2.html" title="ssl::context::add_verify_path (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload1"></a><a class="link" href="overload1.html" title="ssl::context::add_verify_path (1 of 2 overloads)">ssl::context::add_verify_path
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Add a directory containing certificate authority files to be used for
+ performing verification.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add_verify_path</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify the name of a directory containing certification
+ authority certificates. Each file in the directory must contain a single
+ certificate. The files must be named using the subject name's hash and
+ an extension of ".0".
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.add_verify_path.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">path</span></dt>
+<dd><p>
+ The name of a directory containing the certificates.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.add_verify_path.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.add_verify_path.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../add_verify_path.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload2.html b/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload2.html
new file mode 100644
index 0000000000..207bed26eb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload2.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::add_verify_path (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../add_verify_path.html" title="ssl::context::add_verify_path">
+<link rel="prev" href="overload1.html" title="ssl::context::add_verify_path (1 of 2 overloads)">
+<link rel="next" href="../clear_options.html" title="ssl::context::clear_options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../clear_options.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload2"></a><a class="link" href="overload2.html" title="ssl::context::add_verify_path (2 of 2 overloads)">ssl::context::add_verify_path
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Add a directory containing certificate authority files to be used for
+ performing verification.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">add_verify_path</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">path</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify the name of a directory containing certification
+ authority certificates. Each file in the directory must contain a single
+ certificate. The files must be named using the subject name's hash and
+ an extension of ".0".
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.add_verify_path.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">path</span></dt>
+<dd><p>
+ The name of a directory containing the certificates.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.add_verify_path.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.add_verify_path.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.add_verify_path.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../add_verify_path.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../clear_options.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/clear_options.html b/doc/html/boost_asio/reference/ssl__context/clear_options.html
new file mode 100644
index 0000000000..a8d0d89105
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/clear_options.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::clear_options</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="add_verify_path/overload2.html" title="ssl::context::add_verify_path (2 of 2 overloads)">
+<link rel="next" href="clear_options/overload1.html" title="ssl::context::clear_options (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add_verify_path/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear_options/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.clear_options"></a><a class="link" href="clear_options.html" title="ssl::context::clear_options">ssl::context::clear_options</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167916352"></a>
+Clear options on the context.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="clear_options/overload1.html" title="ssl::context::clear_options (1 of 2 overloads)">clear_options</a><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="clear_options/overload1.html" title="ssl::context::clear_options (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="clear_options/overload2.html" title="ssl::context::clear_options (2 of 2 overloads)">clear_options</a><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="clear_options/overload2.html" title="ssl::context::clear_options (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="add_verify_path/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear_options/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/clear_options/overload1.html b/doc/html/boost_asio/reference/ssl__context/clear_options/overload1.html
new file mode 100644
index 0000000000..972f0ef563
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/clear_options/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::clear_options (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../clear_options.html" title="ssl::context::clear_options">
+<link rel="prev" href="../clear_options.html" title="ssl::context::clear_options">
+<link rel="next" href="overload2.html" title="ssl::context::clear_options (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../clear_options.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.clear_options.overload1"></a><a class="link" href="overload1.html" title="ssl::context::clear_options (1 of 2 overloads)">ssl::context::clear_options
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Clear options on the context.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">clear_options</span><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the SSL options used by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.clear_options.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.clear_options.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">o</span></dt>
+<dd><p>
+ A bitmask of options. The available option values are defined in
+ the <a class="link" href="../../ssl__context_base.html" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
+ specified options, if currently enabled on the context, are cleared.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.clear_options.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.clear_options.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.clear_options.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.clear_options.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_clear_options</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../clear_options.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/clear_options/overload2.html b/doc/html/boost_asio/reference/ssl__context/clear_options/overload2.html
new file mode 100644
index 0000000000..883a654565
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/clear_options/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::clear_options (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../clear_options.html" title="ssl::context::clear_options">
+<link rel="prev" href="overload1.html" title="ssl::context::clear_options (1 of 2 overloads)">
+<link rel="next" href="../context.html" title="ssl::context::context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../context.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.clear_options.overload2"></a><a class="link" href="overload2.html" title="ssl::context::clear_options (2 of 2 overloads)">ssl::context::clear_options
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Clear options on the context.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">clear_options</span><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the SSL options used by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.clear_options.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.clear_options.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">o</span></dt>
+<dd><p>
+ A bitmask of options. The available option values are defined in
+ the <a class="link" href="../../ssl__context_base.html" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
+ specified options, if currently enabled on the context, are cleared.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.clear_options.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.clear_options.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.clear_options.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_clear_options</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../clear_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../context.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/context.html b/doc/html/boost_asio/reference/ssl__context/context.html
new file mode 100644
index 0000000000..ceb441a8f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/context.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::context</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="clear_options/overload2.html" title="ssl::context::clear_options (2 of 2 overloads)">
+<link rel="next" href="context/overload1.html" title="ssl::context::context (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="clear_options/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="context/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.context"></a><a class="link" href="context.html" title="ssl::context::context">ssl::context::context</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp167991872"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="context/overload1.html" title="ssl::context::context (1 of 3 overloads)">context</a><span class="special">(</span>
+ <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="context/overload1.html" title="ssl::context::context (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Deprecated constructor taking a reference to an <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
+ </p>
+<pre class="programlisting"><a class="link" href="context/overload2.html" title="ssl::context::context (2 of 3 overloads)">context</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="special">,</span>
+ <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="context/overload2.html" title="ssl::context::context (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a context from another.
+ </p>
+<pre class="programlisting"><a class="link" href="context/overload3.html" title="ssl::context::context (3 of 3 overloads)">context</a><span class="special">(</span>
+ <span class="identifier">context</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="context/overload3.html" title="ssl::context::context (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="clear_options/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="context/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/context/overload1.html b/doc/html/boost_asio/reference/ssl__context/context/overload1.html
new file mode 100644
index 0000000000..2dee6987b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/context/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::context (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../context.html" title="ssl::context::context">
+<link rel="prev" href="../context.html" title="ssl::context::context">
+<link rel="next" href="overload2.html" title="ssl::context::context (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../context.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.context.overload1"></a><a class="link" href="overload1.html" title="ssl::context::context (1 of 3 overloads)">ssl::context::context
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span>
+ <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../context.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../context.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/context/overload2.html b/doc/html/boost_asio/reference/ssl__context/context/overload2.html
new file mode 100644
index 0000000000..c4d0a4ffc7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/context/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::context (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../context.html" title="ssl::context::context">
+<link rel="prev" href="overload1.html" title="ssl::context::context (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="ssl::context::context (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../context.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.context.overload2"></a><a class="link" href="overload2.html" title="ssl::context::context (2 of 3 overloads)">ssl::context::context
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Deprecated constructor taking a reference to an <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object.
+ </p>
+<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="special">,</span>
+ <span class="identifier">method</span> <span class="identifier">m</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../context.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/context/overload3.html b/doc/html/boost_asio/reference/ssl__context/context/overload3.html
new file mode 100644
index 0000000000..3430159378
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/context/overload3.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::context (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../context.html" title="ssl::context::context">
+<link rel="prev" href="overload2.html" title="ssl::context::context (2 of 3 overloads)">
+<link rel="next" href="../default_workarounds.html" title="ssl::context::default_workarounds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../context.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_workarounds.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.context.overload3"></a><a class="link" href="overload3.html" title="ssl::context::context (3 of 3 overloads)">ssl::context::context
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a context from another.
+ </p>
+<pre class="programlisting"><span class="identifier">context</span><span class="special">(</span>
+ <span class="identifier">context</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves an SSL context from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.context.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.context.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.ssl__context.context.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other context object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.context.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.context.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.ssl__context.context.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the following operations only are valid for the moved-from
+ object: * Destruction.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ As a target for move-assignment.
+ </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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../context.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../default_workarounds.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/default_workarounds.html b/doc/html/boost_asio/reference/ssl__context/default_workarounds.html
new file mode 100644
index 0000000000..a189a46971
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/default_workarounds.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::default_workarounds</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="context/overload3.html" title="ssl::context::context (3 of 3 overloads)">
+<link rel="next" href="file_format.html" title="ssl::context::file_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="context/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="file_format.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.default_workarounds"></a><a class="link" href="default_workarounds.html" title="ssl::context::default_workarounds">ssl::context::default_workarounds</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168054720"></a>
+Implement various bug workarounds.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">default_workarounds</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="context/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="file_format.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/file_format.html b/doc/html/boost_asio/reference/ssl__context/file_format.html
new file mode 100644
index 0000000000..1b9e7035b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/file_format.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::file_format</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="default_workarounds.html" title="ssl::context::default_workarounds">
+<link rel="next" href="impl.html" title="ssl::context::impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="default_workarounds.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.file_format"></a><a class="link" href="file_format.html" title="ssl::context::file_format">ssl::context::file_format</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168063552"></a>
+File format types.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">file_format</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp168067072"></a>
+ <a class="indexterm" name="idp168068176"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.file_format.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.file_format.values"></a></span><a class="link" href="file_format.html#boost_asio.reference.ssl__context.file_format.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">asn1</span></dt>
+<dd><p>
+ ASN.1 file.
+ </p></dd>
+<dt><span class="term">pem</span></dt>
+<dd><p>
+ PEM file.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="default_workarounds.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/impl.html b/doc/html/boost_asio/reference/ssl__context/impl.html
new file mode 100644
index 0000000000..93860894fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/impl.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::impl</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="file_format.html" title="ssl::context::file_format">
+<link rel="next" href="impl_type.html" title="ssl::context::impl_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="file_format.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.impl"></a><a class="link" href="impl.html" title="ssl::context::impl">ssl::context::impl</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168078080"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the underlying implementation in
+ the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">impl_type</span> <span class="identifier">impl</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying implementation of the
+ context. This is intended to allow access to context functionality that
+ is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="file_format.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/impl_type.html b/doc/html/boost_asio/reference/ssl__context/impl_type.html
new file mode 100644
index 0000000000..a59b8d76c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/impl_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::impl_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="impl.html" title="ssl::context::impl">
+<link rel="next" href="load_verify_file.html" title="ssl::context::load_verify_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="impl.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load_verify_file.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.impl_type"></a><a class="link" href="impl_type.html" title="ssl::context::impl_type">ssl::context::impl_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168086464"></a>
+(Deprecated: Use native_handle_type.) The native type
+ of the SSL context.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SSL_CTX</span> <span class="special">*</span> <span class="identifier">impl_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__context.impl_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.impl_type.requirements"></a></span><a class="link" href="impl_type.html#boost_asio.reference.ssl__context.impl_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="impl.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load_verify_file.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/load_verify_file.html b/doc/html/boost_asio/reference/ssl__context/load_verify_file.html
new file mode 100644
index 0000000000..fb93cd0293
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/load_verify_file.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::load_verify_file</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="impl_type.html" title="ssl::context::impl_type">
+<link rel="next" href="load_verify_file/overload1.html" title="ssl::context::load_verify_file (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="impl_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load_verify_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.load_verify_file"></a><a class="link" href="load_verify_file.html" title="ssl::context::load_verify_file">ssl::context::load_verify_file</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168099424"></a>
+Load a certification authority file for performing
+ verification.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="load_verify_file/overload1.html" title="ssl::context::load_verify_file (1 of 2 overloads)">load_verify_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="load_verify_file/overload1.html" title="ssl::context::load_verify_file (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="load_verify_file/overload2.html" title="ssl::context::load_verify_file (2 of 2 overloads)">load_verify_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="load_verify_file/overload2.html" title="ssl::context::load_verify_file (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="impl_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="load_verify_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/load_verify_file/overload1.html b/doc/html/boost_asio/reference/ssl__context/load_verify_file/overload1.html
new file mode 100644
index 0000000000..a8cc544c6e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/load_verify_file/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::load_verify_file (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../load_verify_file.html" title="ssl::context::load_verify_file">
+<link rel="prev" href="../load_verify_file.html" title="ssl::context::load_verify_file">
+<link rel="next" href="overload2.html" title="ssl::context::load_verify_file (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../load_verify_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../load_verify_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload1"></a><a class="link" href="overload1.html" title="ssl::context::load_verify_file (1 of 2 overloads)">ssl::context::load_verify_file
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Load a certification authority file for performing verification.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">load_verify_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load one or more trusted certification authorities
+ from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.load_verify_file.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of a file containing certification authority certificates
+ in PEM format.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.load_verify_file.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.load_verify_file.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../load_verify_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../load_verify_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/load_verify_file/overload2.html b/doc/html/boost_asio/reference/ssl__context/load_verify_file/overload2.html
new file mode 100644
index 0000000000..7267f410d1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/load_verify_file/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::load_verify_file (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../load_verify_file.html" title="ssl::context::load_verify_file">
+<link rel="prev" href="overload1.html" title="ssl::context::load_verify_file (1 of 2 overloads)">
+<link rel="next" href="../method.html" title="ssl::context::method">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../load_verify_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../method.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload2"></a><a class="link" href="overload2.html" title="ssl::context::load_verify_file (2 of 2 overloads)">ssl::context::load_verify_file
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Load a certification authority file for performing verification.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">load_verify_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load the certificates for one or more trusted
+ certification authorities from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.load_verify_file.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of a file containing certification authority certificates
+ in PEM format.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.load_verify_file.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.load_verify_file.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.load_verify_file.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_load_verify_locations</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../load_verify_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../method.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/method.html b/doc/html/boost_asio/reference/ssl__context/method.html
new file mode 100644
index 0000000000..c70542d96a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/method.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::method</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="load_verify_file/overload2.html" title="ssl::context::load_verify_file (2 of 2 overloads)">
+<link rel="next" href="native_handle.html" title="ssl::context::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="load_verify_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.method"></a><a class="link" href="method.html" title="ssl::context::method">ssl::context::method</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168178512"></a>
+Different methods supported by a context.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">method</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp168182144"></a>
+ <a class="indexterm" name="idp168183248"></a>
+ <a class="indexterm" name="idp168184352"></a>
+ <a class="indexterm" name="idp168185456"></a>
+ <a class="indexterm" name="idp168186560"></a>
+ <a class="indexterm" name="idp168187664"></a>
+ <a class="indexterm" name="idp168188768"></a>
+ <a class="indexterm" name="idp168189872"></a>
+ <a class="indexterm" name="idp168190976"></a>
+ <a class="indexterm" name="idp168192080"></a>
+ <a class="indexterm" name="idp168193184"></a>
+ <a class="indexterm" name="idp168194288"></a>
+ <a class="indexterm" name="idp168195392"></a>
+ <a class="indexterm" name="idp168196496"></a>
+ <a class="indexterm" name="idp168197600"></a>
+ <a class="indexterm" name="idp168198704"></a>
+ <a class="indexterm" name="idp168199808"></a>
+ <a class="indexterm" name="idp168200912"></a>
+ <a class="indexterm" name="idp168202016"></a>
+ <a class="indexterm" name="idp168203136"></a>
+ <a class="indexterm" name="idp168204240"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.method.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.method.values"></a></span><a class="link" href="method.html#boost_asio.reference.ssl__context.method.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">sslv2</span></dt>
+<dd><p>
+ Generic SSL version 2.
+ </p></dd>
+<dt><span class="term">sslv2_client</span></dt>
+<dd><p>
+ SSL version 2 client.
+ </p></dd>
+<dt><span class="term">sslv2_server</span></dt>
+<dd><p>
+ SSL version 2 server.
+ </p></dd>
+<dt><span class="term">sslv3</span></dt>
+<dd><p>
+ Generic SSL version 3.
+ </p></dd>
+<dt><span class="term">sslv3_client</span></dt>
+<dd><p>
+ SSL version 3 client.
+ </p></dd>
+<dt><span class="term">sslv3_server</span></dt>
+<dd><p>
+ SSL version 3 server.
+ </p></dd>
+<dt><span class="term">tlsv1</span></dt>
+<dd><p>
+ Generic TLS version 1.
+ </p></dd>
+<dt><span class="term">tlsv1_client</span></dt>
+<dd><p>
+ TLS version 1 client.
+ </p></dd>
+<dt><span class="term">tlsv1_server</span></dt>
+<dd><p>
+ TLS version 1 server.
+ </p></dd>
+<dt><span class="term">sslv23</span></dt>
+<dd><p>
+ Generic SSL/TLS.
+ </p></dd>
+<dt><span class="term">sslv23_client</span></dt>
+<dd><p>
+ SSL/TLS client.
+ </p></dd>
+<dt><span class="term">sslv23_server</span></dt>
+<dd><p>
+ SSL/TLS server.
+ </p></dd>
+<dt><span class="term">tlsv11</span></dt>
+<dd><p>
+ Generic TLS version 1.1.
+ </p></dd>
+<dt><span class="term">tlsv11_client</span></dt>
+<dd><p>
+ TLS version 1.1 client.
+ </p></dd>
+<dt><span class="term">tlsv11_server</span></dt>
+<dd><p>
+ TLS version 1.1 server.
+ </p></dd>
+<dt><span class="term">tlsv12</span></dt>
+<dd><p>
+ Generic TLS version 1.2.
+ </p></dd>
+<dt><span class="term">tlsv12_client</span></dt>
+<dd><p>
+ TLS version 1.2 client.
+ </p></dd>
+<dt><span class="term">tlsv12_server</span></dt>
+<dd><p>
+ TLS version 1.2 server.
+ </p></dd>
+<dt><span class="term">tls</span></dt>
+<dd><p>
+ Generic TLS.
+ </p></dd>
+<dt><span class="term">tls_client</span></dt>
+<dd><p>
+ TLS client.
+ </p></dd>
+<dt><span class="term">tls_server</span></dt>
+<dd><p>
+ TLS server.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="load_verify_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/native_handle.html b/doc/html/boost_asio/reference/ssl__context/native_handle.html
new file mode 100644
index 0000000000..c455f9f800
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/native_handle.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="method.html" title="ssl::context::method">
+<link rel="next" href="native_handle_type.html" title="ssl::context::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="method.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.native_handle"></a><a class="link" href="native_handle.html" title="ssl::context::native_handle">ssl::context::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168245456"></a>
+Get the underlying implementation in the native
+ type.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying implementation of the
+ context. This is intended to allow access to context functionality that
+ is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="method.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/native_handle_type.html b/doc/html/boost_asio/reference/ssl__context/native_handle_type.html
new file mode 100644
index 0000000000..78991bf38e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="native_handle.html" title="ssl::context::native_handle">
+<link rel="next" href="no_compression.html" title="ssl::context::no_compression">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_compression.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.native_handle_type"></a><a class="link" href="native_handle_type.html" title="ssl::context::native_handle_type">ssl::context::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168252112"></a>
+The native handle type of the SSL context.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SSL_CTX</span> <span class="special">*</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__context.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.ssl__context.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_compression.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/no_compression.html b/doc/html/boost_asio/reference/ssl__context/no_compression.html
new file mode 100644
index 0000000000..31bec35a18
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/no_compression.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::no_compression</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="native_handle_type.html" title="ssl::context::native_handle_type">
+<link rel="next" href="no_sslv2.html" title="ssl::context::no_sslv2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.no_compression"></a><a class="link" href="no_compression.html" title="ssl::context::no_compression">ssl::context::no_compression</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168265024"></a>
+Disable compression. Compression is disabled
+ by default.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_compression</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/no_sslv2.html b/doc/html/boost_asio/reference/ssl__context/no_sslv2.html
new file mode 100644
index 0000000000..23a1905ab4
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/no_sslv2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::no_sslv2</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="no_compression.html" title="ssl::context::no_compression">
+<link rel="next" href="no_sslv3.html" title="ssl::context::no_sslv3">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_compression.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.no_sslv2"></a><a class="link" href="no_sslv2.html" title="ssl::context::no_sslv2">ssl::context::no_sslv2</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168273776"></a>
+Disable SSL v2.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_compression.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/no_sslv3.html b/doc/html/boost_asio/reference/ssl__context/no_sslv3.html
new file mode 100644
index 0000000000..1d184f6c9f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/no_sslv3.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::no_sslv3</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="no_sslv2.html" title="ssl::context::no_sslv2">
+<link rel="next" href="no_tlsv1.html" title="ssl::context::no_tlsv1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_sslv2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.no_sslv3"></a><a class="link" href="no_sslv3.html" title="ssl::context::no_sslv3">ssl::context::no_sslv3</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168282480"></a>
+Disable SSL v3.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv3</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_sslv2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/no_tlsv1.html b/doc/html/boost_asio/reference/ssl__context/no_tlsv1.html
new file mode 100644
index 0000000000..9f72439e09
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/no_tlsv1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::no_tlsv1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="no_sslv3.html" title="ssl::context::no_sslv3">
+<link rel="next" href="no_tlsv1_1.html" title="ssl::context::no_tlsv1_1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_sslv3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.no_tlsv1"></a><a class="link" href="no_tlsv1.html" title="ssl::context::no_tlsv1">ssl::context::no_tlsv1</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168291120"></a>
+Disable TLS v1.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_sslv3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/no_tlsv1_1.html b/doc/html/boost_asio/reference/ssl__context/no_tlsv1_1.html
new file mode 100644
index 0000000000..b5c78819ca
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/no_tlsv1_1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::no_tlsv1_1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="no_tlsv1.html" title="ssl::context::no_tlsv1">
+<link rel="next" href="no_tlsv1_2.html" title="ssl::context::no_tlsv1_2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_tlsv1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.no_tlsv1_1"></a><a class="link" href="no_tlsv1_1.html" title="ssl::context::no_tlsv1_1">ssl::context::no_tlsv1_1</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168299776"></a>
+Disable TLS v1.1.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_tlsv1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/no_tlsv1_2.html b/doc/html/boost_asio/reference/ssl__context/no_tlsv1_2.html
new file mode 100644
index 0000000000..9a5c3ac8d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/no_tlsv1_2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::no_tlsv1_2</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="no_tlsv1_1.html" title="ssl::context::no_tlsv1_1">
+<link rel="next" href="operator_eq_.html" title="ssl::context::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_tlsv1_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.no_tlsv1_2"></a><a class="link" href="no_tlsv1_2.html" title="ssl::context::no_tlsv1_2">ssl::context::no_tlsv1_2</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168308432"></a>
+Disable TLS v1.2.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_tlsv1_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/operator_eq_.html b/doc/html/boost_asio/reference/ssl__context/operator_eq_.html
new file mode 100644
index 0000000000..cb7bf149c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/operator_eq_.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="no_tlsv1_2.html" title="ssl::context::no_tlsv1_2">
+<link rel="next" href="options.html" title="ssl::context::options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_tlsv1_2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="options.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.operator_eq_"></a><a class="link" href="operator_eq_.html" title="ssl::context::operator=">ssl::context::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168316912"></a>
+Move-assign a context from another.
+ </p>
+<pre class="programlisting"><span class="identifier">context</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">context</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves an SSL context from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.ssl__context.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other context object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.ssl__context.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the following operations only are valid for the moved-from
+ object: * Destruction.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ As a target for move-assignment.
+ </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 &#169; 2003-2017 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="no_tlsv1_2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="options.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/options.html b/doc/html/boost_asio/reference/ssl__context/options.html
new file mode 100644
index 0000000000..0694ec1392
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/options.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::options</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="operator_eq_.html" title="ssl::context::operator=">
+<link rel="next" href="password_purpose.html" title="ssl::context::password_purpose">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="password_purpose.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.options"></a><a class="link" href="options.html" title="ssl::context::options">ssl::context::options</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168336464"></a>
+Bitmask type for SSL options.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="identifier">options</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__context.options.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.options.requirements"></a></span><a class="link" href="options.html#boost_asio.reference.ssl__context.options.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="password_purpose.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/password_purpose.html b/doc/html/boost_asio/reference/ssl__context/password_purpose.html
new file mode 100644
index 0000000000..8897dd1ed8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/password_purpose.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::password_purpose</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="options.html" title="ssl::context::options">
+<link rel="next" href="set_default_verify_paths.html" title="ssl::context::set_default_verify_paths">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_default_verify_paths.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.password_purpose"></a><a class="link" href="password_purpose.html" title="ssl::context::password_purpose">ssl::context::password_purpose</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168348576"></a>
+Purpose of PEM password.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">password_purpose</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp168352096"></a>
+ <a class="indexterm" name="idp168353200"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.password_purpose.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.password_purpose.values"></a></span><a class="link" href="password_purpose.html#boost_asio.reference.ssl__context.password_purpose.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">for_reading</span></dt>
+<dd><p>
+ The password is needed for reading/decryption.
+ </p></dd>
+<dt><span class="term">for_writing</span></dt>
+<dd><p>
+ The password is needed for writing/encryption.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="options.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_default_verify_paths.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths.html b/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths.html
new file mode 100644
index 0000000000..c70e378a7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_default_verify_paths</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="password_purpose.html" title="ssl::context::password_purpose">
+<link rel="next" href="set_default_verify_paths/overload1.html" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="password_purpose.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_default_verify_paths/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths"></a><a class="link" href="set_default_verify_paths.html" title="ssl::context::set_default_verify_paths">ssl::context::set_default_verify_paths</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168363328"></a>
+Configures the context to use the default
+ directories for finding certification authority certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_default_verify_paths/overload1.html" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">set_default_verify_paths</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_default_verify_paths/overload1.html" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_default_verify_paths/overload2.html" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">set_default_verify_paths</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_default_verify_paths/overload2.html" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="password_purpose.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_default_verify_paths/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload1.html b/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload1.html
new file mode 100644
index 0000000000..5f056145a2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload1.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_default_verify_paths (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_default_verify_paths.html" title="ssl::context::set_default_verify_paths">
+<link rel="prev" href="../set_default_verify_paths.html" title="ssl::context::set_default_verify_paths">
+<link rel="next" href="overload2.html" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_default_verify_paths.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_default_verify_paths.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1"></a><a class="link" href="overload1.html" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">ssl::context::set_default_verify_paths
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Configures the context to use the default directories for finding certification
+ authority certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_default_verify_paths</span><span class="special">();</span>
+</pre>
+<p>
+ This function specifies that the context should use the default, system-dependent
+ directories for locating certification authority certificates.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_verify_paths</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_default_verify_paths.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_default_verify_paths.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload2.html b/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload2.html
new file mode 100644
index 0000000000..c76c622c46
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_default_verify_paths/overload2.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_default_verify_paths (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_default_verify_paths.html" title="ssl::context::set_default_verify_paths">
+<link rel="prev" href="overload1.html" title="ssl::context::set_default_verify_paths (1 of 2 overloads)">
+<link rel="next" href="../set_options.html" title="ssl::context::set_options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_default_verify_paths.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_options.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2"></a><a class="link" href="overload2.html" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">ssl::context::set_default_verify_paths
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Configures the context to use the default directories for finding certification
+ authority certificates.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_default_verify_paths</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function specifies that the context should use the default, system-dependent
+ directories for locating certification authority certificates.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_default_verify_paths.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_default_verify_paths.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_verify_paths</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_default_verify_paths.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_options.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_options.html b/doc/html/boost_asio/reference/ssl__context/set_options.html
new file mode 100644
index 0000000000..a7ecd134a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_options.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_options</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="set_default_verify_paths/overload2.html" title="ssl::context::set_default_verify_paths (2 of 2 overloads)">
+<link rel="next" href="set_options/overload1.html" title="ssl::context::set_options (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_default_verify_paths/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_options/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.set_options"></a><a class="link" href="set_options.html" title="ssl::context::set_options">ssl::context::set_options</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168419424"></a>
+Set options on the context.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_options/overload1.html" title="ssl::context::set_options (1 of 2 overloads)">set_options</a><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_options/overload1.html" title="ssl::context::set_options (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_options/overload2.html" title="ssl::context::set_options (2 of 2 overloads)">set_options</a><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_options/overload2.html" title="ssl::context::set_options (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_default_verify_paths/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_options/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_options/overload1.html b/doc/html/boost_asio/reference/ssl__context/set_options/overload1.html
new file mode 100644
index 0000000000..a6b0c27ed3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_options/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_options (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_options.html" title="ssl::context::set_options">
+<link rel="prev" href="../set_options.html" title="ssl::context::set_options">
+<link rel="next" href="overload2.html" title="ssl::context::set_options (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_options.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_options.overload1"></a><a class="link" href="overload1.html" title="ssl::context::set_options (1 of 2 overloads)">ssl::context::set_options
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set options on the context.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_options</span><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the SSL options used by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_options.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_options.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">o</span></dt>
+<dd><p>
+ A bitmask of options. The available option values are defined in
+ the <a class="link" href="../../ssl__context_base.html" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
+ options are bitwise-ored with any existing value for the options.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_options.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_options.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_options.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_options.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_options</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_options.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_options/overload2.html b/doc/html/boost_asio/reference/ssl__context/set_options/overload2.html
new file mode 100644
index 0000000000..19dfecdbf5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_options/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_options (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_options.html" title="ssl::context::set_options">
+<link rel="prev" href="overload1.html" title="ssl::context::set_options (1 of 2 overloads)">
+<link rel="next" href="../set_password_callback.html" title="ssl::context::set_password_callback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_options.overload2"></a><a class="link" href="overload2.html" title="ssl::context::set_options (2 of 2 overloads)">ssl::context::set_options
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set options on the context.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_options</span><span class="special">(</span>
+ <span class="identifier">options</span> <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the SSL options used by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_options.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_options.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">o</span></dt>
+<dd><p>
+ A bitmask of options. The available option values are defined in
+ the <a class="link" href="../../ssl__context_base.html" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a> class. The
+ options are bitwise-ored with any existing value for the options.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_options.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_options.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_options.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_options</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_options.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_password_callback.html b/doc/html/boost_asio/reference/ssl__context/set_password_callback.html
new file mode 100644
index 0000000000..e754cebaab
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_password_callback.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_password_callback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="set_options/overload2.html" title="ssl::context::set_options (2 of 2 overloads)">
+<link rel="next" href="set_password_callback/overload1.html" title="ssl::context::set_password_callback (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_options/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_password_callback/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.set_password_callback"></a><a class="link" href="set_password_callback.html" title="ssl::context::set_password_callback">ssl::context::set_password_callback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168494544"></a>
+Set the password callback.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="set_password_callback/overload1.html" title="ssl::context::set_password_callback (1 of 2 overloads)">set_password_callback</a><span class="special">(</span>
+ <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_password_callback/overload1.html" title="ssl::context::set_password_callback (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_password_callback/overload2.html" title="ssl::context::set_password_callback (2 of 2 overloads)">set_password_callback</a><span class="special">(</span>
+ <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_password_callback/overload2.html" title="ssl::context::set_password_callback (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_options/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_password_callback/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_password_callback/overload1.html b/doc/html/boost_asio/reference/ssl__context/set_password_callback/overload1.html
new file mode 100644
index 0000000000..6c7a69fdc6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_password_callback/overload1.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_password_callback (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_password_callback.html" title="ssl::context::set_password_callback">
+<link rel="prev" href="../set_password_callback.html" title="ssl::context::set_password_callback">
+<link rel="next" href="overload2.html" title="ssl::context::set_password_callback (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload1"></a><a class="link" href="overload1.html" title="ssl::context::set_password_callback (1 of 2 overloads)">ssl::context::set_password_callback
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the password callback.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_password_callback</span><span class="special">(</span>
+ <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify a callback function to obtain password
+ information about an encrypted key in PEM format.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_password_callback.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">callback</span></dt>
+<dd>
+<p>
+ The function object to be used for obtaining the password. The
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">password_callback</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_length</span><span class="special">,</span> <span class="comment">// The maximum size for a password.</span>
+ <span class="identifier">password_purpose</span> <span class="identifier">purpose</span> <span class="comment">// Whether password is for reading or writing.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ The return value of the callback is a string containing the password.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_password_callback.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_password_callback.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_passwd_cb</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_password_callback.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_password_callback/overload2.html b/doc/html/boost_asio/reference/ssl__context/set_password_callback/overload2.html
new file mode 100644
index 0000000000..bf87a6d9a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_password_callback/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_password_callback (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_password_callback.html" title="ssl::context::set_password_callback">
+<link rel="prev" href="overload1.html" title="ssl::context::set_password_callback (1 of 2 overloads)">
+<link rel="next" href="../set_verify_callback.html" title="ssl::context::set_verify_callback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload2"></a><a class="link" href="overload2.html" title="ssl::context::set_password_callback (2 of 2 overloads)">ssl::context::set_password_callback
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the password callback.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">PasswordCallback</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_password_callback</span><span class="special">(</span>
+ <span class="identifier">PasswordCallback</span> <span class="identifier">callback</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify a callback function to obtain password
+ information about an encrypted key in PEM format.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_password_callback.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">callback</span></dt>
+<dd>
+<p>
+ The function object to be used for obtaining the password. The
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">password_callback</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">max_length</span><span class="special">,</span> <span class="comment">// The maximum size for a password.</span>
+ <span class="identifier">password_purpose</span> <span class="identifier">purpose</span> <span class="comment">// Whether password is for reading or writing.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ The return value of the callback is a string containing the password.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_password_callback.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_password_callback.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_password_callback.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_default_passwd_cb</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_password_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_callback.html b/doc/html/boost_asio/reference/ssl__context/set_verify_callback.html
new file mode 100644
index 0000000000..8a77c83057
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_callback.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_callback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="set_password_callback/overload2.html" title="ssl::context::set_password_callback (2 of 2 overloads)">
+<link rel="next" href="set_verify_callback/overload1.html" title="ssl::context::set_verify_callback (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_password_callback/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_callback/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_callback"></a><a class="link" href="set_verify_callback.html" title="ssl::context::set_verify_callback">ssl::context::set_verify_callback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168597744"></a>
+Set the callback used to verify peer certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="set_verify_callback/overload1.html" title="ssl::context::set_verify_callback (1 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_callback/overload1.html" title="ssl::context::set_verify_callback (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_verify_callback/overload2.html" title="ssl::context::set_verify_callback (2 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_callback/overload2.html" title="ssl::context::set_verify_callback (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_password_callback/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_callback/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload1.html b/doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload1.html
new file mode 100644
index 0000000000..41d548bfec
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload1.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_callback (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_callback.html" title="ssl::context::set_verify_callback">
+<link rel="prev" href="../set_verify_callback.html" title="ssl::context::set_verify_callback">
+<link rel="next" href="overload2.html" title="ssl::context::set_verify_callback (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1"></a><a class="link" href="overload1.html" title="ssl::context::set_verify_callback (1 of 2 overloads)">ssl::context::set_verify_callback
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the callback used to verify peer certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify a callback function that will be called
+ by the implementation when it needs to verify a peer certificate.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_callback.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">callback</span></dt>
+<dd>
+<p>
+ The function object to be used for verifying a certificate. The
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
+ <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ The return value of the callback is true if the certificate has
+ passed verification, false otherwise.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_callback.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_callback.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_verify_callback.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload2.html b/doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload2.html
new file mode 100644
index 0000000000..3b73b6d0ea
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_callback/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_callback (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_callback.html" title="ssl::context::set_verify_callback">
+<link rel="prev" href="overload1.html" title="ssl::context::set_verify_callback (1 of 2 overloads)">
+<link rel="next" href="../set_verify_depth.html" title="ssl::context::set_verify_depth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload2"></a><a class="link" href="overload2.html" title="ssl::context::set_verify_callback (2 of 2 overloads)">ssl::context::set_verify_callback
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the callback used to verify peer certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify a callback function that will be called
+ by the implementation when it needs to verify a peer certificate.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_verify_callback.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">callback</span></dt>
+<dd>
+<p>
+ The function object to be used for verifying a certificate. The
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
+ <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ The return value of the callback is true if the certificate has
+ passed verification, false otherwise.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_callback.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_verify_callback.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_depth.html b/doc/html/boost_asio/reference/ssl__context/set_verify_depth.html
new file mode 100644
index 0000000000..be303031b8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_depth.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_depth</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="set_verify_callback/overload2.html" title="ssl::context::set_verify_callback (2 of 2 overloads)">
+<link rel="next" href="set_verify_depth/overload1.html" title="ssl::context::set_verify_depth (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_verify_callback/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_depth/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_depth"></a><a class="link" href="set_verify_depth.html" title="ssl::context::set_verify_depth">ssl::context::set_verify_depth</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168698160"></a>
+Set the peer verification depth.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_verify_depth/overload1.html" title="ssl::context::set_verify_depth (1 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_depth/overload1.html" title="ssl::context::set_verify_depth (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_verify_depth/overload2.html" title="ssl::context::set_verify_depth (2 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_depth/overload2.html" title="ssl::context::set_verify_depth (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_verify_callback/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_depth/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload1.html b/doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload1.html
new file mode 100644
index 0000000000..95df7e2bf8
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_depth (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_depth.html" title="ssl::context::set_verify_depth">
+<link rel="prev" href="../set_verify_depth.html" title="ssl::context::set_verify_depth">
+<link rel="next" href="overload2.html" title="ssl::context::set_verify_depth (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1"></a><a class="link" href="overload1.html" title="ssl::context::set_verify_depth (1 of 2 overloads)">ssl::context::set_verify_depth
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification depth.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the maximum verification depth
+ allowed by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_depth.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">depth</span></dt>
+<dd><p>
+ Maximum depth for the certificate chain verification that shall
+ be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_depth.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_depth.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify_depth</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_verify_depth.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload2.html b/doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload2.html
new file mode 100644
index 0000000000..4326332204
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_depth/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_depth (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_depth.html" title="ssl::context::set_verify_depth">
+<link rel="prev" href="overload1.html" title="ssl::context::set_verify_depth (1 of 2 overloads)">
+<link rel="next" href="../set_verify_mode.html" title="ssl::context::set_verify_mode">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload2"></a><a class="link" href="overload2.html" title="ssl::context::set_verify_depth (2 of 2 overloads)">ssl::context::set_verify_depth
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification depth.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the maximum verification depth
+ allowed by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_verify_depth.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">depth</span></dt>
+<dd><p>
+ Maximum depth for the certificate chain verification that shall
+ be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_depth.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_verify_depth.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify_depth</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_mode.html b/doc/html/boost_asio/reference/ssl__context/set_verify_mode.html
new file mode 100644
index 0000000000..797ac7d482
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_mode.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_mode</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="set_verify_depth/overload2.html" title="ssl::context::set_verify_depth (2 of 2 overloads)">
+<link rel="next" href="set_verify_mode/overload1.html" title="ssl::context::set_verify_mode (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_verify_depth/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_mode/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_mode"></a><a class="link" href="set_verify_mode.html" title="ssl::context::set_verify_mode">ssl::context::set_verify_mode</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168767760"></a>
+Set the peer verification mode.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_verify_mode/overload1.html" title="ssl::context::set_verify_mode (1 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_mode/overload1.html" title="ssl::context::set_verify_mode (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_verify_mode/overload2.html" title="ssl::context::set_verify_mode (2 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_mode/overload2.html" title="ssl::context::set_verify_mode (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_verify_depth/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_mode/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload1.html b/doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload1.html
new file mode 100644
index 0000000000..426d785954
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_mode (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_mode.html" title="ssl::context::set_verify_mode">
+<link rel="prev" href="../set_verify_mode.html" title="ssl::context::set_verify_mode">
+<link rel="next" href="overload2.html" title="ssl::context::set_verify_mode (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1"></a><a class="link" href="overload1.html" title="ssl::context::set_verify_mode (1 of 2 overloads)">ssl::context::set_verify_mode
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification mode.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the peer verification mode used
+ by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_mode.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">v</span></dt>
+<dd><p>
+ A bitmask of peer verification modes. See <a class="link" href="../../ssl__verify_mode.html" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
+ values.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_mode.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.set_verify_mode.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_verify_mode.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload2.html b/doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload2.html
new file mode 100644
index 0000000000..e860a23e22
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/set_verify_mode/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::set_verify_mode (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_mode.html" title="ssl::context::set_verify_mode">
+<link rel="prev" href="overload1.html" title="ssl::context::set_verify_mode (1 of 2 overloads)">
+<link rel="next" href="../single_dh_use.html" title="ssl::context::single_dh_use">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../single_dh_use.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload2"></a><a class="link" href="overload2.html" title="ssl::context::set_verify_mode (2 of 2 overloads)">ssl::context::set_verify_mode
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification mode.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the peer verification mode used
+ by the context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_verify_mode.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">v</span></dt>
+<dd><p>
+ A bitmask of peer verification modes. See <a class="link" href="../../ssl__verify_mode.html" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
+ values.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.set_verify_mode.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.set_verify_mode.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../single_dh_use.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/single_dh_use.html b/doc/html/boost_asio/reference/ssl__context/single_dh_use.html
new file mode 100644
index 0000000000..6f35a7361c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/single_dh_use.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::single_dh_use</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="set_verify_mode/overload2.html" title="ssl::context::set_verify_mode (2 of 2 overloads)">
+<link rel="next" href="use_certificate.html" title="ssl::context::use_certificate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_verify_mode/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.single_dh_use"></a><a class="link" href="single_dh_use.html" title="ssl::context::single_dh_use">ssl::context::single_dh_use</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168843280"></a>
+Always create a new key when using tmp_dh parameters.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">single_dh_use</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="set_verify_mode/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate.html b/doc/html/boost_asio/reference/ssl__context/use_certificate.html
new file mode 100644
index 0000000000..6223b29767
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="single_dh_use.html" title="ssl::context::single_dh_use">
+<link rel="next" href="use_certificate/overload1.html" title="ssl::context::use_certificate (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="single_dh_use.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate"></a><a class="link" href="use_certificate.html" title="ssl::context::use_certificate">ssl::context::use_certificate</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168851888"></a>
+Use a certificate from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_certificate/overload1.html" title="ssl::context::use_certificate (1 of 2 overloads)">use_certificate</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate/overload1.html" title="ssl::context::use_certificate (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_certificate/overload2.html" title="ssl::context::use_certificate (2 of 2 overloads)">use_certificate</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate/overload2.html" title="ssl::context::use_certificate (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="single_dh_use.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_certificate/overload1.html
new file mode 100644
index 0000000000..4b670bc25c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate.html" title="ssl::context::use_certificate">
+<link rel="prev" href="../use_certificate.html" title="ssl::context::use_certificate">
+<link rel="next" href="overload2.html" title="ssl::context::use_certificate (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_certificate.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_certificate (1 of 2 overloads)">ssl::context::use_certificate
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate into the context from a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">certificate</span></dt>
+<dd><p>
+ The buffer containing the certificate.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The certificate format (ASN.1 or PEM).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
+ or SSL_CTX_use_certificate_ASN1.
+ </p>
+</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 &#169; 2003-2017 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="../use_certificate.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_certificate/overload2.html
new file mode 100644
index 0000000000..b313162866
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate/overload2.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate.html" title="ssl::context::use_certificate">
+<link rel="prev" href="overload1.html" title="ssl::context::use_certificate (1 of 2 overloads)">
+<link rel="next" href="../use_certificate_chain.html" title="ssl::context::use_certificate_chain">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_certificate (2 of 2 overloads)">ssl::context::use_certificate
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">certificate</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate into the context from a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">certificate</span></dt>
+<dd><p>
+ The buffer containing the certificate.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The certificate format (ASN.1 or PEM).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
+ or SSL_CTX_use_certificate_ASN1.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_chain.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain.html
new file mode 100644
index 0000000000..0015a8ba9c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_chain</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_certificate/overload2.html" title="ssl::context::use_certificate (2 of 2 overloads)">
+<link rel="next" href="use_certificate_chain/overload1.html" title="ssl::context::use_certificate_chain (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_certificate/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate_chain/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_chain"></a><a class="link" href="use_certificate_chain.html" title="ssl::context::use_certificate_chain">ssl::context::use_certificate_chain</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp168937952"></a>
+Use a certificate chain from a memory
+ buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_certificate_chain/overload1.html" title="ssl::context::use_certificate_chain (1 of 2 overloads)">use_certificate_chain</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate_chain/overload1.html" title="ssl::context::use_certificate_chain (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_certificate_chain/overload2.html" title="ssl::context::use_certificate_chain (2 of 2 overloads)">use_certificate_chain</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate_chain/overload2.html" title="ssl::context::use_certificate_chain (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_certificate/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate_chain/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload1.html
new file mode 100644
index 0000000000..5a16e3f05d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_chain (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate_chain.html" title="ssl::context::use_certificate_chain">
+<link rel="prev" href="../use_certificate_chain.html" title="ssl::context::use_certificate_chain">
+<link rel="next" href="overload2.html" title="ssl::context::use_certificate_chain (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_certificate_chain (1 of 2 overloads)">ssl::context::use_certificate_chain
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate chain from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate_chain</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate chain into the context from
+ a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">chain</span></dt>
+<dd><p>
+ The buffer containing the certificate chain. The certificate chain
+ must use the PEM format.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_chain.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
+ and SSL_CTX_add_extra_chain_cert.
+ </p>
+</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 &#169; 2003-2017 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="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload2.html
new file mode 100644
index 0000000000..9d8e97bb8b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain/overload2.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_chain (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate_chain.html" title="ssl::context::use_certificate_chain">
+<link rel="prev" href="overload1.html" title="ssl::context::use_certificate_chain (1 of 2 overloads)">
+<link rel="next" href="../use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_certificate_chain (2 of 2 overloads)">ssl::context::use_certificate_chain
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate chain from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate_chain</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">chain</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate chain into the context from
+ a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">chain</span></dt>
+<dd><p>
+ The buffer containing the certificate chain. The certificate chain
+ must use the PEM format.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate_chain.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate</span></code>
+ and SSL_CTX_add_extra_chain_cert.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file.html
new file mode 100644
index 0000000000..41154a0ad7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_chain_file</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_certificate_chain/overload2.html" title="ssl::context::use_certificate_chain (2 of 2 overloads)">
+<link rel="next" href="use_certificate_chain_file/overload1.html" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_certificate_chain/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate_chain_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file"></a><a class="link" href="use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file">ssl::context::use_certificate_chain_file</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169013856"></a>
+Use a certificate chain from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_certificate_chain_file/overload1.html" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">use_certificate_chain_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate_chain_file/overload1.html" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_certificate_chain_file/overload2.html" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">use_certificate_chain_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate_chain_file/overload2.html" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_certificate_chain/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate_chain_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload1.html
new file mode 100644
index 0000000000..218493d18f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_chain_file (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file">
+<link rel="prev" href="../use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file">
+<link rel="next" href="overload2.html" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">ssl::context::use_certificate_chain_file
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate chain from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate_chain_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate chain into the context from
+ a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the certificate. The file must
+ use the PEM format.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_chain_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload2.html
new file mode 100644
index 0000000000..10a15e4b35
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_chain_file/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_chain_file (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate_chain_file.html" title="ssl::context::use_certificate_chain_file">
+<link rel="prev" href="overload1.html" title="ssl::context::use_certificate_chain_file (1 of 2 overloads)">
+<link rel="next" href="../use_certificate_file.html" title="ssl::context::use_certificate_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">ssl::context::use_certificate_chain_file
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate chain from a file.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate_chain_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate chain into the context from
+ a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the certificate. The file must
+ use the PEM format.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate_chain_file.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_chain_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_chain_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_file.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_file.html
new file mode 100644
index 0000000000..57f3233d03
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_file.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_file</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_certificate_chain_file/overload2.html" title="ssl::context::use_certificate_chain_file (2 of 2 overloads)">
+<link rel="next" href="use_certificate_file/overload1.html" title="ssl::context::use_certificate_file (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_certificate_chain_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_file"></a><a class="link" href="use_certificate_file.html" title="ssl::context::use_certificate_file">ssl::context::use_certificate_file</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169094096"></a>
+Use a certificate from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_certificate_file/overload1.html" title="ssl::context::use_certificate_file (1 of 2 overloads)">use_certificate_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate_file/overload1.html" title="ssl::context::use_certificate_file (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_certificate_file/overload2.html" title="ssl::context::use_certificate_file (2 of 2 overloads)">use_certificate_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_certificate_file/overload2.html" title="ssl::context::use_certificate_file (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_certificate_chain_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_certificate_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload1.html
new file mode 100644
index 0000000000..bed3b646d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload1.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_file (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate_file.html" title="ssl::context::use_certificate_file">
+<link rel="prev" href="../use_certificate_file.html" title="ssl::context::use_certificate_file">
+<link rel="next" href="overload2.html" title="ssl::context::use_certificate_file (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_certificate_file (1 of 2 overloads)">ssl::context::use_certificate_file
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_certificate_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate into the context from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_file.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the certificate.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The file format (ASN.1 or PEM).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_file.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_certificate_file.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../use_certificate_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload2.html
new file mode 100644
index 0000000000..3b0e81c849
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_certificate_file/overload2.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_certificate_file (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_certificate_file.html" title="ssl::context::use_certificate_file">
+<link rel="prev" href="overload1.html" title="ssl::context::use_certificate_file (1 of 2 overloads)">
+<link rel="next" href="../use_private_key.html" title="ssl::context::use_private_key">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_private_key.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_certificate_file (2 of 2 overloads)">ssl::context::use_certificate_file
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a certificate from a file.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_certificate_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a certificate into the context from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate_file.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the certificate.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The file format (ASN.1 or PEM).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_certificate_file.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_certificate_file.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_certificate_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_certificate_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_private_key.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_private_key.html b/doc/html/boost_asio/reference/ssl__context/use_private_key.html
new file mode 100644
index 0000000000..560fdb3fdc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_private_key.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_private_key</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_certificate_file/overload2.html" title="ssl::context::use_certificate_file (2 of 2 overloads)">
+<link rel="next" href="use_private_key/overload1.html" title="ssl::context::use_private_key (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_certificate_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_private_key/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_private_key"></a><a class="link" href="use_private_key.html" title="ssl::context::use_private_key">ssl::context::use_private_key</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169184784"></a>
+Use a private key from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_private_key/overload1.html" title="ssl::context::use_private_key (1 of 2 overloads)">use_private_key</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_private_key/overload1.html" title="ssl::context::use_private_key (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_private_key/overload2.html" title="ssl::context::use_private_key (2 of 2 overloads)">use_private_key</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_private_key/overload2.html" title="ssl::context::use_private_key (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_certificate_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_private_key/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_private_key/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_private_key/overload1.html
new file mode 100644
index 0000000000..a3c46afeab
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_private_key/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_private_key (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_private_key.html" title="ssl::context::use_private_key">
+<link rel="prev" href="../use_private_key.html" title="ssl::context::use_private_key">
+<link rel="next" href="overload2.html" title="ssl::context::use_private_key (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_private_key.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_private_key.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_private_key (1 of 2 overloads)">ssl::context::use_private_key
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a private key from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_private_key</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a private key into the context from a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_private_key.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">private_key</span></dt>
+<dd><p>
+ The buffer containing the private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The private key format (ASN.1 or PEM).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_private_key.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_private_key.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey</span></code>
+ or SSL_CTX_use_PrivateKey_ASN1.
+ </p>
+</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 &#169; 2003-2017 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="../use_private_key.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_private_key/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_private_key/overload2.html
new file mode 100644
index 0000000000..427d4495bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_private_key/overload2.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_private_key (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_private_key.html" title="ssl::context::use_private_key">
+<link rel="prev" href="overload1.html" title="ssl::context::use_private_key (1 of 2 overloads)">
+<link rel="next" href="../use_private_key_file.html" title="ssl::context::use_private_key_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_private_key.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_private_key (2 of 2 overloads)">ssl::context::use_private_key
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a private key from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_private_key</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a private key into the context from a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_private_key.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">private_key</span></dt>
+<dd><p>
+ The buffer containing the private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The private key format (ASN.1 or PEM).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_private_key.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey</span></code>
+ or SSL_CTX_use_PrivateKey_ASN1.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_private_key_file.html b/doc/html/boost_asio/reference/ssl__context/use_private_key_file.html
new file mode 100644
index 0000000000..5a2187e1f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_private_key_file.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_private_key_file</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_private_key/overload2.html" title="ssl::context::use_private_key (2 of 2 overloads)">
+<link rel="next" href="use_private_key_file/overload1.html" title="ssl::context::use_private_key_file (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_private_key/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_private_key_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_private_key_file"></a><a class="link" href="use_private_key_file.html" title="ssl::context::use_private_key_file">ssl::context::use_private_key_file</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169271136"></a>
+Use a private key from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_private_key_file/overload1.html" title="ssl::context::use_private_key_file (1 of 2 overloads)">use_private_key_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_private_key_file/overload1.html" title="ssl::context::use_private_key_file (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_private_key_file/overload2.html" title="ssl::context::use_private_key_file (2 of 2 overloads)">use_private_key_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_private_key_file/overload2.html" title="ssl::context::use_private_key_file (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_private_key/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_private_key_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload1.html
new file mode 100644
index 0000000000..c9df5929bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload1.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_private_key_file (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_private_key_file.html" title="ssl::context::use_private_key_file">
+<link rel="prev" href="../use_private_key_file.html" title="ssl::context::use_private_key_file">
+<link rel="next" href="overload2.html" title="ssl::context::use_private_key_file (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_private_key_file (1 of 2 overloads)">ssl::context::use_private_key_file
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a private key from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_private_key_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a private key into the context from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_private_key_file.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The file format (ASN.1 or PEM).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_private_key_file.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_private_key_file.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../use_private_key_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload2.html
new file mode 100644
index 0000000000..836337c479
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_private_key_file/overload2.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_private_key_file (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_private_key_file.html" title="ssl::context::use_private_key_file">
+<link rel="prev" href="overload1.html" title="ssl::context::use_private_key_file (1 of 2 overloads)">
+<link rel="next" href="../use_rsa_private_key.html" title="ssl::context::use_rsa_private_key">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_private_key_file (2 of 2 overloads)">ssl::context::use_private_key_file
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use a private key from a file.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_private_key_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load a private key into the context from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_private_key_file.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The file format (ASN.1 or PEM).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_private_key_file.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_private_key_file.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_PrivateKey_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key.html b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key.html
new file mode 100644
index 0000000000..9068212001
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_rsa_private_key</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_private_key_file/overload2.html" title="ssl::context::use_private_key_file (2 of 2 overloads)">
+<link rel="next" href="use_rsa_private_key/overload1.html" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_private_key_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_rsa_private_key/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key"></a><a class="link" href="use_rsa_private_key.html" title="ssl::context::use_rsa_private_key">ssl::context::use_rsa_private_key</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169361632"></a>
+Use an RSA private key from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_rsa_private_key/overload1.html" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">use_rsa_private_key</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_rsa_private_key/overload1.html" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_rsa_private_key/overload2.html" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">use_rsa_private_key</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_rsa_private_key/overload2.html" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_private_key_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_rsa_private_key/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload1.html
new file mode 100644
index 0000000000..be09ad4a82
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload1.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_rsa_private_key (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_rsa_private_key.html" title="ssl::context::use_rsa_private_key">
+<link rel="prev" href="../use_rsa_private_key.html" title="ssl::context::use_rsa_private_key">
+<link rel="next" href="overload2.html" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">ssl::context::use_rsa_private_key
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use an RSA private key from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_rsa_private_key</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load an RSA private key into the context from
+ a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">private_key</span></dt>
+<dd><p>
+ The buffer containing the RSA private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The private key format (ASN.1 or PEM).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey</span></code>
+ or SSL_CTX_use_RSAPrivateKey_ASN1.
+ </p>
+</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 &#169; 2003-2017 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="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload2.html
new file mode 100644
index 0000000000..0427332fce
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key/overload2.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_rsa_private_key (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_rsa_private_key.html" title="ssl::context::use_rsa_private_key">
+<link rel="prev" href="overload1.html" title="ssl::context::use_rsa_private_key (1 of 2 overloads)">
+<link rel="next" href="../use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">ssl::context::use_rsa_private_key
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use an RSA private key from a memory buffer.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_rsa_private_key</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">private_key</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load an RSA private key into the context from
+ a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">private_key</span></dt>
+<dd><p>
+ The buffer containing the RSA private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The private key format (ASN.1 or PEM).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_rsa_private_key.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey</span></code>
+ or SSL_CTX_use_RSAPrivateKey_ASN1.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file.html b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file.html
new file mode 100644
index 0000000000..8987a6a7b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_rsa_private_key_file</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_rsa_private_key/overload2.html" title="ssl::context::use_rsa_private_key (2 of 2 overloads)">
+<link rel="next" href="use_rsa_private_key_file/overload1.html" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_rsa_private_key/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_rsa_private_key_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file"></a><a class="link" href="use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file">ssl::context::use_rsa_private_key_file</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169448144"></a>
+Use an RSA private key from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_rsa_private_key_file/overload1.html" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">use_rsa_private_key_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_rsa_private_key_file/overload1.html" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_rsa_private_key_file/overload2.html" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">use_rsa_private_key_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_rsa_private_key_file/overload2.html" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_rsa_private_key/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_rsa_private_key_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload1.html
new file mode 100644
index 0000000000..5d9f6ff603
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload1.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_rsa_private_key_file (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file">
+<link rel="prev" href="../use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file">
+<link rel="next" href="overload2.html" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">ssl::context::use_rsa_private_key_file
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use an RSA private key from a file.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_rsa_private_key_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load an RSA private key into the context from
+ a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the RSA private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The file format (ASN.1 or PEM).
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload2.html
new file mode 100644
index 0000000000..f4730a29a1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_rsa_private_key_file/overload2.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_rsa_private_key_file (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_rsa_private_key_file.html" title="ssl::context::use_rsa_private_key_file">
+<link rel="prev" href="overload1.html" title="ssl::context::use_rsa_private_key_file (1 of 2 overloads)">
+<link rel="next" href="../use_tmp_dh.html" title="ssl::context::use_tmp_dh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">ssl::context::use_rsa_private_key_file
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use an RSA private key from a file.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_rsa_private_key_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">file_format</span> <span class="identifier">format</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load an RSA private key into the context from
+ a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the RSA private key.
+ </p></dd>
+<dt><span class="term">format</span></dt>
+<dd><p>
+ The file format (ASN.1 or PEM).
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_rsa_private_key_file.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_use_RSAPrivateKey_file</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_rsa_private_key_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html
new file mode 100644
index 0000000000..d2bfa1887a
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_tmp_dh</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_rsa_private_key_file/overload2.html" title="ssl::context::use_rsa_private_key_file (2 of 2 overloads)">
+<link rel="next" href="use_tmp_dh/overload1.html" title="ssl::context::use_tmp_dh (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_rsa_private_key_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_tmp_dh/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_tmp_dh"></a><a class="link" href="use_tmp_dh.html" title="ssl::context::use_tmp_dh">ssl::context::use_tmp_dh</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169539088"></a>
+Use the specified memory buffer to obtain the temporary
+ Diffie-Hellman parameters.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_tmp_dh/overload1.html" title="ssl::context::use_tmp_dh (1 of 2 overloads)">use_tmp_dh</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_tmp_dh/overload1.html" title="ssl::context::use_tmp_dh (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_tmp_dh/overload2.html" title="ssl::context::use_tmp_dh (2 of 2 overloads)">use_tmp_dh</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_tmp_dh/overload2.html" title="ssl::context::use_tmp_dh (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_rsa_private_key_file/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_tmp_dh/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload1.html
new file mode 100644
index 0000000000..36cda104b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_tmp_dh (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_tmp_dh.html" title="ssl::context::use_tmp_dh">
+<link rel="prev" href="../use_tmp_dh.html" title="ssl::context::use_tmp_dh">
+<link rel="next" href="overload2.html" title="ssl::context::use_tmp_dh (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_tmp_dh (1 of 2 overloads)">ssl::context::use_tmp_dh
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use the specified memory buffer to obtain the temporary Diffie-Hellman
+ parameters.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_tmp_dh</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load Diffie-Hellman parameters into the context
+ from a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">dh</span></dt>
+<dd><p>
+ The memory buffer containing the Diffie-Hellman parameters. The
+ buffer must use the PEM format.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_tmp_dh.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload2.html
new file mode 100644
index 0000000000..d28de68548
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh/overload2.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_tmp_dh (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_tmp_dh.html" title="ssl::context::use_tmp_dh">
+<link rel="prev" href="overload1.html" title="ssl::context::use_tmp_dh (1 of 2 overloads)">
+<link rel="next" href="../use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_tmp_dh (2 of 2 overloads)">ssl::context::use_tmp_dh
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use the specified memory buffer to obtain the temporary Diffie-Hellman
+ parameters.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_tmp_dh</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">const_buffer</span> <span class="special">&amp;</span> <span class="identifier">dh</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load Diffie-Hellman parameters into the context
+ from a buffer.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">dh</span></dt>
+<dd><p>
+ The memory buffer containing the Diffie-Hellman parameters. The
+ buffer must use the PEM format.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_tmp_dh.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file.html b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file.html
new file mode 100644
index 0000000000..98dd437e14
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_tmp_dh_file</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context.html" title="ssl::context">
+<link rel="prev" href="use_tmp_dh/overload2.html" title="ssl::context::use_tmp_dh (2 of 2 overloads)">
+<link rel="next" href="use_tmp_dh_file/overload1.html" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_tmp_dh/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_tmp_dh_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file"></a><a class="link" href="use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file">ssl::context::use_tmp_dh_file</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169614160"></a>
+Use the specified file to obtain the temporary
+ Diffie-Hellman parameters.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="use_tmp_dh_file/overload1.html" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">use_tmp_dh_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_tmp_dh_file/overload1.html" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="use_tmp_dh_file/overload2.html" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">use_tmp_dh_file</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_tmp_dh_file/overload2.html" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="use_tmp_dh/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_tmp_dh_file/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload1.html b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload1.html
new file mode 100644
index 0000000000..a0857193ef
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_tmp_dh_file (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file">
+<link rel="prev" href="../use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file">
+<link rel="next" href="overload2.html" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1"></a><a class="link" href="overload1.html" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">ssl::context::use_tmp_dh_file
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use the specified file to obtain the temporary Diffie-Hellman parameters.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">use_tmp_dh_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load Diffie-Hellman parameters into the context
+ from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the Diffie-Hellman parameters.
+ The file must use the PEM format.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload2.html b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload2.html
new file mode 100644
index 0000000000..41638af82d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context/use_tmp_dh_file/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context::use_tmp_dh_file (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_tmp_dh_file.html" title="ssl::context::use_tmp_dh_file">
+<link rel="prev" href="overload1.html" title="ssl::context::use_tmp_dh_file (1 of 2 overloads)">
+<link rel="next" href="../_context.html" title="ssl::context::~context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_context.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2"></a><a class="link" href="overload2.html" title="ssl::context::use_tmp_dh_file (2 of 2 overloads)">ssl::context::use_tmp_dh_file
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Use the specified file to obtain the temporary Diffie-Hellman parameters.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">use_tmp_dh_file</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">filename</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to load Diffie-Hellman parameters into the context
+ from a file.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">filename</span></dt>
+<dd><p>
+ The name of the file containing the Diffie-Hellman parameters.
+ The file must use the PEM format.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__context.use_tmp_dh_file.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_CTX_set_tmp_dh</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_tmp_dh_file.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_context.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base.html b/doc/html/boost_asio/reference/ssl__context_base.html
new file mode 100644
index 0000000000..642f287eb2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base.html
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__context/_context.html" title="ssl::context::~context">
+<link rel="next" href="ssl__context_base/default_workarounds.html" title="ssl::context_base::default_workarounds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__context/_context.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__context_base/default_workarounds.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__context_base"></a><a class="link" href="ssl__context_base.html" title="ssl::context_base">ssl::context_base</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="ssl__context_base.html" title="ssl::context_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context_base</span></code></a>
+ class is used as a base for the basic_context class template so that we have
+ a common place to define various enums.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">context_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__context_base.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.types"></a></span><a class="link" href="ssl__context_base.html#boost_asio.reference.ssl__context_base.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/file_format.html" title="ssl::context_base::file_format"><span class="bold"><strong>file_format</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ File format types.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/method.html" title="ssl::context_base::method"><span class="bold"><strong>method</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different methods supported by a context.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/options.html" title="ssl::context_base::options"><span class="bold"><strong>options</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bitmask type for SSL options.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/password_purpose.html" title="ssl::context_base::password_purpose"><span class="bold"><strong>password_purpose</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Purpose of PEM password.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__context_base.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.protected_member_functions"></a></span><a class="link" href="ssl__context_base.html#boost_asio.reference.ssl__context_base.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/_context_base.html" title="ssl::context_base::~context_base"><span class="bold"><strong>~context_base</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__context_base.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.data_members"></a></span><a class="link" href="ssl__context_base.html#boost_asio.reference.ssl__context_base.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/default_workarounds.html" title="ssl::context_base::default_workarounds"><span class="bold"><strong>default_workarounds</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Implement various bug workarounds.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/no_compression.html" title="ssl::context_base::no_compression"><span class="bold"><strong>no_compression</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable compression. Compression is disabled by default.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/no_sslv2.html" title="ssl::context_base::no_sslv2"><span class="bold"><strong>no_sslv2</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable SSL v2.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/no_sslv3.html" title="ssl::context_base::no_sslv3"><span class="bold"><strong>no_sslv3</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable SSL v3.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/no_tlsv1.html" title="ssl::context_base::no_tlsv1"><span class="bold"><strong>no_tlsv1</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable TLS v1.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/no_tlsv1_1.html" title="ssl::context_base::no_tlsv1_1"><span class="bold"><strong>no_tlsv1_1</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable TLS v1.1.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/no_tlsv1_2.html" title="ssl::context_base::no_tlsv1_2"><span class="bold"><strong>no_tlsv1_2</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable TLS v1.2.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__context_base/single_dh_use.html" title="ssl::context_base::single_dh_use"><span class="bold"><strong>single_dh_use</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Always create a new key when using tmp_dh parameters.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__context_base.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.requirements"></a></span><a class="link" href="ssl__context_base.html#boost_asio.reference.ssl__context_base.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__context/_context.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__context_base/default_workarounds.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/_context_base.html b/doc/html/boost_asio/reference/ssl__context_base/_context_base.html
new file mode 100644
index 0000000000..c08631f319
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/_context_base.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::~context_base</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="single_dh_use.html" title="ssl::context_base::single_dh_use">
+<link rel="next" href="../ssl__error__get_stream_category.html" title="ssl::error::get_stream_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="single_dh_use.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__error__get_stream_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base._context_base"></a><a class="link" href="_context_base.html" title="ssl::context_base::~context_base">ssl::context_base::~context_base</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169955456"></a>
+Protected destructor to prevent deletion
+ through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">context_base</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="single_dh_use.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__error__get_stream_category.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/default_workarounds.html b/doc/html/boost_asio/reference/ssl__context_base/default_workarounds.html
new file mode 100644
index 0000000000..27e2723e8f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/default_workarounds.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::default_workarounds</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="next" href="file_format.html" title="ssl::context_base::file_format">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="file_format.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.default_workarounds"></a><a class="link" href="default_workarounds.html" title="ssl::context_base::default_workarounds">ssl::context_base::default_workarounds</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169777360"></a>
+Implement various bug workarounds.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">default_workarounds</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../ssl__context_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="file_format.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/file_format.html b/doc/html/boost_asio/reference/ssl__context_base/file_format.html
new file mode 100644
index 0000000000..e0ed0f0cd0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/file_format.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::file_format</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="default_workarounds.html" title="ssl::context_base::default_workarounds">
+<link rel="next" href="method.html" title="ssl::context_base::method">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="default_workarounds.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="method.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.file_format"></a><a class="link" href="file_format.html" title="ssl::context_base::file_format">ssl::context_base::file_format</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169786192"></a>
+File format types.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">file_format</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp169789712"></a>
+ <a class="indexterm" name="idp169790816"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context_base.file_format.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.file_format.values"></a></span><a class="link" href="file_format.html#boost_asio.reference.ssl__context_base.file_format.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">asn1</span></dt>
+<dd><p>
+ ASN.1 file.
+ </p></dd>
+<dt><span class="term">pem</span></dt>
+<dd><p>
+ PEM file.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="default_workarounds.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="method.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/method.html b/doc/html/boost_asio/reference/ssl__context_base/method.html
new file mode 100644
index 0000000000..dfef17eed0
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/method.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::method</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="file_format.html" title="ssl::context_base::file_format">
+<link rel="next" href="no_compression.html" title="ssl::context_base::no_compression">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="file_format.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_compression.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.method"></a><a class="link" href="method.html" title="ssl::context_base::method">ssl::context_base::method</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169800736"></a>
+Different methods supported by a context.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">method</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp169804368"></a>
+ <a class="indexterm" name="idp169805472"></a>
+ <a class="indexterm" name="idp169806576"></a>
+ <a class="indexterm" name="idp169807680"></a>
+ <a class="indexterm" name="idp169808784"></a>
+ <a class="indexterm" name="idp169809888"></a>
+ <a class="indexterm" name="idp169810992"></a>
+ <a class="indexterm" name="idp169812096"></a>
+ <a class="indexterm" name="idp169813200"></a>
+ <a class="indexterm" name="idp169814304"></a>
+ <a class="indexterm" name="idp169815408"></a>
+ <a class="indexterm" name="idp169816512"></a>
+ <a class="indexterm" name="idp169817616"></a>
+ <a class="indexterm" name="idp169818720"></a>
+ <a class="indexterm" name="idp169819824"></a>
+ <a class="indexterm" name="idp169820928"></a>
+ <a class="indexterm" name="idp169822032"></a>
+ <a class="indexterm" name="idp169823136"></a>
+ <a class="indexterm" name="idp169824240"></a>
+ <a class="indexterm" name="idp169825312"></a>
+ <a class="indexterm" name="idp169826416"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context_base.method.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.method.values"></a></span><a class="link" href="method.html#boost_asio.reference.ssl__context_base.method.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">sslv2</span></dt>
+<dd><p>
+ Generic SSL version 2.
+ </p></dd>
+<dt><span class="term">sslv2_client</span></dt>
+<dd><p>
+ SSL version 2 client.
+ </p></dd>
+<dt><span class="term">sslv2_server</span></dt>
+<dd><p>
+ SSL version 2 server.
+ </p></dd>
+<dt><span class="term">sslv3</span></dt>
+<dd><p>
+ Generic SSL version 3.
+ </p></dd>
+<dt><span class="term">sslv3_client</span></dt>
+<dd><p>
+ SSL version 3 client.
+ </p></dd>
+<dt><span class="term">sslv3_server</span></dt>
+<dd><p>
+ SSL version 3 server.
+ </p></dd>
+<dt><span class="term">tlsv1</span></dt>
+<dd><p>
+ Generic TLS version 1.
+ </p></dd>
+<dt><span class="term">tlsv1_client</span></dt>
+<dd><p>
+ TLS version 1 client.
+ </p></dd>
+<dt><span class="term">tlsv1_server</span></dt>
+<dd><p>
+ TLS version 1 server.
+ </p></dd>
+<dt><span class="term">sslv23</span></dt>
+<dd><p>
+ Generic SSL/TLS.
+ </p></dd>
+<dt><span class="term">sslv23_client</span></dt>
+<dd><p>
+ SSL/TLS client.
+ </p></dd>
+<dt><span class="term">sslv23_server</span></dt>
+<dd><p>
+ SSL/TLS server.
+ </p></dd>
+<dt><span class="term">tlsv11</span></dt>
+<dd><p>
+ Generic TLS version 1.1.
+ </p></dd>
+<dt><span class="term">tlsv11_client</span></dt>
+<dd><p>
+ TLS version 1.1 client.
+ </p></dd>
+<dt><span class="term">tlsv11_server</span></dt>
+<dd><p>
+ TLS version 1.1 server.
+ </p></dd>
+<dt><span class="term">tlsv12</span></dt>
+<dd><p>
+ Generic TLS version 1.2.
+ </p></dd>
+<dt><span class="term">tlsv12_client</span></dt>
+<dd><p>
+ TLS version 1.2 client.
+ </p></dd>
+<dt><span class="term">tlsv12_server</span></dt>
+<dd><p>
+ TLS version 1.2 server.
+ </p></dd>
+<dt><span class="term">tls</span></dt>
+<dd><p>
+ Generic TLS.
+ </p></dd>
+<dt><span class="term">tls_client</span></dt>
+<dd><p>
+ TLS client.
+ </p></dd>
+<dt><span class="term">tls_server</span></dt>
+<dd><p>
+ TLS server.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="file_format.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_compression.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/no_compression.html b/doc/html/boost_asio/reference/ssl__context_base/no_compression.html
new file mode 100644
index 0000000000..4182fd97d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/no_compression.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::no_compression</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="method.html" title="ssl::context_base::method">
+<link rel="next" href="no_sslv2.html" title="ssl::context_base::no_sslv2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="method.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.no_compression"></a><a class="link" href="no_compression.html" title="ssl::context_base::no_compression">ssl::context_base::no_compression</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169867568"></a>
+Disable compression. Compression is disabled
+ by default.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_compression</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="method.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/no_sslv2.html b/doc/html/boost_asio/reference/ssl__context_base/no_sslv2.html
new file mode 100644
index 0000000000..d1dae2f8ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/no_sslv2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::no_sslv2</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="no_compression.html" title="ssl::context_base::no_compression">
+<link rel="next" href="no_sslv3.html" title="ssl::context_base::no_sslv3">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_compression.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.no_sslv2"></a><a class="link" href="no_sslv2.html" title="ssl::context_base::no_sslv2">ssl::context_base::no_sslv2</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169876272"></a>
+Disable SSL v2.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_compression.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_sslv3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/no_sslv3.html b/doc/html/boost_asio/reference/ssl__context_base/no_sslv3.html
new file mode 100644
index 0000000000..67bbc7750e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/no_sslv3.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::no_sslv3</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="no_sslv2.html" title="ssl::context_base::no_sslv2">
+<link rel="next" href="no_tlsv1.html" title="ssl::context_base::no_tlsv1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_sslv2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.no_sslv3"></a><a class="link" href="no_sslv3.html" title="ssl::context_base::no_sslv3">ssl::context_base::no_sslv3</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169884928"></a>
+Disable SSL v3.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_sslv3</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_sslv2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1.html b/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1.html
new file mode 100644
index 0000000000..1bcb3fd2f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::no_tlsv1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="no_sslv3.html" title="ssl::context_base::no_sslv3">
+<link rel="next" href="no_tlsv1_1.html" title="ssl::context_base::no_tlsv1_1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_sslv3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.no_tlsv1"></a><a class="link" href="no_tlsv1.html" title="ssl::context_base::no_tlsv1">ssl::context_base::no_tlsv1</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169893584"></a>
+Disable TLS v1.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_sslv3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_1.html b/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_1.html
new file mode 100644
index 0000000000..165cd32bdd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::no_tlsv1_1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="no_tlsv1.html" title="ssl::context_base::no_tlsv1">
+<link rel="next" href="no_tlsv1_2.html" title="ssl::context_base::no_tlsv1_2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_tlsv1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.no_tlsv1_1"></a><a class="link" href="no_tlsv1_1.html" title="ssl::context_base::no_tlsv1_1">ssl::context_base::no_tlsv1_1</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169902240"></a>
+Disable TLS v1.1.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_1</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_tlsv1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="no_tlsv1_2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_2.html b/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_2.html
new file mode 100644
index 0000000000..8a4c916888
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/no_tlsv1_2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::no_tlsv1_2</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="no_tlsv1_1.html" title="ssl::context_base::no_tlsv1_1">
+<link rel="next" href="options.html" title="ssl::context_base::options">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_tlsv1_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="options.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.no_tlsv1_2"></a><a class="link" href="no_tlsv1_2.html" title="ssl::context_base::no_tlsv1_2">ssl::context_base::no_tlsv1_2</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169910896"></a>
+Disable TLS v1.2.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">no_tlsv1_2</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="no_tlsv1_1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="options.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/options.html b/doc/html/boost_asio/reference/ssl__context_base/options.html
new file mode 100644
index 0000000000..8a403d4383
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/options.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::options</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="no_tlsv1_2.html" title="ssl::context_base::no_tlsv1_2">
+<link rel="next" href="password_purpose.html" title="ssl::context_base::password_purpose">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="no_tlsv1_2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="password_purpose.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.options"></a><a class="link" href="options.html" title="ssl::context_base::options">ssl::context_base::options</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169919552"></a>
+Bitmask type for SSL options.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="identifier">options</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__context_base.options.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.options.requirements"></a></span><a class="link" href="options.html#boost_asio.reference.ssl__context_base.options.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/context_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="no_tlsv1_2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="password_purpose.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/password_purpose.html b/doc/html/boost_asio/reference/ssl__context_base/password_purpose.html
new file mode 100644
index 0000000000..9a88679670
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/password_purpose.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::password_purpose</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="options.html" title="ssl::context_base::options">
+<link rel="next" href="single_dh_use.html" title="ssl::context_base::single_dh_use">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="options.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="single_dh_use.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.password_purpose"></a><a class="link" href="password_purpose.html" title="ssl::context_base::password_purpose">ssl::context_base::password_purpose</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169931872"></a>
+Purpose of PEM password.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">password_purpose</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp169935296"></a>
+ <a class="indexterm" name="idp169936336"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__context_base.password_purpose.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__context_base.password_purpose.values"></a></span><a class="link" href="password_purpose.html#boost_asio.reference.ssl__context_base.password_purpose.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">for_reading</span></dt>
+<dd><p>
+ The password is needed for reading/decryption.
+ </p></dd>
+<dt><span class="term">for_writing</span></dt>
+<dd><p>
+ The password is needed for writing/encryption.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="options.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="single_dh_use.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__context_base/single_dh_use.html b/doc/html/boost_asio/reference/ssl__context_base/single_dh_use.html
new file mode 100644
index 0000000000..fac44e3696
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__context_base/single_dh_use.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::context_base::single_dh_use</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__context_base.html" title="ssl::context_base">
+<link rel="prev" href="password_purpose.html" title="ssl::context_base::password_purpose">
+<link rel="next" href="_context_base.html" title="ssl::context_base::~context_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="password_purpose.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_context_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__context_base.single_dh_use"></a><a class="link" href="single_dh_use.html" title="ssl::context_base::single_dh_use">ssl::context_base::single_dh_use</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp169946656"></a>
+Always create a new key when using tmp_dh
+ parameters.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="identifier">single_dh_use</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="password_purpose.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__context_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_context_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__error__get_stream_category.html b/doc/html/boost_asio/reference/ssl__error__get_stream_category.html
new file mode 100644
index 0000000000..f29be964cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__error__get_stream_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::error::get_stream_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__context_base/_context_base.html" title="ssl::context_base::~context_base">
+<link rel="next" href="ssl__error__make_error_code.html" title="ssl::error::make_error_code">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__context_base/_context_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__error__make_error_code.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__error__get_stream_category"></a><a class="link" href="ssl__error__get_stream_category.html" title="ssl::error::get_stream_category">ssl::error::get_stream_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp169961648"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">get_stream_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__error__get_stream_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__error__get_stream_category.requirements"></a></span><a class="link" href="ssl__error__get_stream_category.html#boost_asio.reference.ssl__error__get_stream_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__context_base/_context_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__error__make_error_code.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__error__make_error_code.html b/doc/html/boost_asio/reference/ssl__error__make_error_code.html
new file mode 100644
index 0000000000..ed639eadc5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__error__make_error_code.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::error::make_error_code</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__error__get_stream_category.html" title="ssl::error::get_stream_category">
+<link rel="next" href="ssl__error__stream_category.html" title="ssl::error::stream_category">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__error__get_stream_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__error__stream_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__error__make_error_code"></a><a class="link" href="ssl__error__make_error_code.html" title="ssl::error::make_error_code">ssl::error::make_error_code</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp169976592"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">make_error_code</span><span class="special">(</span>
+ <span class="identifier">stream_errors</span> <span class="identifier">e</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__error__make_error_code.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__error__make_error_code.requirements"></a></span><a class="link" href="ssl__error__make_error_code.html#boost_asio.reference.ssl__error__make_error_code.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__error__get_stream_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__error__stream_category.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__error__stream_category.html b/doc/html/boost_asio/reference/ssl__error__stream_category.html
new file mode 100644
index 0000000000..a9fbf762dc
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__error__stream_category.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::error::stream_category</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__error__make_error_code.html" title="ssl::error::make_error_code">
+<link rel="next" href="ssl__error__stream_errors.html" title="ssl::error::stream_errors">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__error__make_error_code.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__error__stream_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__error__stream_category"></a><a class="link" href="ssl__error__stream_category.html" title="ssl::error::stream_category">ssl::error::stream_category</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp169992032"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_category</span> <span class="special">&amp;</span> <span class="identifier">stream_category</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">get_stream_category</span><span class="special">();</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__error__stream_category.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__error__stream_category.requirements"></a></span><a class="link" href="ssl__error__stream_category.html#boost_asio.reference.ssl__error__stream_category.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__error__make_error_code.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__error__stream_errors.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__error__stream_errors.html b/doc/html/boost_asio/reference/ssl__error__stream_errors.html
new file mode 100644
index 0000000000..83c405ca2c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__error__stream_errors.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::error::stream_errors</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__error__stream_category.html" title="ssl::error::stream_category">
+<link rel="next" href="ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__error__stream_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__rfc2818_verification.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__error__stream_errors"></a><a class="link" href="ssl__error__stream_errors.html" title="ssl::error::stream_errors">ssl::error::stream_errors</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp170013328"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">stream_errors</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp170016528"></a>
+ </p>
+<h5>
+<a name="boost_asio.reference.ssl__error__stream_errors.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__error__stream_errors.values"></a></span><a class="link" href="ssl__error__stream_errors.html#boost_asio.reference.ssl__error__stream_errors.values">Values</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">stream_truncated</span></dt>
+<dd><p>
+ The underlying stream closed before the ssl stream gracefully shut
+ down.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.ssl__error__stream_errors.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__error__stream_errors.requirements"></a></span><a class="link" href="ssl__error__stream_errors.html#boost_asio.reference.ssl__error__stream_errors.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/error.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__error__stream_category.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__rfc2818_verification.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__rfc2818_verification.html b/doc/html/boost_asio/reference/ssl__rfc2818_verification.html
new file mode 100644
index 0000000000..2d6d97c77d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__rfc2818_verification.html
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::rfc2818_verification</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__error__stream_errors.html" title="ssl::error::stream_errors">
+<link rel="next" href="ssl__rfc2818_verification/operator_lp__rp_.html" title="ssl::rfc2818_verification::operator()">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__error__stream_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__rfc2818_verification/operator_lp__rp_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__rfc2818_verification"></a><a class="link" href="ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">ssl::rfc2818_verification</a>
+</h3></div></div></div>
+<p>
+ Verifies a certificate against a hostname according to the rules described
+ in RFC 2818.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">rfc2818_verification</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__rfc2818_verification.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.types"></a></span><a class="link" href="ssl__rfc2818_verification.html#boost_asio.reference.ssl__rfc2818_verification.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ssl__rfc2818_verification/result_type.html" title="ssl::rfc2818_verification::result_type"><span class="bold"><strong>result_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the function object's result.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__rfc2818_verification.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.member_functions"></a></span><a class="link" href="ssl__rfc2818_verification.html#boost_asio.reference.ssl__rfc2818_verification.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__rfc2818_verification/operator_lp__rp_.html" title="ssl::rfc2818_verification::operator()"><span class="bold"><strong>operator()</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform certificate verification.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__rfc2818_verification/rfc2818_verification.html" title="ssl::rfc2818_verification::rfc2818_verification"><span class="bold"><strong>rfc2818_verification</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__rfc2818_verification.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.example"></a></span><a class="link" href="ssl__rfc2818_verification.html#boost_asio.reference.ssl__rfc2818_verification.example">Example</a>
+ </h5>
+<p>
+ The following example shows how to synchronously open a secure connection
+ to a given host name:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+<span class="keyword">namespace</span> <span class="identifier">ssl</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">ssl_socket</span><span class="special">;</span>
+
+<span class="comment">// Create a context that uses the default paths for finding CA certificates.</span>
+<span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span> <span class="identifier">ctx</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">sslv23</span><span class="special">);</span>
+<span class="identifier">ctx</span><span class="special">.</span><span class="identifier">set_default_verify_paths</span><span class="special">();</span>
+
+<span class="comment">// Open a socket and connect it to the remote host.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+<span class="identifier">ssl_socket</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+<span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="string">"host.name"</span><span class="special">,</span> <span class="string">"https"</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">(),</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">));</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">lowest_layer</span><span class="special">().</span><span class="identifier">set_option</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">no_delay</span><span class="special">(</span><span class="keyword">true</span><span class="special">));</span>
+
+<span class="comment">// Perform SSL handshake and verify the remote host's certificate.</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">set_verify_mode</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span><span class="special">);</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">set_verify_callback</span><span class="special">(</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">rfc2818_verification</span><span class="special">(</span><span class="string">"host.name"</span><span class="special">));</span>
+<span class="identifier">sock</span><span class="special">.</span><span class="identifier">handshake</span><span class="special">(</span><span class="identifier">ssl_socket</span><span class="special">::</span><span class="identifier">client</span><span class="special">);</span>
+
+<span class="comment">// ... read and write as normal ...</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__rfc2818_verification.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.requirements"></a></span><a class="link" href="ssl__rfc2818_verification.html#boost_asio.reference.ssl__rfc2818_verification.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/rfc2818_verification.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__error__stream_errors.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__rfc2818_verification/operator_lp__rp_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__rfc2818_verification/operator_lp__rp_.html b/doc/html/boost_asio/reference/ssl__rfc2818_verification/operator_lp__rp_.html
new file mode 100644
index 0000000000..daceaca458
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__rfc2818_verification/operator_lp__rp_.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::rfc2818_verification::operator()</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">
+<link rel="prev" href="../ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">
+<link rel="next" href="result_type.html" title="ssl::rfc2818_verification::result_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__rfc2818_verification.operator_lp__rp_"></a><a class="link" href="operator_lp__rp_.html" title="ssl::rfc2818_verification::operator()">ssl::rfc2818_verification::operator()</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170145488"></a>
+Perform certificate verification.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span>
+ <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span>
+ <span class="identifier">verify_context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__rfc2818_verification/result_type.html b/doc/html/boost_asio/reference/ssl__rfc2818_verification/result_type.html
new file mode 100644
index 0000000000..b996b4ca75
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__rfc2818_verification/result_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::rfc2818_verification::result_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">
+<link rel="prev" href="operator_lp__rp_.html" title="ssl::rfc2818_verification::operator()">
+<link rel="next" href="rfc2818_verification.html" title="ssl::rfc2818_verification::rfc2818_verification">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lp__rp_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rfc2818_verification.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__rfc2818_verification.result_type"></a><a class="link" href="result_type.html" title="ssl::rfc2818_verification::result_type">ssl::rfc2818_verification::result_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170157296"></a>
+The type of the function object's result.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">result_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__rfc2818_verification.result_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__rfc2818_verification.result_type.requirements"></a></span><a class="link" href="result_type.html#boost_asio.reference.ssl__rfc2818_verification.result_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/rfc2818_verification.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="operator_lp__rp_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rfc2818_verification.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__rfc2818_verification/rfc2818_verification.html b/doc/html/boost_asio/reference/ssl__rfc2818_verification/rfc2818_verification.html
new file mode 100644
index 0000000000..b770a47ee7
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__rfc2818_verification/rfc2818_verification.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::rfc2818_verification::rfc2818_verification</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__rfc2818_verification.html" title="ssl::rfc2818_verification">
+<link rel="prev" href="result_type.html" title="ssl::rfc2818_verification::result_type">
+<link rel="next" href="../ssl__stream.html" title="ssl::stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="result_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__rfc2818_verification.rfc2818_verification"></a><a class="link" href="rfc2818_verification.html" title="ssl::rfc2818_verification::rfc2818_verification">ssl::rfc2818_verification::rfc2818_verification</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170169728"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">rfc2818_verification</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">&amp;</span> <span class="identifier">host</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="result_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__rfc2818_verification.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__stream.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream.html b/doc/html/boost_asio/reference/ssl__stream.html
new file mode 100644
index 0000000000..748ffd941e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream.html
@@ -0,0 +1,429 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__rfc2818_verification/rfc2818_verification.html" title="ssl::rfc2818_verification::rfc2818_verification">
+<link rel="next" href="ssl__stream/async_handshake.html" title="ssl::stream::async_handshake">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__rfc2818_verification/rfc2818_verification.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__stream/async_handshake.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__stream"></a><a class="link" href="ssl__stream.html" title="ssl::stream">ssl::stream</a>
+</h3></div></div></div>
+<p>
+ Provides stream-oriented functionality using SSL.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Stream</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">stream</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream_base</span><span class="special">,</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__stream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.types"></a></span><a class="link" href="ssl__stream.html#boost_asio.reference.ssl__stream.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream__impl_struct.html" title="ssl::stream::impl_struct"><span class="bold"><strong>impl_struct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Structure for use with deprecated impl_type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/handshake_type.html" title="ssl::stream::handshake_type"><span class="bold"><strong>handshake_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different handshake types.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/impl_type.html" title="ssl::stream::impl_type"><span class="bold"><strong>impl_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The underlying implementation
+ type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/lowest_layer_type.html" title="ssl::stream::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/native_handle_type.html" title="ssl::stream::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type of the SSL stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/next_layer_type.html" title="ssl::stream::next_layer_type"><span class="bold"><strong>next_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the next layer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__stream.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.member_functions"></a></span><a class="link" href="ssl__stream.html#boost_asio.reference.ssl__stream.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/async_handshake.html" title="ssl::stream::async_handshake"><span class="bold"><strong>async_handshake</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous SSL handshake.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/async_read_some.html" title="ssl::stream::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/async_shutdown.html" title="ssl::stream::async_shutdown"><span class="bold"><strong>async_shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Asynchronously shut down SSL on the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/async_write_some.html" title="ssl::stream::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/get_io_service.html" title="ssl::stream::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/handshake.html" title="ssl::stream::handshake"><span class="bold"><strong>handshake</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform SSL handshaking.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/impl.html" title="ssl::stream::impl"><span class="bold"><strong>impl</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the underlying implementation
+ in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/lowest_layer.html" title="ssl::stream::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/native_handle.html" title="ssl::stream::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/next_layer.html" title="ssl::stream::next_layer"><span class="bold"><strong>next_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the next layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/read_some.html" title="ssl::stream::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/set_verify_callback.html" title="ssl::stream::set_verify_callback"><span class="bold"><strong>set_verify_callback</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the callback used to verify peer certificates.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/set_verify_depth.html" title="ssl::stream::set_verify_depth"><span class="bold"><strong>set_verify_depth</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the peer verification depth.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/set_verify_mode.html" title="ssl::stream::set_verify_mode"><span class="bold"><strong>set_verify_mode</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set the peer verification mode.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/shutdown.html" title="ssl::stream::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Shut down SSL on the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/stream.html" title="ssl::stream::stream"><span class="bold"><strong>stream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/write_some.html" title="ssl::stream::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream/_stream.html" title="ssl::stream::~stream"><span class="bold"><strong>~stream</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The stream class template provides asynchronous and blocking stream-oriented
+ functionality using SSL.
+ </p>
+<h5>
+<a name="boost_asio.reference.ssl__stream.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.thread_safety"></a></span><a class="link" href="ssl__stream.html#boost_asio.reference.ssl__stream.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe. The application
+ must also ensure that all asynchronous operations are performed within the
+ same implicit or explicit strand.
+ </p>
+<h5>
+<a name="boost_asio.reference.ssl__stream.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.example"></a></span><a class="link" href="ssl__stream.html#boost_asio.reference.ssl__stream.example">Example</a>
+ </h5>
+<p>
+ To use the SSL stream template with an <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span></code>, you would write:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span> <span class="identifier">ctx</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">sslv23</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">asio</span><span class="special">:</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__stream.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.requirements"></a></span><a class="link" href="ssl__stream.html#boost_asio.reference.ssl__stream.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__rfc2818_verification/rfc2818_verification.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__stream/async_handshake.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/_stream.html b/doc/html/boost_asio/reference/ssl__stream/_stream.html
new file mode 100644
index 0000000000..880bd3a4c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/_stream.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::~stream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="write_some/overload2.html" title="ssl::stream::write_some (2 of 2 overloads)">
+<link rel="next" href="../ssl__stream__impl_struct.html" title="ssl::stream::impl_struct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="write_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__stream__impl_struct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream._stream"></a><a class="link" href="_stream.html" title="ssl::stream::~stream">ssl::stream::~stream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171406432"></a>
+Destructor.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">stream</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="write_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__stream__impl_struct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/async_handshake.html b/doc/html/boost_asio/reference/ssl__stream/async_handshake.html
new file mode 100644
index 0000000000..6c46a19efe
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/async_handshake.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::async_handshake</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="../ssl__stream.html" title="ssl::stream">
+<link rel="next" href="async_handshake/overload1.html" title="ssl::stream::async_handshake (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_handshake/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.async_handshake"></a><a class="link" href="async_handshake.html" title="ssl::stream::async_handshake">ssl::stream::async_handshake</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170331712"></a>
+Start an asynchronous SSL handshake.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../HandshakeHandler.html" title="SSL handshake handler requirements">HandshakeHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_handshake/overload1.html" title="ssl::stream::async_handshake (1 of 2 overloads)">async_handshake</a><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="identifier">HandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_handshake/overload1.html" title="ssl::stream::async_handshake (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <a class="link" href="async_handshake/overload2.html" title="ssl::stream::async_handshake (2 of 2 overloads)">async_handshake</a><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">BufferedHandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="async_handshake/overload2.html" title="ssl::stream::async_handshake (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../ssl__stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_handshake/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/async_handshake/overload1.html b/doc/html/boost_asio/reference/ssl__stream/async_handshake/overload1.html
new file mode 100644
index 0000000000..4d743049be
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/async_handshake/overload1.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::async_handshake (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_handshake.html" title="ssl::stream::async_handshake">
+<link rel="prev" href="../async_handshake.html" title="ssl::stream::async_handshake">
+<link rel="next" href="overload2.html" title="ssl::stream::async_handshake (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../async_handshake.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.async_handshake.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::async_handshake (1 of 2 overloads)">ssl::stream::async_handshake
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous SSL handshake.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../HandshakeHandler.html" title="SSL handshake handler requirements">HandshakeHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_handshake</span><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="identifier">HandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously perform an SSL handshake on the
+ stream. This function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_handshake.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_handshake.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.async_handshake.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">type</span></dt>
+<dd><p>
+ The type of handshaking to be performed, i.e. as a client or as
+ a server.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the handshake operation completes.
+ Copies will be made of the handler as required. The equivalent
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="../async_handshake.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/async_handshake/overload2.html b/doc/html/boost_asio/reference/ssl__stream/async_handshake/overload2.html
new file mode 100644
index 0000000000..575cd0dc2c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/async_handshake/overload2.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::async_handshake (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../async_handshake.html" title="ssl::stream::async_handshake">
+<link rel="prev" href="overload1.html" title="ssl::stream::async_handshake (1 of 2 overloads)">
+<link rel="next" href="../async_read_some.html" title="ssl::stream::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.async_handshake.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::async_handshake (2 of 2 overloads)">ssl::stream::async_handshake
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Start an asynchronous SSL handshake.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a><span class="special">&gt;</span>
+<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_handshake</span><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">BufferedHandshakeHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously perform an SSL handshake on the
+ stream. This function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_handshake.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_handshake.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.async_handshake.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">type</span></dt>
+<dd><p>
+ The type of handshaking to be performed, i.e. as a client or as
+ a server.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The buffered data to be reused for the handshake. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ buffers is retained by the caller, which must guarantee that they
+ remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the handshake operation completes.
+ Copies will be made of the handler as required. The equivalent
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Amount of buffers used in handshake.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/async_read_some.html b/doc/html/boost_asio/reference/ssl__stream/async_read_some.html
new file mode 100644
index 0000000000..21c13c5661
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/async_read_some.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="async_handshake/overload2.html" title="ssl::stream::async_handshake (2 of 2 overloads)">
+<link rel="next" href="async_shutdown.html" title="ssl::stream::async_shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_handshake/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.async_read_some"></a><a class="link" href="async_read_some.html" title="ssl::stream::async_read_some">ssl::stream::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170431840"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read one or more bytes of data
+ from the stream. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_read_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_read_some.parameters"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.ssl__stream.async_read_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The buffers into which the data will be read. Although the buffers
+ object may be copied as necessary, ownership of the underlying buffers
+ is retained by the caller, which must guarantee that they remain
+ valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The equivalent function
+ signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_read_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_read_some.remarks"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.ssl__stream.async_read_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_read_some operation may not read all of the requested number
+ of bytes. Consider using the <a class="link" href="../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the asynchronous
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="async_handshake/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/async_shutdown.html b/doc/html/boost_asio/reference/ssl__stream/async_shutdown.html
new file mode 100644
index 0000000000..9deaf4f094
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/async_shutdown.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::async_shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="async_read_some.html" title="ssl::stream::async_read_some">
+<link rel="next" href="async_write_some.html" title="ssl::stream::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.async_shutdown"></a><a class="link" href="async_shutdown.html" title="ssl::stream::async_shutdown">ssl::stream::async_shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170474208"></a>
+Asynchronously shut down SSL on the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ShutdownHandler.html" title="SSL shutdown handler requirements">ShutdownHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_shutdown</span><span class="special">(</span>
+ <span class="identifier">ShutdownHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously shut down SSL on the stream. This
+ function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_shutdown.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_shutdown.parameters"></a></span><a class="link" href="async_shutdown.html#boost_asio.reference.ssl__stream.async_shutdown.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the handshake operation completes.
+ Copies will be made of the handler as required. The equivalent function
+ signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/async_write_some.html b/doc/html/boost_asio/reference/ssl__stream/async_write_some.html
new file mode 100644
index 0000000000..43c18b634b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/async_write_some.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="async_shutdown.html" title="ssl::stream::async_shutdown">
+<link rel="next" href="get_io_service.html" title="ssl::stream::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_shutdown.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.async_write_some"></a><a class="link" href="async_write_some.html" title="ssl::stream::async_write_some">ssl::stream::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170500336"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write one or more bytes of data
+ to the stream. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_write_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_write_some.parameters"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.ssl__stream.async_write_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The data to be written to the stream. Although the buffers object
+ may be copied as necessary, ownership of the underlying buffers is
+ retained by the caller, which must guarantee that they remain valid
+ until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The equivalent function
+ signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.async_write_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_write_some.remarks"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.ssl__stream.async_write_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The async_write_some operation may not transmit all of the data to the
+ peer. Consider using the <a class="link" href="../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
+ to ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="async_shutdown.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/get_io_service.html b/doc/html/boost_asio/reference/ssl__stream/get_io_service.html
new file mode 100644
index 0000000000..8e67cdcc2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/get_io_service.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="async_write_some.html" title="ssl::stream::async_write_some">
+<link rel="next" href="handshake.html" title="ssl::stream::handshake">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handshake.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.get_io_service"></a><a class="link" href="get_io_service.html" title="ssl::stream::get_io_service">ssl::stream::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170542672"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the stream
+ uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.ssl__stream.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that stream
+ will use to dispatch handlers. Ownership is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handshake.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/handshake.html b/doc/html/boost_asio/reference/ssl__stream/handshake.html
new file mode 100644
index 0000000000..fff5bb0b61
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/handshake.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::handshake</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="get_io_service.html" title="ssl::stream::get_io_service">
+<link rel="next" href="handshake/overload1.html" title="ssl::stream::handshake (1 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handshake/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.handshake"></a><a class="link" href="handshake.html" title="ssl::stream::handshake">ssl::stream::handshake</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170560816"></a>
+Perform SSL handshaking.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="handshake/overload1.html" title="ssl::stream::handshake (1 of 4 overloads)">handshake</a><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="handshake/overload1.html" title="ssl::stream::handshake (1 of 4 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="handshake/overload2.html" title="ssl::stream::handshake (2 of 4 overloads)">handshake</a><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="handshake/overload2.html" title="ssl::stream::handshake (2 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="handshake/overload3.html" title="ssl::stream::handshake (3 of 4 overloads)">handshake</a><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="handshake/overload3.html" title="ssl::stream::handshake (3 of 4 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="handshake/overload4.html" title="ssl::stream::handshake (4 of 4 overloads)">handshake</a><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="handshake/overload4.html" title="ssl::stream::handshake (4 of 4 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="handshake/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/handshake/overload1.html b/doc/html/boost_asio/reference/ssl__stream/handshake/overload1.html
new file mode 100644
index 0000000000..676d7e9666
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/handshake/overload1.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::handshake (1 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../handshake.html" title="ssl::stream::handshake">
+<link rel="prev" href="../handshake.html" title="ssl::stream::handshake">
+<link rel="next" href="overload2.html" title="ssl::stream::handshake (2 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../handshake.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.handshake.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::handshake (1 of 4 overloads)">ssl::stream::handshake
+ (1 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform SSL handshaking.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handshake</span><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to perform SSL handshaking on the stream. The function
+ call will block until handshaking is complete or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.handshake.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">type</span></dt>
+<dd><p>
+ The type of handshaking to be performed, i.e. as a client or as
+ a server.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.handshake.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../handshake.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/handshake/overload2.html b/doc/html/boost_asio/reference/ssl__stream/handshake/overload2.html
new file mode 100644
index 0000000000..4a77d15812
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/handshake/overload2.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::handshake (2 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../handshake.html" title="ssl::stream::handshake">
+<link rel="prev" href="overload1.html" title="ssl::stream::handshake (1 of 4 overloads)">
+<link rel="next" href="overload3.html" title="ssl::stream::handshake (3 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.handshake.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::handshake (2 of 4 overloads)">ssl::stream::handshake
+ (2 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform SSL handshaking.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">handshake</span><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to perform SSL handshaking on the stream. The function
+ call will block until handshaking is complete or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.handshake.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">type</span></dt>
+<dd><p>
+ The type of handshaking to be performed, i.e. as a client or as
+ a server.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/handshake/overload3.html b/doc/html/boost_asio/reference/ssl__stream/handshake/overload3.html
new file mode 100644
index 0000000000..5a24c93b4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/handshake/overload3.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::handshake (3 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../handshake.html" title="ssl::stream::handshake">
+<link rel="prev" href="overload2.html" title="ssl::stream::handshake (2 of 4 overloads)">
+<link rel="next" href="overload4.html" title="ssl::stream::handshake (4 of 4 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.handshake.overload3"></a><a class="link" href="overload3.html" title="ssl::stream::handshake (3 of 4 overloads)">ssl::stream::handshake
+ (3 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform SSL handshaking.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">handshake</span><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to perform SSL handshaking on the stream. The function
+ call will block until handshaking is complete or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.ssl__stream.handshake.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">type</span></dt>
+<dd><p>
+ The type of handshaking to be performed, i.e. as a client or as
+ a server.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The buffered data to be reused for the handshake.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.ssl__stream.handshake.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/handshake/overload4.html b/doc/html/boost_asio/reference/ssl__stream/handshake/overload4.html
new file mode 100644
index 0000000000..287c99c496
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/handshake/overload4.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::handshake (4 of 4 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../handshake.html" title="ssl::stream::handshake">
+<link rel="prev" href="overload3.html" title="ssl::stream::handshake (3 of 4 overloads)">
+<link rel="next" href="../handshake_type.html" title="ssl::stream::handshake_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../handshake_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.handshake.overload4"></a><a class="link" href="overload4.html" title="ssl::stream::handshake (4 of 4 overloads)">ssl::stream::handshake
+ (4 of 4 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform SSL handshaking.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">handshake</span><span class="special">(</span>
+ <span class="identifier">handshake_type</span> <span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to perform SSL handshaking on the stream. The function
+ call will block until handshaking is complete or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.ssl__stream.handshake.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">type</span></dt>
+<dd><p>
+ The type of handshaking to be performed, i.e. as a client or as
+ a server.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The buffered data to be reused for the handshake.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../handshake_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/handshake_type.html b/doc/html/boost_asio/reference/ssl__stream/handshake_type.html
new file mode 100644
index 0000000000..20d83c077e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/handshake_type.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::handshake_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="handshake/overload4.html" title="ssl::stream::handshake (4 of 4 overloads)">
+<link rel="next" href="impl.html" title="ssl::stream::impl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="handshake/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.handshake_type"></a><a class="link" href="handshake_type.html" title="ssl::stream::handshake_type">ssl::stream::handshake_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170707296"></a>
+Different handshake types.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">handshake_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp170710912"></a>
+ <a class="indexterm" name="idp170712016"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.handshake_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.handshake_type.values"></a></span><a class="link" href="handshake_type.html#boost_asio.reference.ssl__stream.handshake_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">client</span></dt>
+<dd><p>
+ Perform handshaking as a client.
+ </p></dd>
+<dt><span class="term">server</span></dt>
+<dd><p>
+ Perform handshaking as a server.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="handshake/overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/impl.html b/doc/html/boost_asio/reference/ssl__stream/impl.html
new file mode 100644
index 0000000000..257e728dae
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/impl.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::impl</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="handshake_type.html" title="ssl::stream::handshake_type">
+<link rel="next" href="impl_type.html" title="ssl::stream::impl_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="handshake_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.impl"></a><a class="link" href="impl.html" title="ssl::stream::impl">ssl::stream::impl</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170721888"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the underlying implementation in
+ the native type.
+ </p>
+<pre class="programlisting"><span class="identifier">impl_type</span> <span class="identifier">impl</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying implementation of the
+ context. This is intended to allow access to stream functionality that
+ is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="handshake_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="impl_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/impl_type.html b/doc/html/boost_asio/reference/ssl__stream/impl_type.html
new file mode 100644
index 0000000000..e6533cae44
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/impl_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::impl_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="impl.html" title="ssl::stream::impl">
+<link rel="next" href="lowest_layer.html" title="ssl::stream::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="impl.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.impl_type"></a><a class="link" href="impl_type.html" title="ssl::stream::impl_type">ssl::stream::impl_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170730336"></a>
+(Deprecated: Use native_handle_type.) The underlying
+ implementation type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">impl_struct</span> <span class="special">*</span> <span class="identifier">impl_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__stream.impl_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.impl_type.requirements"></a></span><a class="link" href="impl_type.html#boost_asio.reference.ssl__stream.impl_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="impl.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/lowest_layer.html b/doc/html/boost_asio/reference/ssl__stream/lowest_layer.html
new file mode 100644
index 0000000000..b0629e5fba
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/lowest_layer.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="impl_type.html" title="ssl::stream::impl_type">
+<link rel="next" href="lowest_layer/overload1.html" title="ssl::stream::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="impl_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.lowest_layer"></a><a class="link" href="lowest_layer.html" title="ssl::stream::lowest_layer">ssl::stream::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170743168"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="ssl::stream::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="ssl::stream::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="ssl::stream::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="ssl::stream::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="impl_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload1.html b/doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload1.html
new file mode 100644
index 0000000000..b529c15c84
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload1.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="ssl::stream::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="ssl::stream::lowest_layer">
+<link rel="next" href="overload2.html" title="ssl::stream::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::lowest_layer (1 of 2 overloads)">ssl::stream::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of stream
+ layers.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of stream layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload2.html b/doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload2.html
new file mode 100644
index 0000000000..88997d6489
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/lowest_layer/overload2.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="ssl::stream::lowest_layer">
+<link rel="prev" href="overload1.html" title="ssl::stream::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="ssl::stream::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::lowest_layer (2 of 2 overloads)">ssl::stream::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of stream
+ layers.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of stream layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/lowest_layer_type.html b/doc/html/boost_asio/reference/ssl__stream/lowest_layer_type.html
new file mode 100644
index 0000000000..2ca7c58de1
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/lowest_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="lowest_layer/overload2.html" title="ssl::stream::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native_handle.html" title="ssl::stream::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="ssl::stream::lowest_layer_type">ssl::stream::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170778432"></a>
+The type of the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">next_layer_type</span><span class="special">::</span><span class="identifier">lowest_layer_type</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__stream.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.ssl__stream.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/native_handle.html b/doc/html/boost_asio/reference/ssl__stream/native_handle.html
new file mode 100644
index 0000000000..24d3c28c50
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/native_handle.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="lowest_layer_type.html" title="ssl::stream::lowest_layer_type">
+<link rel="next" href="native_handle_type.html" title="ssl::stream::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.native_handle"></a><a class="link" href="native_handle.html" title="ssl::stream::native_handle">ssl::stream::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170791696"></a>
+Get the underlying implementation in the native
+ type.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying implementation of the
+ context. This is intended to allow access to context functionality that
+ is not otherwise provided.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.native_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.native_handle.example"></a></span><a class="link" href="native_handle.html#boost_asio.reference.ssl__stream.native_handle.example">Example</a>
+ </h6>
+<p>
+ The <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>
+ function returns a pointer of type <code class="computeroutput"><span class="identifier">SSL</span><span class="special">*</span></code> that is suitable for passing to functions
+ such as <code class="computeroutput"><span class="identifier">SSL_get_verify_result</span></code>
+ and <code class="computeroutput"><span class="identifier">SSL_get_peer_certificate</span><span class="special">:</span></code>
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;</span><span class="identifier">asio</span><span class="special">:</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&gt;</span> <span class="identifier">sock</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+
+<span class="comment">// ... establish connection and perform handshake ...</span>
+
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">X509</span><span class="special">*</span> <span class="identifier">cert</span> <span class="special">=</span> <span class="identifier">SSL_get_peer_certificate</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">()))</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">SSL_get_verify_result</span><span class="special">(</span><span class="identifier">sock</span><span class="special">.</span><span class="identifier">native_handle</span><span class="special">())</span> <span class="special">==</span> <span class="identifier">X509_V_OK</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// ...</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/native_handle_type.html b/doc/html/boost_asio/reference/ssl__stream/native_handle_type.html
new file mode 100644
index 0000000000..604dd0307f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="native_handle.html" title="ssl::stream::native_handle">
+<link rel="next" href="next_layer.html" title="ssl::stream::next_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.native_handle_type"></a><a class="link" href="native_handle_type.html" title="ssl::stream::native_handle_type">ssl::stream::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170838784"></a>
+The native handle type of the SSL stream.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">SSL</span> <span class="special">*</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__stream.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.ssl__stream.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/next_layer.html b/doc/html/boost_asio/reference/ssl__stream/next_layer.html
new file mode 100644
index 0000000000..4de79ef2ec
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/next_layer.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::next_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="native_handle_type.html" title="ssl::stream::native_handle_type">
+<link rel="next" href="next_layer/overload1.html" title="ssl::stream::next_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.next_layer"></a><a class="link" href="next_layer.html" title="ssl::stream::next_layer">ssl::stream::next_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170851840"></a>
+Get a reference to the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <a class="link" href="next_layer/overload1.html" title="ssl::stream::next_layer (1 of 2 overloads)">next_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="next_layer/overload1.html" title="ssl::stream::next_layer (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <a class="link" href="next_layer/overload2.html" title="ssl::stream::next_layer (2 of 2 overloads)">next_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="next_layer/overload2.html" title="ssl::stream::next_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/next_layer/overload1.html b/doc/html/boost_asio/reference/ssl__stream/next_layer/overload1.html
new file mode 100644
index 0000000000..3e3e6583f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/next_layer/overload1.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::next_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../next_layer.html" title="ssl::stream::next_layer">
+<link rel="prev" href="../next_layer.html" title="ssl::stream::next_layer">
+<link rel="next" href="overload2.html" title="ssl::stream::next_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../next_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.next_layer.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::next_layer (1 of 2 overloads)">ssl::stream::next_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a reference to the next layer in a stack of stream
+ layers.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.next_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.next_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.next_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the next layer in the stack of stream layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../next_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/next_layer/overload2.html b/doc/html/boost_asio/reference/ssl__stream/next_layer/overload2.html
new file mode 100644
index 0000000000..4add29cb93
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/next_layer/overload2.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::next_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../next_layer.html" title="ssl::stream::next_layer">
+<link rel="prev" href="overload1.html" title="ssl::stream::next_layer (1 of 2 overloads)">
+<link rel="next" href="../next_layer_type.html" title="ssl::stream::next_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../next_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.next_layer.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::next_layer (2 of 2 overloads)">ssl::stream::next_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the next layer.
+ </p>
+<pre class="programlisting"><span class="identifier">next_layer_type</span> <span class="special">&amp;</span> <span class="identifier">next_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the next layer in a stack of stream
+ layers.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.next_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.next_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.next_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the next layer in the stack of stream layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../next_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/next_layer_type.html b/doc/html/boost_asio/reference/ssl__stream/next_layer_type.html
new file mode 100644
index 0000000000..96a7fe658d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/next_layer_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::next_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="next_layer/overload2.html" title="ssl::stream::next_layer (2 of 2 overloads)">
+<link rel="next" href="read_some.html" title="ssl::stream::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.next_layer_type"></a><a class="link" href="next_layer_type.html" title="ssl::stream::next_layer_type">ssl::stream::next_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170886944"></a>
+The type of the next layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span> <span class="identifier">Stream</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">next_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__stream.next_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.next_layer_type.requirements"></a></span><a class="link" href="next_layer_type.html#boost_asio.reference.ssl__stream.next_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="next_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/read_some.html b/doc/html/boost_asio/reference/ssl__stream/read_some.html
new file mode 100644
index 0000000000..3e5912438f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/read_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="next_layer_type.html" title="ssl::stream::next_layer_type">
+<link rel="next" href="read_some/overload1.html" title="ssl::stream::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.read_some"></a><a class="link" href="read_some.html" title="ssl::stream::read_some">ssl::stream::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170901632"></a>
+Read some data from the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="ssl::stream::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="ssl::stream::read_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="ssl::stream::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="ssl::stream::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="next_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/read_some/overload1.html b/doc/html/boost_asio/reference/ssl__stream/read_some/overload1.html
new file mode 100644
index 0000000000..b62342a26c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/read_some/overload1.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="ssl::stream::read_some">
+<link rel="prev" href="../read_some.html" title="ssl::stream::read_some">
+<link rel="next" href="overload2.html" title="ssl::stream::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.read_some.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::read_some (1 of 2 overloads)">ssl::stream::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream. The function call
+ will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.read_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The buffers into which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.read_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.read_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.read_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/read_some/overload2.html b/doc/html/boost_asio/reference/ssl__stream/read_some/overload2.html
new file mode 100644
index 0000000000..100edf9b6d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/read_some/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="ssl::stream::read_some">
+<link rel="prev" href="overload1.html" title="ssl::stream::read_some (1 of 2 overloads)">
+<link rel="next" href="../set_verify_callback.html" title="ssl::stream::set_verify_callback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.read_some.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::read_some (2 of 2 overloads)">ssl::stream::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream. The function call
+ will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.read_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The buffers into which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.read_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.read_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.read_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.read_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_callback.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_callback.html
new file mode 100644
index 0000000000..e529e55b06
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_callback.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_callback</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="read_some/overload2.html" title="ssl::stream::read_some (2 of 2 overloads)">
+<link rel="next" href="set_verify_callback/overload1.html" title="ssl::stream::set_verify_callback (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_callback/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_callback"></a><a class="link" href="set_verify_callback.html" title="ssl::stream::set_verify_callback">ssl::stream::set_verify_callback</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp170998064"></a>
+Set the callback used to verify peer certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="set_verify_callback/overload1.html" title="ssl::stream::set_verify_callback (1 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_callback/overload1.html" title="ssl::stream::set_verify_callback (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_verify_callback/overload2.html" title="ssl::stream::set_verify_callback (2 of 2 overloads)">set_verify_callback</a><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_callback/overload2.html" title="ssl::stream::set_verify_callback (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_callback/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload1.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload1.html
new file mode 100644
index 0000000000..1963f420c9
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload1.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_callback (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_callback.html" title="ssl::stream::set_verify_callback">
+<link rel="prev" href="../set_verify_callback.html" title="ssl::stream::set_verify_callback">
+<link rel="next" href="overload2.html" title="ssl::stream::set_verify_callback (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::set_verify_callback (1 of 2 overloads)">ssl::stream::set_verify_callback
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the callback used to verify peer certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify a callback function that will be called
+ by the implementation when it needs to verify a peer certificate.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">callback</span></dt>
+<dd>
+<p>
+ The function object to be used for verifying a certificate. The
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
+ <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ The return value of the callback is true if the certificate has
+ passed verification, false otherwise.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_callback.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_verify_callback.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload2.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload2.html
new file mode 100644
index 0000000000..9054a3a42c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_callback/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_callback (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_callback.html" title="ssl::stream::set_verify_callback">
+<link rel="prev" href="overload1.html" title="ssl::stream::set_verify_callback (1 of 2 overloads)">
+<link rel="next" href="../set_verify_depth.html" title="ssl::stream::set_verify_depth">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::set_verify_callback (2 of 2 overloads)">ssl::stream::set_verify_callback
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the callback used to verify peer certificates.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">VerifyCallback</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_callback</span><span class="special">(</span>
+ <span class="identifier">VerifyCallback</span> <span class="identifier">callback</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to specify a callback function that will be called
+ by the implementation when it needs to verify a peer certificate.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">callback</span></dt>
+<dd>
+<p>
+ The function object to be used for verifying a certificate. The
+ function signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">verify_callback</span><span class="special">(</span>
+ <span class="keyword">bool</span> <span class="identifier">preverified</span><span class="special">,</span> <span class="comment">// True if the certificate passed pre-verification.</span>
+ <span class="identifier">verify_context</span><span class="special">&amp;</span> <span class="identifier">ctx</span> <span class="comment">// The peer certificate and other context.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ The return value of the callback is true if the certificate has
+ passed verification, false otherwise.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_callback.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.set_verify_callback.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_callback.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_depth.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_depth.html
new file mode 100644
index 0000000000..405d4083a6
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_depth.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_depth</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="set_verify_callback/overload2.html" title="ssl::stream::set_verify_callback (2 of 2 overloads)">
+<link rel="next" href="set_verify_depth/overload1.html" title="ssl::stream::set_verify_depth (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_verify_callback/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_depth/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_depth"></a><a class="link" href="set_verify_depth.html" title="ssl::stream::set_verify_depth">ssl::stream::set_verify_depth</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171098416"></a>
+Set the peer verification depth.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_verify_depth/overload1.html" title="ssl::stream::set_verify_depth (1 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_depth/overload1.html" title="ssl::stream::set_verify_depth (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_verify_depth/overload2.html" title="ssl::stream::set_verify_depth (2 of 2 overloads)">set_verify_depth</a><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_depth/overload2.html" title="ssl::stream::set_verify_depth (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_verify_callback/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_depth/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload1.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload1.html
new file mode 100644
index 0000000000..ddb3ffa58d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload1.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_depth (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_depth.html" title="ssl::stream::set_verify_depth">
+<link rel="prev" href="../set_verify_depth.html" title="ssl::stream::set_verify_depth">
+<link rel="next" href="overload2.html" title="ssl::stream::set_verify_depth (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::set_verify_depth (1 of 2 overloads)">ssl::stream::set_verify_depth
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification depth.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the maximum verification depth
+ allowed by the stream.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">depth</span></dt>
+<dd><p>
+ Maximum depth for the certificate chain verification that shall
+ be allowed.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_depth.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_set_verify_depth</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_verify_depth.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload2.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload2.html
new file mode 100644
index 0000000000..eb2f2a6d58
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_depth/overload2.html
@@ -0,0 +1,80 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_depth (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_depth.html" title="ssl::stream::set_verify_depth">
+<link rel="prev" href="overload1.html" title="ssl::stream::set_verify_depth (1 of 2 overloads)">
+<link rel="next" href="../set_verify_mode.html" title="ssl::stream::set_verify_mode">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::set_verify_depth (2 of 2 overloads)">ssl::stream::set_verify_depth
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification depth.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_depth</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">depth</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the maximum verification depth
+ allowed by the stream.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">depth</span></dt>
+<dd><p>
+ Maximum depth for the certificate chain verification that shall
+ be allowed.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_depth.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.set_verify_depth.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_set_verify_depth</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_depth.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_mode.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_mode.html
new file mode 100644
index 0000000000..86e9972ecf
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_mode.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_mode</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="set_verify_depth/overload2.html" title="ssl::stream::set_verify_depth (2 of 2 overloads)">
+<link rel="next" href="set_verify_mode/overload1.html" title="ssl::stream::set_verify_mode (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_verify_depth/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_mode/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_mode"></a><a class="link" href="set_verify_mode.html" title="ssl::stream::set_verify_mode">ssl::stream::set_verify_mode</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171168096"></a>
+Set the peer verification mode.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="set_verify_mode/overload1.html" title="ssl::stream::set_verify_mode (1 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_mode/overload1.html" title="ssl::stream::set_verify_mode (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="set_verify_mode/overload2.html" title="ssl::stream::set_verify_mode (2 of 2 overloads)">set_verify_mode</a><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="set_verify_mode/overload2.html" title="ssl::stream::set_verify_mode (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_verify_depth/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_verify_mode/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload1.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload1.html
new file mode 100644
index 0000000000..4f00db67b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload1.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_mode (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_mode.html" title="ssl::stream::set_verify_mode">
+<link rel="prev" href="../set_verify_mode.html" title="ssl::stream::set_verify_mode">
+<link rel="next" href="overload2.html" title="ssl::stream::set_verify_mode (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::set_verify_mode (1 of 2 overloads)">ssl::stream::set_verify_mode
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification mode.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the peer verification mode used
+ by the stream. The new mode will override the mode inherited from the
+ context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">v</span></dt>
+<dd><p>
+ A bitmask of peer verification modes. See <a class="link" href="../../ssl__verify_mode.html" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
+ values.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.set_verify_mode.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../set_verify_mode.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload2.html b/doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload2.html
new file mode 100644
index 0000000000..b3cac66a4d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/set_verify_mode/overload2.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::set_verify_mode (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../set_verify_mode.html" title="ssl::stream::set_verify_mode">
+<link rel="prev" href="overload1.html" title="ssl::stream::set_verify_mode (1 of 2 overloads)">
+<link rel="next" href="../shutdown.html" title="ssl::stream::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::set_verify_mode (2 of 2 overloads)">ssl::stream::set_verify_mode
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the peer verification mode.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_verify_mode</span><span class="special">(</span>
+ <span class="identifier">verify_mode</span> <span class="identifier">v</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function may be used to configure the peer verification mode used
+ by the stream. The new mode will override the mode inherited from the
+ context.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">v</span></dt>
+<dd><p>
+ A bitmask of peer verification modes. See <a class="link" href="../../ssl__verify_mode.html" title="ssl::verify_mode"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_mode</span></code></a> for available
+ values.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.set_verify_mode.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.set_verify_mode.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ Calls <code class="computeroutput"><span class="identifier">SSL_set_verify</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set_verify_mode.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../shutdown.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/shutdown.html b/doc/html/boost_asio/reference/ssl__stream/shutdown.html
new file mode 100644
index 0000000000..7dc21f7c61
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/shutdown.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="set_verify_mode/overload2.html" title="ssl::stream::set_verify_mode (2 of 2 overloads)">
+<link rel="next" href="shutdown/overload1.html" title="ssl::stream::shutdown (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_verify_mode/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.shutdown"></a><a class="link" href="shutdown.html" title="ssl::stream::shutdown">ssl::stream::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171243440"></a>
+Shut down SSL on the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="shutdown/overload1.html" title="ssl::stream::shutdown (1 of 2 overloads)">shutdown</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload1.html" title="ssl::stream::shutdown (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="shutdown/overload2.html" title="ssl::stream::shutdown (2 of 2 overloads)">shutdown</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="shutdown/overload2.html" title="ssl::stream::shutdown (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="set_verify_mode/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/shutdown/overload1.html b/doc/html/boost_asio/reference/ssl__stream/shutdown/overload1.html
new file mode 100644
index 0000000000..7d69fb70de
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/shutdown/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::shutdown (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="ssl::stream::shutdown">
+<link rel="prev" href="../shutdown.html" title="ssl::stream::shutdown">
+<link rel="next" href="overload2.html" title="ssl::stream::shutdown (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.shutdown.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::shutdown (1 of 2 overloads)">ssl::stream::shutdown
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Shut down SSL on the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">shutdown</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to shut down SSL on the stream. The function call
+ will block until SSL has been shut down or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.shutdown.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.shutdown.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.shutdown.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../shutdown.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/shutdown/overload2.html b/doc/html/boost_asio/reference/ssl__stream/shutdown/overload2.html
new file mode 100644
index 0000000000..2abe176295
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/shutdown/overload2.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::shutdown (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../shutdown.html" title="ssl::stream::shutdown">
+<link rel="prev" href="overload1.html" title="ssl::stream::shutdown (1 of 2 overloads)">
+<link rel="next" href="../stream.html" title="ssl::stream::stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.shutdown.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::shutdown (2 of 2 overloads)">ssl::stream::shutdown
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Shut down SSL on the stream.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to shut down SSL on the stream. The function call
+ will block until SSL has been shut down or an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.shutdown.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.shutdown.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.shutdown.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../shutdown.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/stream.html b/doc/html/boost_asio/reference/ssl__stream/stream.html
new file mode 100644
index 0000000000..1850401b21
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/stream.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::stream</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="shutdown/overload2.html" title="ssl::stream::shutdown (2 of 2 overloads)">
+<link rel="next" href="write_some.html" title="ssl::stream::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.stream"></a><a class="link" href="stream.html" title="ssl::stream::stream">ssl::stream::stream</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171289040"></a>
+Construct a stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+<span class="identifier">stream</span><span class="special">(</span>
+ <span class="identifier">Arg</span> <span class="special">&amp;</span> <span class="identifier">arg</span><span class="special">,</span>
+ <span class="identifier">context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream and initialises the underlying stream
+ object.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.stream.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.stream.parameters"></a></span><a class="link" href="stream.html#boost_asio.reference.ssl__stream.stream.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">arg</span></dt>
+<dd><p>
+ The argument to be passed to initialise the underlying stream.
+ </p></dd>
+<dt><span class="term">ctx</span></dt>
+<dd><p>
+ The SSL context to be used for the stream.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="shutdown/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/write_some.html b/doc/html/boost_asio/reference/ssl__stream/write_some.html
new file mode 100644
index 0000000000..c7d93e627e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/write_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream.html" title="ssl::stream">
+<link rel="prev" href="stream.html" title="ssl::stream::stream">
+<link rel="next" href="write_some/overload1.html" title="ssl::stream::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream.write_some"></a><a class="link" href="write_some.html" title="ssl::stream::write_some">ssl::stream::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171309824"></a>
+Write some data to the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="ssl::stream::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="ssl::stream::write_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="ssl::stream::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="ssl::stream::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="stream.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/write_some/overload1.html b/doc/html/boost_asio/reference/ssl__stream/write_some/overload1.html
new file mode 100644
index 0000000000..e4bcd5202f
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/write_some/overload1.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="ssl::stream::write_some">
+<link rel="prev" href="../write_some.html" title="ssl::stream::write_some">
+<link rel="next" href="overload2.html" title="ssl::stream::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.write_some.overload1"></a><a class="link" href="overload1.html" title="ssl::stream::write_some (1 of 2 overloads)">ssl::stream::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data on the stream. The function call
+ will block until one or more bytes of data has been written successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.write_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The data to be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.write_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.write_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.ssl__stream.write_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream/write_some/overload2.html b/doc/html/boost_asio/reference/ssl__stream/write_some/overload2.html
new file mode 100644
index 0000000000..1ce36b7354
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream/write_some/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="ssl::stream::write_some">
+<link rel="prev" href="overload1.html" title="ssl::stream::write_some (1 of 2 overloads)">
+<link rel="next" href="../_stream.html" title="ssl::stream::~stream">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.ssl__stream.write_some.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::write_some (2 of 2 overloads)">ssl::stream::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data on the stream. The function call
+ will block until one or more bytes of data has been written successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.write_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ The data to be written to the stream.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.write_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream.write_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream.write_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.write_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_stream.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream__impl_struct.html b/doc/html/boost_asio/reference/ssl__stream__impl_struct.html
new file mode 100644
index 0000000000..f13cf48332
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream__impl_struct.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::impl_struct</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__stream/_stream.html" title="ssl::stream::~stream">
+<link rel="next" href="ssl__stream__impl_struct/ssl.html" title="ssl::stream::impl_struct::ssl">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__stream/_stream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__stream__impl_struct/ssl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__stream__impl_struct"></a><a class="link" href="ssl__stream__impl_struct.html" title="ssl::stream::impl_struct">ssl::stream::impl_struct</a>
+</h3></div></div></div>
+<p>
+ Structure for use with deprecated impl_type.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">impl_struct</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__stream__impl_struct.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream__impl_struct.data_members"></a></span><a class="link" href="ssl__stream__impl_struct.html#boost_asio.reference.ssl__stream__impl_struct.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream__impl_struct/ssl.html" title="ssl::stream::impl_struct::ssl"><span class="bold"><strong>ssl</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__stream__impl_struct.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream__impl_struct.requirements"></a></span><a class="link" href="ssl__stream__impl_struct.html#boost_asio.reference.ssl__stream__impl_struct.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__stream/_stream.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__stream__impl_struct/ssl.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream__impl_struct/ssl.html b/doc/html/boost_asio/reference/ssl__stream__impl_struct/ssl.html
new file mode 100644
index 0000000000..fe90ba7286
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream__impl_struct/ssl.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream::impl_struct::ssl</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream__impl_struct.html" title="ssl::stream::impl_struct">
+<link rel="prev" href="../ssl__stream__impl_struct.html" title="ssl::stream::impl_struct">
+<link rel="next" href="../ssl__stream_base.html" title="ssl::stream_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__stream__impl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream__impl_struct.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream__impl_struct.ssl"></a><a class="link" href="ssl.html" title="ssl::stream::impl_struct::ssl">ssl::stream::impl_struct::ssl</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171431856"></a>
+ </p>
+<pre class="programlisting"><span class="identifier">SSL</span> <span class="special">*</span> <span class="identifier">ssl</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../ssl__stream__impl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream__impl_struct.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream_base.html b/doc/html/boost_asio/reference/ssl__stream_base.html
new file mode 100644
index 0000000000..5a31579fde
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream_base.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream_base</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__stream__impl_struct/ssl.html" title="ssl::stream::impl_struct::ssl">
+<link rel="next" href="ssl__stream_base/handshake_type.html" title="ssl::stream_base::handshake_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__stream__impl_struct/ssl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__stream_base/handshake_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__stream_base"></a><a class="link" href="ssl__stream_base.html" title="ssl::stream_base">ssl::stream_base</a>
+</h3></div></div></div>
+<p>
+ The <a class="link" href="ssl__stream_base.html" title="ssl::stream_base"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream_base</span></code></a>
+ class is used as a base for the <a class="link" href="ssl__stream.html" title="ssl::stream"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span></code></a>
+ class template so that we have a common place to define various enums.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_base</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__stream_base.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.types"></a></span><a class="link" href="ssl__stream_base.html#boost_asio.reference.ssl__stream_base.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream_base/handshake_type.html" title="ssl::stream_base::handshake_type"><span class="bold"><strong>handshake_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Different handshake types.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__stream_base.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.protected_member_functions"></a></span><a class="link" href="ssl__stream_base.html#boost_asio.reference.ssl__stream_base.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ssl__stream_base/_stream_base.html" title="ssl::stream_base::~stream_base"><span class="bold"><strong>~stream_base</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__stream_base.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.requirements"></a></span><a class="link" href="ssl__stream_base.html#boost_asio.reference.ssl__stream_base.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/stream_base.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__stream__impl_struct/ssl.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__stream_base/handshake_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream_base/_stream_base.html b/doc/html/boost_asio/reference/ssl__stream_base/_stream_base.html
new file mode 100644
index 0000000000..6281ce5706
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream_base/_stream_base.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream_base::~stream_base</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream_base.html" title="ssl::stream_base">
+<link rel="prev" href="handshake_type.html" title="ssl::stream_base::handshake_type">
+<link rel="next" href="../ssl__verify_client_once.html" title="ssl::verify_client_once">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="handshake_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__verify_client_once.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream_base._stream_base"></a><a class="link" href="_stream_base.html" title="ssl::stream_base::~stream_base">ssl::stream_base::~stream_base</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171489360"></a>
+Protected destructor to prevent deletion through
+ this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">stream_base</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="handshake_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__verify_client_once.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__stream_base/handshake_type.html b/doc/html/boost_asio/reference/ssl__stream_base/handshake_type.html
new file mode 100644
index 0000000000..28c79c08af
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__stream_base/handshake_type.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::stream_base::handshake_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__stream_base.html" title="ssl::stream_base">
+<link rel="prev" href="../ssl__stream_base.html" title="ssl::stream_base">
+<link rel="next" href="_stream_base.html" title="ssl::stream_base::~stream_base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_stream_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__stream_base.handshake_type"></a><a class="link" href="handshake_type.html" title="ssl::stream_base::handshake_type">ssl::stream_base::handshake_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171474704"></a>
+Different handshake types.
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">handshake_type</span>
+</pre>
+<p>
+ <a class="indexterm" name="idp171478224"></a>
+ <a class="indexterm" name="idp171479328"></a>
+ </p>
+<h6>
+<a name="boost_asio.reference.ssl__stream_base.handshake_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__stream_base.handshake_type.values"></a></span><a class="link" href="handshake_type.html#boost_asio.reference.ssl__stream_base.handshake_type.values">Values</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">client</span></dt>
+<dd><p>
+ Perform handshaking as a client.
+ </p></dd>
+<dt><span class="term">server</span></dt>
+<dd><p>
+ Perform handshaking as a server.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../ssl__stream_base.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__stream_base.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_stream_base.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_client_once.html b/doc/html/boost_asio/reference/ssl__verify_client_once.html
new file mode 100644
index 0000000000..b16747638e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_client_once.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_client_once</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__stream_base/_stream_base.html" title="ssl::stream_base::~stream_base">
+<link rel="next" href="ssl__verify_context.html" title="ssl::verify_context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__stream_base/_stream_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_context.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__verify_client_once"></a><a class="link" href="ssl__verify_client_once.html" title="ssl::verify_client_once">ssl::verify_client_once</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171495472"></a>
+Do not request client certificate on renegotiation.
+ Ignored unless <a class="link" href="ssl__verify_peer.html" title="ssl::verify_peer"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span></code></a>
+ is set.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_client_once</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__verify_client_once.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_client_once.requirements"></a></span><a class="link" href="ssl__verify_client_once.html#boost_asio.reference.ssl__verify_client_once.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__stream_base/_stream_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_context.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_context.html b/doc/html/boost_asio/reference/ssl__verify_context.html
new file mode 100644
index 0000000000..07d5c5611e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_context.html
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_context</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__verify_client_once.html" title="ssl::verify_client_once">
+<link rel="next" href="ssl__verify_context/native_handle.html" title="ssl::verify_context::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__verify_client_once.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_context/native_handle.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__verify_context"></a><a class="link" href="ssl__verify_context.html" title="ssl::verify_context">ssl::verify_context</a>
+</h3></div></div></div>
+<p>
+ A simple wrapper around the X509_STORE_CTX type, used during verification
+ of a peer certificate.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">verify_context</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__verify_context.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.types"></a></span><a class="link" href="ssl__verify_context.html#boost_asio.reference.ssl__verify_context.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="ssl__verify_context/native_handle_type.html" title="ssl::verify_context::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type of the verification context.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__verify_context.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.member_functions"></a></span><a class="link" href="ssl__verify_context.html#boost_asio.reference.ssl__verify_context.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__verify_context/native_handle.html" title="ssl::verify_context::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation in the native type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="ssl__verify_context/verify_context.html" title="ssl::verify_context::verify_context"><span class="bold"><strong>verify_context</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.ssl__verify_context.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.remarks"></a></span><a class="link" href="ssl__verify_context.html#boost_asio.reference.ssl__verify_context.remarks">Remarks</a>
+ </h5>
+<p>
+ The <a class="link" href="ssl__verify_context.html" title="ssl::verify_context"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_context</span></code></a>
+ does not own the underlying X509_STORE_CTX object.
+ </p>
+<h5>
+<a name="boost_asio.reference.ssl__verify_context.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.requirements"></a></span><a class="link" href="ssl__verify_context.html#boost_asio.reference.ssl__verify_context.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_context.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__verify_client_once.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_context/native_handle.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_context/native_handle.html b/doc/html/boost_asio/reference/ssl__verify_context/native_handle.html
new file mode 100644
index 0000000000..e1228ab706
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_context/native_handle.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_context::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__verify_context.html" title="ssl::verify_context">
+<link rel="prev" href="../ssl__verify_context.html" title="ssl::verify_context">
+<link rel="next" href="native_handle_type.html" title="ssl::verify_context::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__verify_context.native_handle"></a><a class="link" href="native_handle.html" title="ssl::verify_context::native_handle">ssl::verify_context::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171553312"></a>
+Get the underlying implementation in the
+ native type.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying implementation of the
+ context. This is intended to allow access to context functionality that
+ is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="../ssl__verify_context.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_context/native_handle_type.html b/doc/html/boost_asio/reference/ssl__verify_context/native_handle_type.html
new file mode 100644
index 0000000000..66e6d06838
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_context/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_context::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__verify_context.html" title="ssl::verify_context">
+<link rel="prev" href="native_handle.html" title="ssl::verify_context::native_handle">
+<link rel="next" href="verify_context.html" title="ssl::verify_context::verify_context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="verify_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__verify_context.native_handle_type"></a><a class="link" href="native_handle_type.html" title="ssl::verify_context::native_handle_type">ssl::verify_context::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171559888"></a>
+The native handle type of the verification
+ context.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">X509_STORE_CTX</span> <span class="special">*</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.ssl__verify_context.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_context.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.ssl__verify_context.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_context.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="verify_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_context/verify_context.html b/doc/html/boost_asio/reference/ssl__verify_context/verify_context.html
new file mode 100644
index 0000000000..ec7841927d
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_context/verify_context.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_context::verify_context</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../ssl__verify_context.html" title="ssl::verify_context">
+<link rel="prev" href="native_handle_type.html" title="ssl::verify_context::native_handle_type">
+<link rel="next" href="../ssl__verify_fail_if_no_peer_cert.html" title="ssl::verify_fail_if_no_peer_cert">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__verify_fail_if_no_peer_cert.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.ssl__verify_context.verify_context"></a><a class="link" href="verify_context.html" title="ssl::verify_context::verify_context">ssl::verify_context::verify_context</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp171573136"></a>
+Constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">verify_context</span><span class="special">(</span>
+ <span class="identifier">native_handle_type</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ssl__verify_context.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ssl__verify_fail_if_no_peer_cert.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_fail_if_no_peer_cert.html b/doc/html/boost_asio/reference/ssl__verify_fail_if_no_peer_cert.html
new file mode 100644
index 0000000000..88238f150e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_fail_if_no_peer_cert.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_fail_if_no_peer_cert</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__verify_context/verify_context.html" title="ssl::verify_context::verify_context">
+<link rel="next" href="ssl__verify_mode.html" title="ssl::verify_mode">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__verify_context/verify_context.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_mode.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__verify_fail_if_no_peer_cert"></a><a class="link" href="ssl__verify_fail_if_no_peer_cert.html" title="ssl::verify_fail_if_no_peer_cert">ssl::verify_fail_if_no_peer_cert</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171580512"></a>
+Fail verification if the peer has no certificate.
+ Ignored unless <a class="link" href="ssl__verify_peer.html" title="ssl::verify_peer"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span></code></a>
+ is set.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_fail_if_no_peer_cert</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__verify_fail_if_no_peer_cert.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_fail_if_no_peer_cert.requirements"></a></span><a class="link" href="ssl__verify_fail_if_no_peer_cert.html#boost_asio.reference.ssl__verify_fail_if_no_peer_cert.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__verify_context/verify_context.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_mode.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_mode.html b/doc/html/boost_asio/reference/ssl__verify_mode.html
new file mode 100644
index 0000000000..2c04cc9e6b
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_mode.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_mode</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__verify_fail_if_no_peer_cert.html" title="ssl::verify_fail_if_no_peer_cert">
+<link rel="next" href="ssl__verify_none.html" title="ssl::verify_none">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__verify_fail_if_no_peer_cert.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_none.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__verify_mode"></a><a class="link" href="ssl__verify_mode.html" title="ssl::verify_mode">ssl::verify_mode</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171596640"></a>
+Bitmask type for peer verification.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">verify_mode</span><span class="special">;</span>
+</pre>
+<p>
+ Possible values are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="ssl__verify_none.html" title="ssl::verify_none"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_none</span></code></a>
+ </li>
+<li class="listitem">
+ <a class="link" href="ssl__verify_peer.html" title="ssl::verify_peer"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_peer</span></code></a>
+ </li>
+<li class="listitem">
+ <a class="link" href="ssl__verify_fail_if_no_peer_cert.html" title="ssl::verify_fail_if_no_peer_cert"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_fail_if_no_peer_cert</span></code></a>
+ </li>
+<li class="listitem">
+ <a class="link" href="ssl__verify_client_once.html" title="ssl::verify_client_once"><code class="computeroutput"><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">verify_client_once</span></code></a>
+ </li>
+</ul></div>
+<h5>
+<a name="boost_asio.reference.ssl__verify_mode.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_mode.requirements"></a></span><a class="link" href="ssl__verify_mode.html#boost_asio.reference.ssl__verify_mode.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__verify_fail_if_no_peer_cert.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_none.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_none.html b/doc/html/boost_asio/reference/ssl__verify_none.html
new file mode 100644
index 0000000000..2602308b2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_none.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_none</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__verify_mode.html" title="ssl::verify_mode">
+<link rel="next" href="ssl__verify_peer.html" title="ssl::verify_peer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__verify_mode.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_peer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__verify_none"></a><a class="link" href="ssl__verify_none.html" title="ssl::verify_none">ssl::verify_none</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171623824"></a>
+No verification.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_none</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__verify_none.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_none.requirements"></a></span><a class="link" href="ssl__verify_none.html#boost_asio.reference.ssl__verify_none.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__verify_mode.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ssl__verify_peer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/ssl__verify_peer.html b/doc/html/boost_asio/reference/ssl__verify_peer.html
new file mode 100644
index 0000000000..d1a2e35d2c
--- /dev/null
+++ b/doc/html/boost_asio/reference/ssl__verify_peer.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>ssl::verify_peer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__verify_none.html" title="ssl::verify_none">
+<link rel="next" href="steady_timer.html" title="steady_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__verify_none.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="steady_timer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.ssl__verify_peer"></a><a class="link" href="ssl__verify_peer.html" title="ssl::verify_peer">ssl::verify_peer</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171636992"></a>
+Verify the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">verify_peer</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.ssl__verify_peer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.ssl__verify_peer.requirements"></a></span><a class="link" href="ssl__verify_peer.html#boost_asio.reference.ssl__verify_peer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ssl/verify_mode.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio/ssl.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="ssl__verify_none.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="steady_timer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/steady_timer.html b/doc/html/boost_asio/reference/steady_timer.html
new file mode 100644
index 0000000000..180f09e6f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/steady_timer.html
@@ -0,0 +1,508 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>steady_timer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="ssl__verify_peer.html" title="ssl::verify_peer">
+<link rel="next" href="strand.html" title="strand">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ssl__verify_peer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="strand.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.steady_timer"></a><a class="link" href="steady_timer.html" title="steady_timer">steady_timer</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171650160"></a>
+Typedef for a timer based on the steady clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span> <span class="special">&gt;</span> <span class="identifier">steady_timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.steady_timer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.types"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/clock_type.html" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The clock type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/duration.html" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation_type.html" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service_type.html" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/time_point.html" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time point type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/traits_type.html" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The wait traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.steady_timer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.member_functions"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/async_wait.html" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+ <p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel.html" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel_one.html" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_from_now.html" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the timer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_io_service.html" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/wait.html" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the timer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.steady_timer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.protected_member_functions"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_implementation.html" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_service.html" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.steady_timer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.protected_data_members"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation.html" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service.html" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
+ provides the ability to perform a blocking or asynchronous wait for a timer
+ to expire.
+ </p>
+<p>
+ A waitable timer is always in one of two states: "expired" or "not
+ expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
+ the wait operation will complete immediately.
+ </p>
+<p>
+ Most applications will use one of the <a class="link" href="steady_timer.html" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="system_timer.html" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="high_resolution_timer.html" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
+ </p>
+<h5>
+<a name="boost_asio.reference.steady_timer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.remarks"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.remarks">Remarks</a>
+ </h5>
+<p>
+ This waitable timer functionality is for use with the C++11 standard library's
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
+ </p>
+<h5>
+<a name="boost_asio.reference.steady_timer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.thread_safety"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.steady_timer.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.examples"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.examples">Examples</a>
+ </h5>
+<p>
+ Performing a blocking wait (C++11):
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// Set an expiry time relative to now.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+
+<span class="comment">// Wait for the timer to expire.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Performing an asynchronous wait (C++11):
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer expired.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a timer with an absolute expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
+
+<span class="comment">// Start an asynchronous wait.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.steady_timer.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
+ an active waitable timer's expiry time</a>
+ </h5>
+<p>
+ Changing the expiry time of a timer while there are pending asynchronous
+ waits causes those wait operations to be cancelled. To ensure that the action
+ associated with the timer is performed only once, use something like this:
+ used:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
+ <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Too late, timer has already expired!</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer was not cancelled, take necessary action.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ function cancels any pending asynchronous waits, and returns the number
+ of asynchronous waits that were cancelled. If it returns 0 then you were
+ too late and the wait handler has already been executed, or will soon
+ be executed. If it returns 1 then the wait handler was successfully cancelled.
+ </li>
+<li class="listitem">
+ If a wait handler is cancelled, the boost::system::error_code passed
+ to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<p>
+ This typedef uses the C++11 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code>
+ standard library facility, if available. Otherwise, it may use the Boost.Chrono
+ library. To explicitly utilise Boost.Chrono, use the <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> template directly:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">&gt;</span> <span class="identifier">timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.steady_timer.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.steady_timer.requirements"></a></span><a class="link" href="steady_timer.html#boost_asio.reference.steady_timer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/steady_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="ssl__verify_peer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="strand.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/strand.html b/doc/html/boost_asio/reference/strand.html
new file mode 100644
index 0000000000..e40d8ad46c
--- /dev/null
+++ b/doc/html/boost_asio/reference/strand.html
@@ -0,0 +1,267 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>strand</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="steady_timer.html" title="steady_timer">
+<link rel="next" href="stream_socket_service.html" title="stream_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="steady_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_socket_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.strand"></a><a class="link" href="strand.html" title="strand">strand</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp171894928"></a>
+(Deprecated: Use <a class="link" href="io_service__strand.html" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a>.) Typedef for backwards compatibility.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.strand.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.strand.member_functions"></a></span><a class="link" href="strand.html#boost_asio.reference.strand.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/dispatch.html" title="io_service::strand::dispatch"><span class="bold"><strong>dispatch</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Request the strand to invoke the given handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/get_io_service.html" title="io_service::strand::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the strand.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/post.html" title="io_service::strand::post"><span class="bold"><strong>post</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Request the strand to invoke the given handler and return immediately.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/running_in_this_thread.html" title="io_service::strand::running_in_this_thread"><span class="bold"><strong>running_in_this_thread</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the strand is running in the current thread.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/strand.html" title="io_service::strand::strand"><span class="bold"><strong>strand</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/wrap.html" title="io_service::strand::wrap"><span class="bold"><strong>wrap</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Create a new handler that automatically dispatches the wrapped
+ handler on the strand.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="io_service__strand/_strand.html" title="io_service::strand::~strand"><span class="bold"><strong>~strand</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="io_service__strand.html" title="io_service::strand"><code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span></code></a> class provides the ability
+ to post and dispatch handlers with the guarantee that none of those handlers
+ will execute concurrently.
+ </p>
+<h5>
+<a name="boost_asio.reference.strand.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.strand.order_of_handler_invocation"></a></span><a class="link" href="strand.html#boost_asio.reference.strand.order_of_handler_invocation">Order of
+ handler invocation</a>
+ </h5>
+<p>
+ Given:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ a strand object <code class="computeroutput"><span class="identifier">s</span></code>
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">a</span></code> meeting completion
+ handler requirements
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">a1</span></code> which is
+ an arbitrary copy of <code class="computeroutput"><span class="identifier">a</span></code>
+ made by the implementation
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">b</span></code> meeting completion
+ handler requirements
+ </li>
+<li class="listitem">
+ an object <code class="computeroutput"><span class="identifier">b1</span></code> which is
+ an arbitrary copy of <code class="computeroutput"><span class="identifier">b</span></code>
+ made by the implementation
+ </li>
+</ul></div>
+<p>
+ if any of the following conditions are true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ where the latter is performed outside the strand
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">post</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ where the former is performed outside the strand
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ happens-before <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ where both are performed outside the strand
+ </li>
+</ul></div>
+<p>
+ then <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
+ <span class="special">&amp;</span><span class="identifier">a1</span><span class="special">)</span></code> happens-before <code class="computeroutput"><span class="identifier">asio_handler_invoke</span><span class="special">(</span><span class="identifier">b1</span><span class="special">,</span>
+ <span class="special">&amp;</span><span class="identifier">b1</span><span class="special">)</span></code>.
+ </p>
+<p>
+ Note that in the following case:
+ </p>
+<pre class="programlisting"><span class="identifier">async_op_1</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">a</span><span class="special">));</span>
+<span class="identifier">async_op_2</span><span class="special">(...,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span>
+</pre>
+<p>
+ the completion of the first async operation will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>,
+ and the second will perform <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">dispatch</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>,
+ but the order in which those are performed is unspecified. That is, you cannot
+ state whether one happens-before the other. Therefore none of the above conditions
+ are met and no ordering guarantee is made.
+ </p>
+<h5>
+<a name="boost_asio.reference.strand.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.strand.remarks"></a></span><a class="link" href="strand.html#boost_asio.reference.strand.remarks">Remarks</a>
+ </h5>
+<p>
+ The implementation makes no guarantee that handlers posted or dispatched
+ through different <code class="computeroutput"><span class="identifier">strand</span></code>
+ objects will be invoked concurrently.
+ </p>
+<h5>
+<a name="boost_asio.reference.strand.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.strand.thread_safety"></a></span><a class="link" href="strand.html#boost_asio.reference.strand.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<h5>
+<a name="boost_asio.reference.strand.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.strand.requirements"></a></span><a class="link" href="strand.html#boost_asio.reference.strand.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/strand.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="steady_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_socket_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service.html b/doc/html/boost_asio/reference/stream_socket_service.html
new file mode 100644
index 0000000000..3cd825e364
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service.html
@@ -0,0 +1,583 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="strand.html" title="strand">
+<link rel="next" href="stream_socket_service/assign.html" title="stream_socket_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="strand.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.stream_socket_service"></a><a class="link" href="stream_socket_service.html" title="stream_socket_service">stream_socket_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a stream socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">stream_socket_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.stream_socket_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.types"></a></span><a class="link" href="stream_socket_service.html#boost_asio.reference.stream_socket_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/endpoint_type.html" title="stream_socket_service::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The endpoint type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/implementation_type.html" title="stream_socket_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a stream socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/native_handle_type.html" title="stream_socket_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/native_type.html" title="stream_socket_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native socket type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/protocol_type.html" title="stream_socket_service::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The protocol type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.stream_socket_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.member_functions"></a></span><a class="link" href="stream_socket_service.html#boost_asio.reference.stream_socket_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/assign.html" title="stream_socket_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native socket to a stream socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/async_connect.html" title="stream_socket_service::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous connect.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/async_receive.html" title="stream_socket_service::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous receive.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/async_send.html" title="stream_socket_service::async_send"><span class="bold"><strong>async_send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous send.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/at_mark.html" title="stream_socket_service::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is at the out-of-band data mark.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/available.html" title="stream_socket_service::available"><span class="bold"><strong>available</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine the number of bytes available for reading.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/bind.html" title="stream_socket_service::bind"><span class="bold"><strong>bind</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Bind the stream socket to the specified local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/cancel.html" title="stream_socket_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/close.html" title="stream_socket_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a stream socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/connect.html" title="stream_socket_service::connect"><span class="bold"><strong>connect</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Connect the stream socket to the specified endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/construct.html" title="stream_socket_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new stream socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/converting_move_construct.html" title="stream_socket_service::converting_move_construct"><span class="bold"><strong>converting_move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new stream socket implementation from another
+ protocol type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/destroy.html" title="stream_socket_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a stream socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/get_io_service.html" title="stream_socket_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/get_option.html" title="stream_socket_service::get_option"><span class="bold"><strong>get_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/io_control.html" title="stream_socket_service::io_control"><span class="bold"><strong>io_control</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform an IO control command on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/is_open.html" title="stream_socket_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the socket is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/local_endpoint.html" title="stream_socket_service::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the local endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/move_assign.html" title="stream_socket_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another stream socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/move_construct.html" title="stream_socket_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new stream socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/native.html" title="stream_socket_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/native_handle.html" title="stream_socket_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/native_non_blocking.html" title="stream_socket_service::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+ <p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/non_blocking.html" title="stream_socket_service::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the non-blocking mode of the socket.
+ </p>
+ <p>
+ Sets the non-blocking mode of the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/open.html" title="stream_socket_service::open"><span class="bold"><strong>open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Open a stream socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/receive.html" title="stream_socket_service::receive"><span class="bold"><strong>receive</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Receive some data from the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/remote_endpoint.html" title="stream_socket_service::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the remote endpoint.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/send.html" title="stream_socket_service::send"><span class="bold"><strong>send</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Send the given data to the peer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/set_option.html" title="stream_socket_service::set_option"><span class="bold"><strong>set_option</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Set a socket option.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/shutdown.html" title="stream_socket_service::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Disable sends or receives on the socket.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/stream_socket_service.html" title="stream_socket_service::stream_socket_service"><span class="bold"><strong>stream_socket_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new stream socket service for the specified io_service.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.stream_socket_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.data_members"></a></span><a class="link" href="stream_socket_service.html#boost_asio.reference.stream_socket_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="stream_socket_service/id.html" title="stream_socket_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.stream_socket_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.requirements"></a></span><a class="link" href="stream_socket_service.html#boost_asio.reference.stream_socket_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="strand.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_socket_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/assign.html b/doc/html/boost_asio/reference/stream_socket_service/assign.html
new file mode 100644
index 0000000000..1b13f793f0
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/assign.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="next" href="async_connect.html" title="stream_socket_service::async_connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.assign"></a><a class="link" href="assign.html" title="stream_socket_service::assign">stream_socket_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172201760"></a>
+Assign an existing native socket to a stream
+ socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_socket</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../stream_socket_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/async_connect.html b/doc/html/boost_asio/reference/stream_socket_service/async_connect.html
new file mode 100644
index 0000000000..8417a81871
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/async_connect.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::async_connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="assign.html" title="stream_socket_service::assign">
+<link rel="next" href="async_receive.html" title="stream_socket_service::async_receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.async_connect"></a><a class="link" href="async_connect.html" title="stream_socket_service::async_connect">stream_socket_service::async_connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172224048"></a>
+Start an asynchronous connect.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConnectHandler.html" title="Connect handler requirements">ConnectHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">ConnectHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/async_receive.html b/doc/html/boost_asio/reference/stream_socket_service/async_receive.html
new file mode 100644
index 0000000000..7b11fb5e27
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/async_receive.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::async_receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="async_connect.html" title="stream_socket_service::async_connect">
+<link rel="next" href="async_send.html" title="stream_socket_service::async_send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.async_receive"></a><a class="link" href="async_receive.html" title="stream_socket_service::async_receive">stream_socket_service::async_receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172241456"></a>
+Start an asynchronous receive.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/async_send.html b/doc/html/boost_asio/reference/stream_socket_service/async_send.html
new file mode 100644
index 0000000000..6af6124ad7
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/async_send.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::async_send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="async_receive.html" title="stream_socket_service::async_receive">
+<link rel="next" href="at_mark.html" title="stream_socket_service::at_mark">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.async_send"></a><a class="link" href="async_send.html" title="stream_socket_service::async_send">stream_socket_service::async_send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172264112"></a>
+Start an asynchronous send.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="at_mark.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/at_mark.html b/doc/html/boost_asio/reference/stream_socket_service/at_mark.html
new file mode 100644
index 0000000000..da8724c314
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/at_mark.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::at_mark</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="async_send.html" title="stream_socket_service::async_send">
+<link rel="next" href="available.html" title="stream_socket_service::available">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.at_mark"></a><a class="link" href="at_mark.html" title="stream_socket_service::at_mark">stream_socket_service::at_mark</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172286656"></a>
+Determine whether the socket is at the out-of-band
+ data mark.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">at_mark</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="async_send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="available.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/available.html b/doc/html/boost_asio/reference/stream_socket_service/available.html
new file mode 100644
index 0000000000..386b607e06
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/available.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::available</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="at_mark.html" title="stream_socket_service::at_mark">
+<link rel="next" href="bind.html" title="stream_socket_service::bind">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.available"></a><a class="link" href="available.html" title="stream_socket_service::available">stream_socket_service::available</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172301872"></a>
+Determine the number of bytes available for
+ reading.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">available</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="at_mark.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/bind.html b/doc/html/boost_asio/reference/stream_socket_service/bind.html
new file mode 100644
index 0000000000..fbadb132c4
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/bind.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::bind</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="available.html" title="stream_socket_service::available">
+<link rel="next" href="cancel.html" title="stream_socket_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.bind"></a><a class="link" href="bind.html" title="stream_socket_service::bind">stream_socket_service::bind</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172318208"></a>
+Bind the stream socket to the specified local
+ endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">bind</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="available.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/cancel.html b/doc/html/boost_asio/reference/stream_socket_service/cancel.html
new file mode 100644
index 0000000000..66e60593b4
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="bind.html" title="stream_socket_service::bind">
+<link rel="next" href="close.html" title="stream_socket_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.cancel"></a><a class="link" href="cancel.html" title="stream_socket_service::cancel">stream_socket_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172336976"></a>
+Cancel all asynchronous operations associated
+ with the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="bind.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/close.html b/doc/html/boost_asio/reference/stream_socket_service/close.html
new file mode 100644
index 0000000000..c7c37497a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="cancel.html" title="stream_socket_service::cancel">
+<link rel="next" href="connect.html" title="stream_socket_service::connect">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.close"></a><a class="link" href="close.html" title="stream_socket_service::close">stream_socket_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172352464"></a>
+Close a stream socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connect.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/connect.html b/doc/html/boost_asio/reference/stream_socket_service/connect.html
new file mode 100644
index 0000000000..3709730265
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/connect.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::connect</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="close.html" title="stream_socket_service::close">
+<link rel="next" href="construct.html" title="stream_socket_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.connect"></a><a class="link" href="connect.html" title="stream_socket_service::connect">stream_socket_service::connect</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172367824"></a>
+Connect the stream socket to the specified
+ endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">connect</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">endpoint_type</span> <span class="special">&amp;</span> <span class="identifier">peer_endpoint</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/construct.html b/doc/html/boost_asio/reference/stream_socket_service/construct.html
new file mode 100644
index 0000000000..46089d98bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="connect.html" title="stream_socket_service::connect">
+<link rel="next" href="converting_move_construct.html" title="stream_socket_service::converting_move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.construct"></a><a class="link" href="construct.html" title="stream_socket_service::construct">stream_socket_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172386688"></a>
+Construct a new stream socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="connect.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="converting_move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/converting_move_construct.html b/doc/html/boost_asio/reference/stream_socket_service/converting_move_construct.html
new file mode 100644
index 0000000000..d1a23f58f4
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/converting_move_construct.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::converting_move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="construct.html" title="stream_socket_service::construct">
+<link rel="next" href="destroy.html" title="stream_socket_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.converting_move_construct"></a><a class="link" href="converting_move_construct.html" title="stream_socket_service::converting_move_construct">stream_socket_service::converting_move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172395408"></a>
+Move-construct a new stream
+ socket implementation from another protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Protocol.html" title="Protocol requirements">Protocol1</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">converting_move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">stream_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">stream_socket_service</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span> <span class="special">&gt;::</span><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">enable_if</span><span class="special">&lt;</span> <span class="identifier">is_convertible</span><span class="special">&lt;</span> <span class="identifier">Protocol1</span><span class="special">,</span> <span class="identifier">Protocol</span> <span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/destroy.html b/doc/html/boost_asio/reference/stream_socket_service/destroy.html
new file mode 100644
index 0000000000..f14e5695c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="converting_move_construct.html" title="stream_socket_service::converting_move_construct">
+<link rel="next" href="endpoint_type.html" title="stream_socket_service::endpoint_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.destroy"></a><a class="link" href="destroy.html" title="stream_socket_service::destroy">stream_socket_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172427808"></a>
+Destroy a stream socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="converting_move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="endpoint_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/endpoint_type.html b/doc/html/boost_asio/reference/stream_socket_service/endpoint_type.html
new file mode 100644
index 0000000000..e93788a99a
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/endpoint_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::endpoint_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="destroy.html" title="stream_socket_service::destroy">
+<link rel="next" href="get_io_service.html" title="stream_socket_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.endpoint_type"></a><a class="link" href="endpoint_type.html" title="stream_socket_service::endpoint_type">stream_socket_service::endpoint_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172436352"></a>
+The endpoint type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">endpoint_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.stream_socket_service.endpoint_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.endpoint_type.requirements"></a></span><a class="link" href="endpoint_type.html#boost_asio.reference.stream_socket_service.endpoint_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/get_io_service.html b/doc/html/boost_asio/reference/stream_socket_service/get_io_service.html
new file mode 100644
index 0000000000..05c1cc1ab2
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="endpoint_type.html" title="stream_socket_service::endpoint_type">
+<link rel="next" href="get_option.html" title="stream_socket_service::get_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.get_io_service"></a><a class="link" href="get_io_service.html" title="stream_socket_service::get_io_service">stream_socket_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp172450512"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="endpoint_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/get_option.html b/doc/html/boost_asio/reference/stream_socket_service/get_option.html
new file mode 100644
index 0000000000..829bd7f73c
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/get_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::get_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="get_io_service.html" title="stream_socket_service::get_io_service">
+<link rel="next" href="id.html" title="stream_socket_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.get_option"></a><a class="link" href="get_option.html" title="stream_socket_service::get_option">stream_socket_service::get_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172461200"></a>
+Get a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../GettableSocketOption.html" title="Gettable socket option requirements">GettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">get_option</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">GettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/id.html b/doc/html/boost_asio/reference/stream_socket_service/id.html
new file mode 100644
index 0000000000..571dd565ab
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="get_option.html" title="stream_socket_service::get_option">
+<link rel="next" href="implementation_type.html" title="stream_socket_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.id"></a><a class="link" href="id.html" title="stream_socket_service::id">stream_socket_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172484496"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/implementation_type.html b/doc/html/boost_asio/reference/stream_socket_service/implementation_type.html
new file mode 100644
index 0000000000..8c9420638a
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/implementation_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="id.html" title="stream_socket_service::id">
+<link rel="next" href="io_control.html" title="stream_socket_service::io_control">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.implementation_type"></a><a class="link" href="implementation_type.html" title="stream_socket_service::implementation_type">stream_socket_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172494320"></a>
+The type of a stream socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.stream_socket_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.stream_socket_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="io_control.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/io_control.html b/doc/html/boost_asio/reference/stream_socket_service/io_control.html
new file mode 100644
index 0000000000..c465a64096
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/io_control.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::io_control</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="implementation_type.html" title="stream_socket_service::implementation_type">
+<link rel="next" href="is_open.html" title="stream_socket_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.io_control"></a><a class="link" href="io_control.html" title="stream_socket_service::io_control">stream_socket_service::io_control</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172506576"></a>
+Perform an IO control command on the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../IoControlCommand.html" title="I/O control command requirements">IoControlCommand</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">io_control</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">IoControlCommand</span> <span class="special">&amp;</span> <span class="identifier">command</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/is_open.html b/doc/html/boost_asio/reference/stream_socket_service/is_open.html
new file mode 100644
index 0000000000..86a51c3915
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="io_control.html" title="stream_socket_service::io_control">
+<link rel="next" href="local_endpoint.html" title="stream_socket_service::local_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.is_open"></a><a class="link" href="is_open.html" title="stream_socket_service::is_open">stream_socket_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172528048"></a>
+Determine whether the socket is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="io_control.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="local_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/local_endpoint.html b/doc/html/boost_asio/reference/stream_socket_service/local_endpoint.html
new file mode 100644
index 0000000000..feea6a2826
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/local_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::local_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="is_open.html" title="stream_socket_service::is_open">
+<link rel="next" href="move_assign.html" title="stream_socket_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.local_endpoint"></a><a class="link" href="local_endpoint.html" title="stream_socket_service::local_endpoint">stream_socket_service::local_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172538576"></a>
+Get the local endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">local_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/move_assign.html b/doc/html/boost_asio/reference/stream_socket_service/move_assign.html
new file mode 100644
index 0000000000..d46c8deec1
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="local_endpoint.html" title="stream_socket_service::local_endpoint">
+<link rel="next" href="move_construct.html" title="stream_socket_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.move_assign"></a><a class="link" href="move_assign.html" title="stream_socket_service::move_assign">stream_socket_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172553872"></a>
+Move-assign from another stream socket
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">stream_socket_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="local_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/move_construct.html b/doc/html/boost_asio/reference/stream_socket_service/move_construct.html
new file mode 100644
index 0000000000..b5e92387e5
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/move_construct.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="move_assign.html" title="stream_socket_service::move_assign">
+<link rel="next" href="native.html" title="stream_socket_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.move_construct"></a><a class="link" href="move_construct.html" title="stream_socket_service::move_construct">stream_socket_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172567632"></a>
+Move-construct a new stream socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native.html b/doc/html/boost_asio/reference/stream_socket_service/native.html
new file mode 100644
index 0000000000..ff60a0cee2
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="move_construct.html" title="stream_socket_service::move_construct">
+<link rel="next" href="native_handle.html" title="stream_socket_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.native"></a><a class="link" href="native.html" title="stream_socket_service::native">stream_socket_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172578768"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native_handle.html b/doc/html/boost_asio/reference/stream_socket_service/native_handle.html
new file mode 100644
index 0000000000..4915e95278
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="native.html" title="stream_socket_service::native">
+<link rel="next" href="native_handle_type.html" title="stream_socket_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.native_handle"></a><a class="link" href="native_handle.html" title="stream_socket_service::native_handle">stream_socket_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172589184"></a>
+Get the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native_handle_type.html b/doc/html/boost_asio/reference/stream_socket_service/native_handle_type.html
new file mode 100644
index 0000000000..218a8a2dc7
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="native_handle.html" title="stream_socket_service::native_handle">
+<link rel="next" href="native_non_blocking.html" title="stream_socket_service::native_non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="stream_socket_service::native_handle_type">stream_socket_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172597808"></a>
+The native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.stream_socket_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.stream_socket_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking.html b/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking.html
new file mode 100644
index 0000000000..40823f4151
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native_non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="native_handle_type.html" title="stream_socket_service::native_handle_type">
+<link rel="next" href="native_non_blocking/overload1.html" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.native_non_blocking"></a><a class="link" href="native_non_blocking.html" title="stream_socket_service::native_non_blocking">stream_socket_service::native_non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172610080"></a>
+Gets the non-blocking mode of the
+ native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="native_non_blocking/overload1.html" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload1.html" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="native_non_blocking/overload2.html" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">native_non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="native_non_blocking/overload2.html" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload1.html b/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload1.html
new file mode 100644
index 0000000000..0a456f09c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native_non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="stream_socket_service::native_non_blocking">
+<link rel="prev" href="../native_non_blocking.html" title="stream_socket_service::native_non_blocking">
+<link rel="next" href="overload2.html" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.stream_socket_service.native_non_blocking.overload1"></a><a class="link" href="overload1.html" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">stream_socket_service::native_non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../native_non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload2.html b/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload2.html
new file mode 100644
index 0000000000..f4304dc0aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native_non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native_non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../native_non_blocking.html" title="stream_socket_service::native_non_blocking">
+<link rel="prev" href="overload1.html" title="stream_socket_service::native_non_blocking (1 of 2 overloads)">
+<link rel="next" href="../native_type.html" title="stream_socket_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.stream_socket_service.native_non_blocking.overload2"></a><a class="link" href="overload2.html" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">stream_socket_service::native_non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the native socket implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">native_non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../native_non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../native_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/native_type.html b/doc/html/boost_asio/reference/stream_socket_service/native_type.html
new file mode 100644
index 0000000000..fcdb03e44a
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="native_non_blocking/overload2.html" title="stream_socket_service::native_non_blocking (2 of 2 overloads)">
+<link rel="next" href="non_blocking.html" title="stream_socket_service::non_blocking">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.native_type"></a><a class="link" href="native_type.html" title="stream_socket_service::native_type">stream_socket_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172664256"></a>
+(Deprecated: Use native_handle_type.) The
+ native socket type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.stream_socket_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.stream_socket_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/non_blocking.html b/doc/html/boost_asio/reference/stream_socket_service/non_blocking.html
new file mode 100644
index 0000000000..c56420771f
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/non_blocking.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::non_blocking</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="native_type.html" title="stream_socket_service::native_type">
+<link rel="next" href="non_blocking/overload1.html" title="stream_socket_service::non_blocking (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.non_blocking"></a><a class="link" href="non_blocking.html" title="stream_socket_service::non_blocking">stream_socket_service::non_blocking</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172676640"></a>
+Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <a class="link" href="non_blocking/overload1.html" title="stream_socket_service::non_blocking (1 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload1.html" title="stream_socket_service::non_blocking (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="non_blocking/overload2.html" title="stream_socket_service::non_blocking (2 of 2 overloads)">non_blocking</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="non_blocking/overload2.html" title="stream_socket_service::non_blocking (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_blocking/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload1.html b/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload1.html
new file mode 100644
index 0000000000..84f0cbe7ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::non_blocking (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="stream_socket_service::non_blocking">
+<link rel="prev" href="../non_blocking.html" title="stream_socket_service::non_blocking">
+<link rel="next" href="overload2.html" title="stream_socket_service::non_blocking (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.stream_socket_service.non_blocking.overload1"></a><a class="link" href="overload1.html" title="stream_socket_service::non_blocking (1 of 2 overloads)">stream_socket_service::non_blocking
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Gets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../non_blocking.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload2.html b/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload2.html
new file mode 100644
index 0000000000..abba2b1759
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/non_blocking/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::non_blocking (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../non_blocking.html" title="stream_socket_service::non_blocking">
+<link rel="prev" href="overload1.html" title="stream_socket_service::non_blocking (1 of 2 overloads)">
+<link rel="next" href="../open.html" title="stream_socket_service::open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.stream_socket_service.non_blocking.overload2"></a><a class="link" href="overload2.html" title="stream_socket_service::non_blocking (2 of 2 overloads)">stream_socket_service::non_blocking
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Sets the non-blocking mode of the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">non_blocking</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">mode</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_blocking.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../open.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/open.html b/doc/html/boost_asio/reference/stream_socket_service/open.html
new file mode 100644
index 0000000000..02d214faec
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="non_blocking/overload2.html" title="stream_socket_service::non_blocking (2 of 2 overloads)">
+<link rel="next" href="protocol_type.html" title="stream_socket_service::protocol_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.open"></a><a class="link" href="open.html" title="stream_socket_service::open">stream_socket_service::open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172730416"></a>
+Open a stream socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">open</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">protocol_type</span> <span class="special">&amp;</span> <span class="identifier">protocol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="non_blocking/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="protocol_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/protocol_type.html b/doc/html/boost_asio/reference/stream_socket_service/protocol_type.html
new file mode 100644
index 0000000000..6748001af3
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/protocol_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::protocol_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="open.html" title="stream_socket_service::open">
+<link rel="next" href="receive.html" title="stream_socket_service::receive">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.protocol_type"></a><a class="link" href="protocol_type.html" title="stream_socket_service::protocol_type">stream_socket_service::protocol_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172749280"></a>
+The protocol type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Protocol</span> <span class="identifier">protocol_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.stream_socket_service.protocol_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.stream_socket_service.protocol_type.requirements"></a></span><a class="link" href="protocol_type.html#boost_asio.reference.stream_socket_service.protocol_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/stream_socket_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="receive.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/receive.html b/doc/html/boost_asio/reference/stream_socket_service/receive.html
new file mode 100644
index 0000000000..cf2d3f3f92
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/receive.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::receive</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="protocol_type.html" title="stream_socket_service::protocol_type">
+<link rel="next" href="remote_endpoint.html" title="stream_socket_service::remote_endpoint">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.receive"></a><a class="link" href="receive.html" title="stream_socket_service::receive">stream_socket_service::receive</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172761600"></a>
+Receive some data from the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">receive</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="protocol_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remote_endpoint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/remote_endpoint.html b/doc/html/boost_asio/reference/stream_socket_service/remote_endpoint.html
new file mode 100644
index 0000000000..72e2f51c9a
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/remote_endpoint.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::remote_endpoint</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="receive.html" title="stream_socket_service::receive">
+<link rel="next" href="send.html" title="stream_socket_service::send">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.remote_endpoint"></a><a class="link" href="remote_endpoint.html" title="stream_socket_service::remote_endpoint">stream_socket_service::remote_endpoint</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172785552"></a>
+Get the remote endpoint.
+ </p>
+<pre class="programlisting"><span class="identifier">endpoint_type</span> <span class="identifier">remote_endpoint</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="receive.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="send.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/send.html b/doc/html/boost_asio/reference/stream_socket_service/send.html
new file mode 100644
index 0000000000..5f0a756408
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/send.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::send</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="remote_endpoint.html" title="stream_socket_service::remote_endpoint">
+<link rel="next" href="set_option.html" title="stream_socket_service::set_option">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.send"></a><a class="link" href="send.html" title="stream_socket_service::send">stream_socket_service::send</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172800944"></a>
+Send the given data to the peer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">send</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">message_flags</span> <span class="identifier">flags</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="remote_endpoint.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/set_option.html b/doc/html/boost_asio/reference/stream_socket_service/set_option.html
new file mode 100644
index 0000000000..b631ceb2f8
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/set_option.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::set_option</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="send.html" title="stream_socket_service::send">
+<link rel="next" href="shutdown.html" title="stream_socket_service::shutdown">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.set_option"></a><a class="link" href="set_option.html" title="stream_socket_service::set_option">stream_socket_service::set_option</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172824912"></a>
+Set a socket option.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SettableSocketOption.html" title="Settable socket option requirements">SettableSocketOption</a><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">set_option</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SettableSocketOption</span> <span class="special">&amp;</span> <span class="identifier">option</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="send.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="shutdown.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/shutdown.html b/doc/html/boost_asio/reference/stream_socket_service/shutdown.html
new file mode 100644
index 0000000000..63b8cfef35
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/shutdown.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::shutdown</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="set_option.html" title="stream_socket_service::set_option">
+<link rel="next" href="stream_socket_service.html" title="stream_socket_service::stream_socket_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.shutdown"></a><a class="link" href="shutdown.html" title="stream_socket_service::shutdown">stream_socket_service::shutdown</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172846992"></a>
+Disable sends or receives on the socket.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">shutdown</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">socket_base</span><span class="special">::</span><span class="identifier">shutdown_type</span> <span class="identifier">what</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="set_option.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_socket_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/stream_socket_service/stream_socket_service.html b/doc/html/boost_asio/reference/stream_socket_service/stream_socket_service.html
new file mode 100644
index 0000000000..6a1c723460
--- /dev/null
+++ b/doc/html/boost_asio/reference/stream_socket_service/stream_socket_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stream_socket_service::stream_socket_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../stream_socket_service.html" title="stream_socket_service">
+<link rel="prev" href="shutdown.html" title="stream_socket_service::shutdown">
+<link rel="next" href="../streambuf.html" title="streambuf">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="shutdown.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../streambuf.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.stream_socket_service.stream_socket_service"></a><a class="link" href="stream_socket_service.html" title="stream_socket_service::stream_socket_service">stream_socket_service::stream_socket_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp172865456"></a>
+Construct a new stream socket
+ service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">stream_socket_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="shutdown.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stream_socket_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../streambuf.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/streambuf.html b/doc/html/boost_asio/reference/streambuf.html
new file mode 100644
index 0000000000..e8ac35173e
--- /dev/null
+++ b/doc/html/boost_asio/reference/streambuf.html
@@ -0,0 +1,358 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>streambuf</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="stream_socket_service/stream_socket_service.html" title="stream_socket_service::stream_socket_service">
+<link rel="next" href="system_timer.html" title="system_timer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream_socket_service/stream_socket_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="system_timer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.streambuf"></a><a class="link" href="streambuf.html" title="streambuf">streambuf</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp172877328"></a>
+Typedef for the typical usage of <a class="link" href="basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_streambuf</span> <span class="identifier">streambuf</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.streambuf.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.streambuf.types"></a></span><a class="link" href="streambuf.html#boost_asio.reference.streambuf.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/const_buffers_type.html" title="basic_streambuf::const_buffers_type"><span class="bold"><strong>const_buffers_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used to represent the input sequence as a list of buffers.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/mutable_buffers_type.html" title="basic_streambuf::mutable_buffers_type"><span class="bold"><strong>mutable_buffers_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type used to represent the output sequence as a list of buffers.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.streambuf.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.streambuf.member_functions"></a></span><a class="link" href="streambuf.html#boost_asio.reference.streambuf.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/basic_streambuf.html" title="basic_streambuf::basic_streambuf"><span class="bold"><strong>basic_streambuf</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_streambuf object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/commit.html" title="basic_streambuf::commit"><span class="bold"><strong>commit</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move characters from the output sequence to the input sequence.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/consume.html" title="basic_streambuf::consume"><span class="bold"><strong>consume</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Remove characters from the input sequence.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/data.html" title="basic_streambuf::data"><span class="bold"><strong>data</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a list of buffers that represents the input sequence.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/max_size.html" title="basic_streambuf::max_size"><span class="bold"><strong>max_size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the maximum size of the basic_streambuf.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/prepare.html" title="basic_streambuf::prepare"><span class="bold"><strong>prepare</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a list of buffers that represents the output sequence, with
+ the given size.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/size.html" title="basic_streambuf::size"><span class="bold"><strong>size</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the size of the input sequence.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.streambuf.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.streambuf.protected_member_functions"></a></span><a class="link" href="streambuf.html#boost_asio.reference.streambuf.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/overflow.html" title="basic_streambuf::overflow"><span class="bold"><strong>overflow</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Override std::streambuf behaviour.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/reserve.html" title="basic_streambuf::reserve"><span class="bold"><strong>reserve</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_streambuf/underflow.html" title="basic_streambuf::underflow"><span class="bold"><strong>underflow</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Override std::streambuf behaviour.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class
+ is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streambuf</span></code> to associate the streambuf's
+ input and output sequences with one or more character arrays. These character
+ arrays are internal to the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object, but direct access to the array elements is provided to permit them
+ to be used efficiently with I/O operations. Characters written to the output
+ sequence of a <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object are appended to the input sequence of the same object.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">basic_streambuf</span></code> class's
+ public interface is intended to permit the following implementation strategies:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A single contiguous character array, which is reallocated as necessary
+ to accommodate changes in the size of the character sequence. This is
+ the implementation approach currently used in Asio.
+ </li>
+<li class="listitem">
+ A sequence of one or more character arrays, where each array is of the
+ same size. Additional character array objects are appended to the sequence
+ to accommodate changes in the size of the character sequence.
+ </li>
+<li class="listitem">
+ A sequence of one or more character arrays of varying sizes. Additional
+ character array objects are appended to the sequence to accommodate changes
+ in the size of the character sequence.
+ </li>
+</ul></div>
+<p>
+ The constructor for <a class="link" href="basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> accepts a <code class="computeroutput"><span class="identifier">size_t</span></code> argument specifying the maximum
+ of the sum of the sizes of the input sequence and output sequence. During
+ the lifetime of the <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object, the following invariant holds:
+ </p>
+<pre class="programlisting"><span class="identifier">size</span><span class="special">()</span> <span class="special">&lt;=</span> <span class="identifier">max_size</span><span class="special">()</span>
+</pre>
+<p>
+ Any member function that would, if successful, cause the invariant to be
+ violated shall throw an exception of class <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code>.
+ </p>
+<p>
+ The constructor for <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ takes an Allocator argument. A copy of this argument is used for any memory
+ allocation performed, by the constructor and by all member functions, during
+ the lifetime of each <code class="computeroutput"><span class="identifier">basic_streambuf</span></code>
+ object.
+ </p>
+<h5>
+<a name="boost_asio.reference.streambuf.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.streambuf.examples"></a></span><a class="link" href="streambuf.html#boost_asio.reference.streambuf.examples">Examples</a>
+ </h5>
+<p>
+ Writing directly from an streambuf to a socket:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="identifier">os</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, World!\n"</span><span class="special">;</span>
+
+<span class="comment">// try sending some data in input sequence</span>
+<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">send</span><span class="special">(</span><span class="identifier">b</span><span class="special">.</span><span class="identifier">data</span><span class="special">());</span>
+
+<span class="identifier">b</span><span class="special">.</span><span class="identifier">consume</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span> <span class="comment">// sent data is removed from input sequence</span>
+</pre>
+<p>
+ Reading from a socket directly into a streambuf:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span> <span class="identifier">b</span><span class="special">;</span>
+
+<span class="comment">// reserve 512 bytes in output sequence</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span><span class="special">::</span><span class="identifier">mutable_buffers_type</span> <span class="identifier">bufs</span> <span class="special">=</span> <span class="identifier">b</span><span class="special">.</span><span class="identifier">prepare</span><span class="special">(</span><span class="number">512</span><span class="special">);</span>
+
+<span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">sock</span><span class="special">.</span><span class="identifier">receive</span><span class="special">(</span><span class="identifier">bufs</span><span class="special">);</span>
+
+<span class="comment">// received data is "committed" from output sequence to input sequence</span>
+<span class="identifier">b</span><span class="special">.</span><span class="identifier">commit</span><span class="special">(</span><span class="identifier">n</span><span class="special">);</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span> <span class="identifier">is</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">s</span><span class="special">;</span>
+<span class="identifier">is</span> <span class="special">&gt;&gt;</span> <span class="identifier">s</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.streambuf.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.streambuf.requirements"></a></span><a class="link" href="streambuf.html#boost_asio.reference.streambuf.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/streambuf.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="stream_socket_service/stream_socket_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="system_timer.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/system_timer.html b/doc/html/boost_asio/reference/system_timer.html
new file mode 100644
index 0000000000..dd0ef8f3b3
--- /dev/null
+++ b/doc/html/boost_asio/reference/system_timer.html
@@ -0,0 +1,508 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>system_timer</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="streambuf.html" title="streambuf">
+<link rel="next" href="time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="streambuf.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_traits_lt__ptime__gt_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.system_timer"></a><a class="link" href="system_timer.html" title="system_timer">system_timer</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp173036528"></a>
+Typedef for a timer based on the system clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span> <span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span> <span class="special">&gt;</span> <span class="identifier">system_timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.system_timer.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.types"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/clock_type.html" title="basic_waitable_timer::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The clock type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/duration.html" title="basic_waitable_timer::duration"><span class="bold"><strong>duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation_type.html" title="basic_waitable_timer::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service_type.html" title="basic_waitable_timer::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/time_point.html" title="basic_waitable_timer::time_point"><span class="bold"><strong>time_point</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time point type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/traits_type.html" title="basic_waitable_timer::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The wait traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.system_timer.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.member_functions"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/async_wait.html" title="basic_waitable_timer::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/basic_waitable_timer.html" title="basic_waitable_timer::basic_waitable_timer"><span class="bold"><strong>basic_waitable_timer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Constructor.
+ </p>
+ <p>
+ Constructor to set a particular expiry time as an absolute time.
+ </p>
+ <p>
+ Constructor to set a particular expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel.html" title="basic_waitable_timer::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous operations that are waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/cancel_one.html" title="basic_waitable_timer::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous operation that is waiting on the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_at.html" title="basic_waitable_timer::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time as an absolute time.
+ </p>
+ <p>
+ Set the timer's expiry time as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/expires_from_now.html" title="basic_waitable_timer::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the timer's expiry time relative to now.
+ </p>
+ <p>
+ Set the timer's expiry time relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_io_service.html" title="basic_waitable_timer::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/wait.html" title="basic_waitable_timer::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the timer.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.system_timer.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.protected_member_functions"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_implementation.html" title="basic_waitable_timer::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/get_service.html" title="basic_waitable_timer::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.system_timer.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.protected_data_members"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/implementation.html" title="basic_waitable_timer::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_waitable_timer/service.html" title="basic_waitable_timer::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template
+ provides the ability to perform a blocking or asynchronous wait for a timer
+ to expire.
+ </p>
+<p>
+ A waitable timer is always in one of two states: "expired" or "not
+ expired". If the <code class="computeroutput"><span class="identifier">wait</span><span class="special">()</span></code> or <code class="computeroutput"><span class="identifier">async_wait</span><span class="special">()</span></code> function is called on an expired timer,
+ the wait operation will complete immediately.
+ </p>
+<p>
+ Most applications will use one of the <a class="link" href="steady_timer.html" title="steady_timer"><code class="computeroutput"><span class="identifier">steady_timer</span></code></a>, <a class="link" href="system_timer.html" title="system_timer"><code class="computeroutput"><span class="identifier">system_timer</span></code></a> or <a class="link" href="high_resolution_timer.html" title="high_resolution_timer"><code class="computeroutput"><span class="identifier">high_resolution_timer</span></code></a> typedefs.
+ </p>
+<h5>
+<a name="boost_asio.reference.system_timer.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.remarks"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.remarks">Remarks</a>
+ </h5>
+<p>
+ This waitable timer functionality is for use with the C++11 standard library's
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code> facility, or with the Boost.Chrono library.
+ </p>
+<h5>
+<a name="boost_asio.reference.system_timer.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.thread_safety"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.system_timer.h6"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.examples"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.examples">Examples</a>
+ </h5>
+<p>
+ Performing a blocking wait (C++11):
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a timer without setting an expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+
+<span class="comment">// Set an expiry time relative to now.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+
+<span class="comment">// Wait for the timer to expire.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Performing an asynchronous wait (C++11):
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer expired.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="special">...</span>
+
+<span class="comment">// Construct a timer with an absolute expiry time.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span> <span class="identifier">timer</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">steady_clock</span><span class="special">::</span><span class="identifier">now</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">60</span><span class="special">));</span>
+
+<span class="comment">// Start an asynchronous wait.</span>
+<span class="identifier">timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.system_timer.h7"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.changing_an_active_waitable_timer_s_expiry_time"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.changing_an_active_waitable_timer_s_expiry_time">Changing
+ an active waitable timer's expiry time</a>
+ </h5>
+<p>
+ Changing the expiry time of a timer while there are pending asynchronous
+ waits causes those wait operations to be cancelled. To ensure that the action
+ associated with the timer is performed only once, use something like this:
+ used:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">on_some_event</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">expires_from_now</span><span class="special">(</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">))</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// We managed to cancel the timer. Start new asynchronous wait.</span>
+ <span class="identifier">my_timer</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">on_timeout</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="comment">// Too late, timer has already expired!</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">on_timeout</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">e</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Timer was not cancelled, take necessary action.</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">basic_waitable_timer</span><span class="special">::</span><span class="identifier">expires_from_now</span><span class="special">()</span></code>
+ function cancels any pending asynchronous waits, and returns the number
+ of asynchronous waits that were cancelled. If it returns 0 then you were
+ too late and the wait handler has already been executed, or will soon
+ be executed. If it returns 1 then the wait handler was successfully cancelled.
+ </li>
+<li class="listitem">
+ If a wait handler is cancelled, the boost::system::error_code passed
+ to it contains the value <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>.
+ </li>
+</ul></div>
+<p>
+ This typedef uses the C++11 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">chrono</span><span class="special">&gt;</span></code>
+ standard library facility, if available. Otherwise, it may use the Boost.Chrono
+ library. To explicitly utilise Boost.Chrono, use the <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> template directly:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_waitable_timer</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">chrono</span><span class="special">::</span><span class="identifier">system_clock</span><span class="special">&gt;</span> <span class="identifier">timer</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.system_timer.h8"></a>
+ <span class="phrase"><a name="boost_asio.reference.system_timer.requirements"></a></span><a class="link" href="system_timer.html#boost_asio.reference.system_timer.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/system_timer.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="streambuf.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_traits_lt__ptime__gt_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_.html
new file mode 100644
index 0000000000..489d24b4a7
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_.html
@@ -0,0 +1,193 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="system_timer.html" title="system_timer">
+<link rel="next" href="time_traits_lt__ptime__gt_/add.html" title="time_traits&lt; boost::posix_time::ptime &gt;::add">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="system_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_traits_lt__ptime__gt_/add.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_"></a><a class="link" href="time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">time_traits&lt;
+ boost::posix_time::ptime &gt;</a>
+</h3></div></div></div>
+<p>
+ Time traits specialised for posix_time.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">time_traits</span><span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.types"></a></span><a class="link" href="time_traits_lt__ptime__gt_.html#boost_asio.reference.time_traits_lt__ptime__gt_.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/duration_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::duration_type"><span class="bold"><strong>duration_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/time_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::time_type"><span class="bold"><strong>time_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.member_functions"></a></span><a class="link" href="time_traits_lt__ptime__gt_.html#boost_asio.reference.time_traits_lt__ptime__gt_.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/add.html" title="time_traits&lt; boost::posix_time::ptime &gt;::add"><span class="bold"><strong>add</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Add a duration to a time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/less_than.html" title="time_traits&lt; boost::posix_time::ptime &gt;::less_than"><span class="bold"><strong>less_than</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Test whether one time is less than another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/now.html" title="time_traits&lt; boost::posix_time::ptime &gt;::now"><span class="bold"><strong>now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the current time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/subtract.html" title="time_traits&lt; boost::posix_time::ptime &gt;::subtract"><span class="bold"><strong>subtract</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Subtract one time from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="time_traits_lt__ptime__gt_/to_posix_duration.html" title="time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration"><span class="bold"><strong>to_posix_duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Convert to POSIX duration type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.requirements"></a></span><a class="link" href="time_traits_lt__ptime__gt_.html#boost_asio.reference.time_traits_lt__ptime__gt_.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/time_traits.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="system_timer.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_traits_lt__ptime__gt_/add.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/add.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/add.html
new file mode 100644
index 0000000000..7d4d554ba5
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/add.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::add</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="next" href="duration_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::duration_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.add"></a><a class="link" href="add.html" title="time_traits&lt; boost::posix_time::ptime &gt;::add">time_traits&lt;
+ boost::posix_time::ptime &gt;::add</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173334736"></a>
+Add a duration to a time.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">time_type</span> <span class="identifier">add</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/duration_type.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/duration_type.html
new file mode 100644
index 0000000000..4f62610883
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/duration_type.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::duration_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="add.html" title="time_traits&lt; boost::posix_time::ptime &gt;::add">
+<link rel="next" href="less_than.html" title="time_traits&lt; boost::posix_time::ptime &gt;::less_than">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="add.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_than.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.duration_type"></a><a class="link" href="duration_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::duration_type">time_traits&lt;
+ boost::posix_time::ptime &gt;::duration_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173348048"></a>
+The duration
+ type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span> <span class="identifier">duration_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.duration_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.duration_type.requirements"></a></span><a class="link" href="duration_type.html#boost_asio.reference.time_traits_lt__ptime__gt_.duration_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/time_traits.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="add.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="less_than.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/less_than.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/less_than.html
new file mode 100644
index 0000000000..af1e6ccfb4
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/less_than.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::less_than</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="duration_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::duration_type">
+<link rel="next" href="now.html" title="time_traits&lt; boost::posix_time::ptime &gt;::now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="now.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.less_than"></a><a class="link" href="less_than.html" title="time_traits&lt; boost::posix_time::ptime &gt;::less_than">time_traits&lt;
+ boost::posix_time::ptime &gt;::less_than</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173362768"></a>
+Test whether one
+ time is less than another.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">bool</span> <span class="identifier">less_than</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t2</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="duration_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="now.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/now.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/now.html
new file mode 100644
index 0000000000..bfabfa4418
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/now.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="less_than.html" title="time_traits&lt; boost::posix_time::ptime &gt;::less_than">
+<link rel="next" href="subtract.html" title="time_traits&lt; boost::posix_time::ptime &gt;::subtract">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="less_than.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="subtract.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.now"></a><a class="link" href="now.html" title="time_traits&lt; boost::posix_time::ptime &gt;::now">time_traits&lt;
+ boost::posix_time::ptime &gt;::now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173376064"></a>
+Get the current time.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">time_type</span> <span class="identifier">now</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="less_than.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="subtract.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/subtract.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/subtract.html
new file mode 100644
index 0000000000..cfc42a1945
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/subtract.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::subtract</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="now.html" title="time_traits&lt; boost::posix_time::ptime &gt;::now">
+<link rel="next" href="time_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::time_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="now.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.subtract"></a><a class="link" href="subtract.html" title="time_traits&lt; boost::posix_time::ptime &gt;::subtract">time_traits&lt;
+ boost::posix_time::ptime &gt;::subtract</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173382864"></a>
+Subtract one time
+ from another.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">duration_type</span> <span class="identifier">subtract</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_type</span> <span class="special">&amp;</span> <span class="identifier">t2</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="now.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/time_type.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/time_type.html
new file mode 100644
index 0000000000..240ba48fd9
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/time_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::time_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="subtract.html" title="time_traits&lt; boost::posix_time::ptime &gt;::subtract">
+<link rel="next" href="to_posix_duration.html" title="time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="subtract.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_posix_duration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.time_type"></a><a class="link" href="time_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::time_type">time_traits&lt;
+ boost::posix_time::ptime &gt;::time_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173396224"></a>
+The time type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">ptime</span> <span class="identifier">time_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.time_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.time_traits_lt__ptime__gt_.time_type.requirements"></a></span><a class="link" href="time_type.html#boost_asio.reference.time_traits_lt__ptime__gt_.time_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/time_traits.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="subtract.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_posix_duration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/to_posix_duration.html b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/to_posix_duration.html
new file mode 100644
index 0000000000..5cb7e7725b
--- /dev/null
+++ b/doc/html/boost_asio/reference/time_traits_lt__ptime__gt_/to_posix_duration.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../time_traits_lt__ptime__gt_.html" title="time_traits&lt; boost::posix_time::ptime &gt;">
+<link rel="prev" href="time_type.html" title="time_traits&lt; boost::posix_time::ptime &gt;::time_type">
+<link rel="next" href="../transfer_all.html" title="transfer_all">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../transfer_all.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.time_traits_lt__ptime__gt_.to_posix_duration"></a><a class="link" href="to_posix_duration.html" title="time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration">time_traits&lt;
+ boost::posix_time::ptime &gt;::to_posix_duration</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173410944"></a>
+Convert to
+ POSIX duration type.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">time_duration</span> <span class="identifier">to_posix_duration</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">duration_type</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="time_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../time_traits_lt__ptime__gt_.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../transfer_all.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/transfer_all.html b/doc/html/boost_asio/reference/transfer_all.html
new file mode 100644
index 0000000000..b240cdd178
--- /dev/null
+++ b/doc/html/boost_asio/reference/transfer_all.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>transfer_all</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="time_traits_lt__ptime__gt_/to_posix_duration.html" title="time_traits&lt; boost::posix_time::ptime &gt;::to_posix_duration">
+<link rel="next" href="transfer_at_least.html" title="transfer_at_least">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_traits_lt__ptime__gt_/to_posix_duration.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transfer_at_least.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.transfer_all"></a><a class="link" href="transfer_all.html" title="transfer_all">transfer_all</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp173423184"></a>
+Return a completion condition function object that indicates
+ that a read or write operation should continue until all of the data has
+ been transferred, or until an error occurs.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">transfer_all</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to create an object, of unspecified type, that meets
+ CompletionCondition requirements.
+ </p>
+<h5>
+<a name="boost_asio.reference.transfer_all.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.transfer_all.example"></a></span><a class="link" href="transfer_all.html#boost_asio.reference.transfer_all.example">Example</a>
+ </h5>
+<p>
+ Reading until a buffer is full:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="comment">// n == 128</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.transfer_all.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.transfer_all.requirements"></a></span><a class="link" href="transfer_all.html#boost_asio.reference.transfer_all.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/completion_condition.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="time_traits_lt__ptime__gt_/to_posix_duration.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transfer_at_least.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/transfer_at_least.html b/doc/html/boost_asio/reference/transfer_at_least.html
new file mode 100644
index 0000000000..0c3b5f44b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/transfer_at_least.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>transfer_at_least</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="transfer_all.html" title="transfer_all">
+<link rel="next" href="transfer_exactly.html" title="transfer_exactly">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transfer_all.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transfer_exactly.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.transfer_at_least"></a><a class="link" href="transfer_at_least.html" title="transfer_at_least">transfer_at_least</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp173472304"></a>
+Return a completion condition function object that indicates
+ that a read or write operation should continue until a minimum number of
+ bytes has been transferred, or until an error occurs.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">transfer_at_least</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">minimum</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to create an object, of unspecified type, that meets
+ CompletionCondition requirements.
+ </p>
+<h5>
+<a name="boost_asio.reference.transfer_at_least.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.transfer_at_least.example"></a></span><a class="link" href="transfer_at_least.html#boost_asio.reference.transfer_at_least.example">Example</a>
+ </h5>
+<p>
+ Reading until a buffer is full or contains at least 64 bytes:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">64</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="comment">// n &gt;= 64 &amp;&amp; n &lt;= 128</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.transfer_at_least.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.transfer_at_least.requirements"></a></span><a class="link" href="transfer_at_least.html#boost_asio.reference.transfer_at_least.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/completion_condition.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="transfer_all.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transfer_exactly.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/transfer_exactly.html b/doc/html/boost_asio/reference/transfer_exactly.html
new file mode 100644
index 0000000000..acd386bd11
--- /dev/null
+++ b/doc/html/boost_asio/reference/transfer_exactly.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>transfer_exactly</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="transfer_at_least.html" title="transfer_at_least">
+<link rel="next" href="use_future.html" title="use_future">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transfer_at_least.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.transfer_exactly"></a><a class="link" href="transfer_exactly.html" title="transfer_exactly">transfer_exactly</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp173525872"></a>
+Return a completion condition function object that indicates
+ that a read or write operation should continue until an exact number of bytes
+ has been transferred, or until an error occurs.
+ </p>
+<pre class="programlisting"><span class="identifier">unspecified</span> <span class="identifier">transfer_exactly</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to create an object, of unspecified type, that meets
+ CompletionCondition requirements.
+ </p>
+<h5>
+<a name="boost_asio.reference.transfer_exactly.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.transfer_exactly.example"></a></span><a class="link" href="transfer_exactly.html#boost_asio.reference.transfer_exactly.example">Example</a>
+ </h5>
+<p>
+ Reading until a buffer is full or contains exactly 64 bytes:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">read</span><span class="special">(</span>
+ <span class="identifier">sock</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_exactly</span><span class="special">(</span><span class="number">64</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">ec</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// An error occurred.</span>
+<span class="special">}</span>
+<span class="keyword">else</span>
+<span class="special">{</span>
+ <span class="comment">// n == 64</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.transfer_exactly.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.transfer_exactly.requirements"></a></span><a class="link" href="transfer_exactly.html#boost_asio.reference.transfer_exactly.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/completion_condition.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="transfer_at_least.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future.html b/doc/html/boost_asio/reference/use_future.html
new file mode 100644
index 0000000000..d570ca8ac8
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="transfer_exactly.html" title="transfer_exactly">
+<link rel="next" href="use_future_t.html" title="use_future_t">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transfer_exactly.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.use_future"></a><a class="link" href="use_future.html" title="use_future">use_future</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp173579200"></a>
+A special value, similar to std::nothrow.
+ </p>
+<pre class="programlisting"><span class="keyword">constexpr</span> <span class="identifier">use_future_t</span> <span class="identifier">use_future</span><span class="special">;</span>
+</pre>
+<p>
+ See the documentation for <a class="link" href="use_future_t.html" title="use_future_t"><code class="computeroutput"><span class="identifier">use_future_t</span></code></a> for a usage example.
+ </p>
+<h5>
+<a name="boost_asio.reference.use_future.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_future.requirements"></a></span><a class="link" href="use_future.html#boost_asio.reference.use_future.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/use_future.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="transfer_exactly.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t.html b/doc/html/boost_asio/reference/use_future_t.html
new file mode 100644
index 0000000000..54483db760
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t.html
@@ -0,0 +1,175 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="use_future.html" title="use_future">
+<link rel="next" href="use_future_t/allocator_type.html" title="use_future_t::allocator_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_future.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t/allocator_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.use_future_t"></a><a class="link" href="use_future_t.html" title="use_future_t">use_future_t</a>
+</h3></div></div></div>
+<p>
+ Class used to specify that an asynchronous operation should return a future.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">use_future_t</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.use_future_t.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_future_t.types"></a></span><a class="link" href="use_future_t.html#boost_asio.reference.use_future_t.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="use_future_t/allocator_type.html" title="use_future_t::allocator_type"><span class="bold"><strong>allocator_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The allocator type. The allocator is used when constructing the
+ std::promise object for a given asynchronous operation.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.use_future_t.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_future_t.member_functions"></a></span><a class="link" href="use_future_t.html#boost_asio.reference.use_future_t.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="use_future_t/get_allocator.html" title="use_future_t::get_allocator"><span class="bold"><strong>get_allocator</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Obtain allocator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="use_future_t/operator_lb__rb_.html" title="use_future_t::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Specify an alternate allocator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="use_future_t/use_future_t.html" title="use_future_t::use_future_t"><span class="bold"><strong>use_future_t</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct using default-constructed allocator.
+ </p>
+ <p>
+ Construct using specified allocator.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="use_future_t.html" title="use_future_t"><code class="computeroutput"><span class="identifier">use_future_t</span></code></a>
+ class is used to indicate that an asynchronous operation should return a
+ std::future object. A <a class="link" href="use_future_t.html" title="use_future_t"><code class="computeroutput"><span class="identifier">use_future_t</span></code></a> object may be passed
+ as a handler to an asynchronous operation, typically using the special value
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span></code>. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">my_future</span>
+ <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">my_buffer</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">use_future</span><span class="special">);</span>
+</pre>
+<p>
+ The initiating function (async_read_some in the above example) returns a
+ future that will receive the result of the operation. If the operation completes
+ with an error_code indicating failure, it is converted into a system_error
+ and passed back to the caller via the future.
+ </p>
+<h5>
+<a name="boost_asio.reference.use_future_t.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_future_t.requirements"></a></span><a class="link" href="use_future_t.html#boost_asio.reference.use_future_t.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/use_future.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="use_future.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t/allocator_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t/allocator_type.html b/doc/html/boost_asio/reference/use_future_t/allocator_type.html
new file mode 100644
index 0000000000..3f322f18ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t/allocator_type.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t::allocator_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_future_t.html" title="use_future_t">
+<link rel="prev" href="../use_future_t.html" title="use_future_t">
+<link rel="next" href="get_allocator.html" title="use_future_t::get_allocator">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_future_t.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_allocator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.use_future_t.allocator_type"></a><a class="link" href="allocator_type.html" title="use_future_t::allocator_type">use_future_t::allocator_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173658224"></a>
+The allocator type. The allocator is used when
+ constructing the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">promise</span></code> object for a given asynchronous
+ operation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Allocator</span> <span class="identifier">allocator_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.use_future_t.allocator_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_future_t.allocator_type.requirements"></a></span><a class="link" href="allocator_type.html#boost_asio.reference.use_future_t.allocator_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/use_future.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="../use_future_t.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_allocator.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t/get_allocator.html b/doc/html/boost_asio/reference/use_future_t/get_allocator.html
new file mode 100644
index 0000000000..779a2766df
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t/get_allocator.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t::get_allocator</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_future_t.html" title="use_future_t">
+<link rel="prev" href="allocator_type.html" title="use_future_t::allocator_type">
+<link rel="next" href="operator_lb__rb_.html" title="use_future_t::operator[]">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="allocator_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.use_future_t.get_allocator"></a><a class="link" href="get_allocator.html" title="use_future_t::get_allocator">use_future_t::get_allocator</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173672416"></a>
+Obtain allocator.
+ </p>
+<pre class="programlisting"><span class="identifier">allocator_type</span> <span class="identifier">get_allocator</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="allocator_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t/operator_lb__rb_.html b/doc/html/boost_asio/reference/use_future_t/operator_lb__rb_.html
new file mode 100644
index 0000000000..f7f9f0c5fc
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t/operator_lb__rb_.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t::operator[]</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_future_t.html" title="use_future_t">
+<link rel="prev" href="get_allocator.html" title="use_future_t::get_allocator">
+<link rel="next" href="use_future_t.html" title="use_future_t::use_future_t">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_allocator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.use_future_t.operator_lb__rb_"></a><a class="link" href="operator_lb__rb_.html" title="use_future_t::operator[]">use_future_t::operator[]</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173679632"></a>
+Specify an alternate allocator.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">OtherAllocator</span><span class="special">&gt;</span>
+<span class="identifier">use_future_t</span><span class="special">&lt;</span> <span class="identifier">OtherAllocator</span> <span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">[](</span>
+ <span class="keyword">const</span> <span class="identifier">OtherAllocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_allocator.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t/use_future_t.html b/doc/html/boost_asio/reference/use_future_t/use_future_t.html
new file mode 100644
index 0000000000..f0c9be10de
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t/use_future_t.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t::use_future_t</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_future_t.html" title="use_future_t">
+<link rel="prev" href="operator_lb__rb_.html" title="use_future_t::operator[]">
+<link rel="next" href="use_future_t/overload1.html" title="use_future_t::use_future_t (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_lb__rb_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.use_future_t.use_future_t"></a><a class="link" href="use_future_t.html" title="use_future_t::use_future_t">use_future_t::use_future_t</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173695264"></a>
+Construct using default-constructed allocator.
+ </p>
+<pre class="programlisting"><span class="keyword">constexpr</span> <a class="link" href="use_future_t/overload1.html" title="use_future_t::use_future_t (1 of 2 overloads)">use_future_t</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_future_t/overload1.html" title="use_future_t::use_future_t (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct using specified allocator.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="use_future_t/overload2.html" title="use_future_t::use_future_t (2 of 2 overloads)">use_future_t</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="use_future_t/overload2.html" title="use_future_t::use_future_t (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_lb__rb_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_future_t/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t/use_future_t/overload1.html b/doc/html/boost_asio/reference/use_future_t/use_future_t/overload1.html
new file mode 100644
index 0000000000..cf07e49c37
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t/use_future_t/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t::use_future_t (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_future_t.html" title="use_future_t::use_future_t">
+<link rel="prev" href="../use_future_t.html" title="use_future_t::use_future_t">
+<link rel="next" href="overload2.html" title="use_future_t::use_future_t (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../use_future_t.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.use_future_t.use_future_t.overload1"></a><a class="link" href="overload1.html" title="use_future_t::use_future_t (1 of 2 overloads)">use_future_t::use_future_t
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct using default-constructed allocator.
+ </p>
+<pre class="programlisting"><span class="keyword">constexpr</span> <span class="identifier">use_future_t</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../use_future_t.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_future_t/use_future_t/overload2.html b/doc/html/boost_asio/reference/use_future_t/use_future_t/overload2.html
new file mode 100644
index 0000000000..f15b0a9c20
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_future_t/use_future_t/overload2.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_future_t::use_future_t (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../use_future_t.html" title="use_future_t::use_future_t">
+<link rel="prev" href="overload1.html" title="use_future_t::use_future_t (1 of 2 overloads)">
+<link rel="next" href="../../use_service.html" title="use_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../use_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.use_future_t.use_future_t.overload2"></a><a class="link" href="overload2.html" title="use_future_t::use_future_t (2 of 2 overloads)">use_future_t::use_future_t
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct using specified allocator.
+ </p>
+<pre class="programlisting"><span class="identifier">use_future_t</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Allocator</span> <span class="special">&amp;</span> <span class="identifier">allocator</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../use_future_t.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../use_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/use_service.html b/doc/html/boost_asio/reference/use_service.html
new file mode 100644
index 0000000000..de2b4c9765
--- /dev/null
+++ b/doc/html/boost_asio/reference/use_service.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>use_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="use_future_t/use_future_t/overload2.html" title="use_future_t::use_future_t (2 of 2 overloads)">
+<link rel="next" href="wait_traits.html" title="wait_traits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_future_t/use_future_t/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.use_service"></a><a class="link" href="use_service.html" title="use_service">use_service</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp173723088"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="Service.html" title="Service requirements">Service</a><span class="special">&gt;</span>
+<span class="identifier">Service</span> <span class="special">&amp;</span> <span class="identifier">use_service</span><span class="special">(</span>
+ <span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">ios</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to locate a service object that corresponds to the
+ given service type. If there is no existing implementation of the service,
+ then the <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ will create a new instance of the service.
+ </p>
+<h5>
+<a name="boost_asio.reference.use_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_service.parameters"></a></span><a class="link" href="use_service.html#boost_asio.reference.use_service.parameters">Parameters</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ios</span></dt>
+<dd><p>
+ The <a class="link" href="io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>
+ object that owns the service.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="boost_asio.reference.use_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_service.return_value"></a></span><a class="link" href="use_service.html#boost_asio.reference.use_service.return_value">Return
+ Value</a>
+ </h5>
+<p>
+ The service interface implementing the specified service type. Ownership
+ of the service interface is not transferred to the caller.
+ </p>
+<h5>
+<a name="boost_asio.reference.use_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.use_service.requirements"></a></span><a class="link" href="use_service.html#boost_asio.reference.use_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/io_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="use_future_t/use_future_t/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait_traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/wait_traits.html b/doc/html/boost_asio/reference/wait_traits.html
new file mode 100644
index 0000000000..a7655bec37
--- /dev/null
+++ b/doc/html/boost_asio/reference/wait_traits.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>wait_traits</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="use_service.html" title="use_service">
+<link rel="next" href="wait_traits/to_wait_duration.html" title="wait_traits::to_wait_duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait_traits/to_wait_duration.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.wait_traits"></a><a class="link" href="wait_traits.html" title="wait_traits">wait_traits</a>
+</h3></div></div></div>
+<p>
+ Wait traits suitable for use with the <a class="link" href="basic_waitable_timer.html" title="basic_waitable_timer"><code class="computeroutput"><span class="identifier">basic_waitable_timer</span></code></a> class template.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">wait_traits</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.wait_traits.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.wait_traits.member_functions"></a></span><a class="link" href="wait_traits.html#boost_asio.reference.wait_traits.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="wait_traits/to_wait_duration.html" title="wait_traits::to_wait_duration"><span class="bold"><strong>to_wait_duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Convert a clock duration into a duration used for waiting.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.wait_traits.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.wait_traits.requirements"></a></span><a class="link" href="wait_traits.html#boost_asio.reference.wait_traits.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/wait_traits.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="use_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait_traits/to_wait_duration.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/wait_traits/to_wait_duration.html b/doc/html/boost_asio/reference/wait_traits/to_wait_duration.html
new file mode 100644
index 0000000000..0296d8b38c
--- /dev/null
+++ b/doc/html/boost_asio/reference/wait_traits/to_wait_duration.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>wait_traits::to_wait_duration</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait_traits.html" title="wait_traits">
+<link rel="prev" href="../wait_traits.html" title="wait_traits">
+<link rel="next" href="../waitable_timer_service.html" title="waitable_timer_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../wait_traits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait_traits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.wait_traits.to_wait_duration"></a><a class="link" href="to_wait_duration.html" title="wait_traits::to_wait_duration">wait_traits::to_wait_duration</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173778240"></a>
+Convert a clock duration into a duration used
+ for waiting.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">to_wait_duration</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">::</span><span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.wait_traits.to_wait_duration.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.wait_traits.to_wait_duration.return_value"></a></span><a class="link" href="to_wait_duration.html#boost_asio.reference.wait_traits.to_wait_duration.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">d</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="../wait_traits.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait_traits.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service.html b/doc/html/boost_asio/reference/waitable_timer_service.html
new file mode 100644
index 0000000000..54a3ae2f6c
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service.html
@@ -0,0 +1,325 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="wait_traits/to_wait_duration.html" title="wait_traits::to_wait_duration">
+<link rel="next" href="waitable_timer_service/async_wait.html" title="waitable_timer_service::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wait_traits/to_wait_duration.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="waitable_timer_service/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.waitable_timer_service"></a><a class="link" href="waitable_timer_service.html" title="waitable_timer_service">waitable_timer_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a timer.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Clock</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="WaitTraits.html" title="Wait traits requirements">WaitTraits</a> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">wait_traits</span><span class="special">&lt;</span><span class="identifier">Clock</span><span class="special">&gt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">waitable_timer_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.waitable_timer_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.types"></a></span><a class="link" href="waitable_timer_service.html#boost_asio.reference.waitable_timer_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/clock_type.html" title="waitable_timer_service::clock_type"><span class="bold"><strong>clock_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The clock type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/duration.html" title="waitable_timer_service::duration"><span class="bold"><strong>duration</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The duration type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/implementation_type.html" title="waitable_timer_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The implementation type of the waitable timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/time_point.html" title="waitable_timer_service::time_point"><span class="bold"><strong>time_point</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The time point type of the clock.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/traits_type.html" title="waitable_timer_service::traits_type"><span class="bold"><strong>traits_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The wait traits type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.waitable_timer_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.member_functions"></a></span><a class="link" href="waitable_timer_service.html#boost_asio.reference.waitable_timer_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/async_wait.html" title="waitable_timer_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/cancel.html" title="waitable_timer_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel any asynchronous wait operations associated with the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/cancel_one.html" title="waitable_timer_service::cancel_one"><span class="bold"><strong>cancel_one</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancels one asynchronous wait operation associated with the timer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/construct.html" title="waitable_timer_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new timer implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/destroy.html" title="waitable_timer_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a timer implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/expires_at.html" title="waitable_timer_service::expires_at"><span class="bold"><strong>expires_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the expiry time for the timer as an absolute time.
+ </p>
+ <p>
+ Set the expiry time for the timer as an absolute time.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/expires_from_now.html" title="waitable_timer_service::expires_from_now"><span class="bold"><strong>expires_from_now</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the expiry time for the timer relative to now.
+ </p>
+ <p>
+ Set the expiry time for the timer relative to now.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/get_io_service.html" title="waitable_timer_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/wait.html" title="waitable_timer_service::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/waitable_timer_service.html" title="waitable_timer_service::waitable_timer_service"><span class="bold"><strong>waitable_timer_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new timer service for the specified io_service.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.waitable_timer_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.data_members"></a></span><a class="link" href="waitable_timer_service.html#boost_asio.reference.waitable_timer_service.data_members">Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="waitable_timer_service/id.html" title="waitable_timer_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.waitable_timer_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.requirements"></a></span><a class="link" href="waitable_timer_service.html#boost_asio.reference.waitable_timer_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="wait_traits/to_wait_duration.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="waitable_timer_service/async_wait.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/async_wait.html b/doc/html/boost_asio/reference/waitable_timer_service/async_wait.html
new file mode 100644
index 0000000000..34c7a8b7a3
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/async_wait.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="next" href="cancel.html" title="waitable_timer_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.async_wait"></a><a class="link" href="async_wait.html" title="waitable_timer_service::async_wait">waitable_timer_service::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173894416"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WaitHandler.html" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../waitable_timer_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/cancel.html b/doc/html/boost_asio/reference/waitable_timer_service/cancel.html
new file mode 100644
index 0000000000..70f030d82d
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="async_wait.html" title="waitable_timer_service::async_wait">
+<link rel="next" href="cancel_one.html" title="waitable_timer_service::cancel_one">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.cancel"></a><a class="link" href="cancel.html" title="waitable_timer_service::cancel">waitable_timer_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173908592"></a>
+Cancel any asynchronous wait operations associated
+ with the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel_one.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/cancel_one.html b/doc/html/boost_asio/reference/waitable_timer_service/cancel_one.html
new file mode 100644
index 0000000000..dbdb922895
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/cancel_one.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::cancel_one</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="cancel.html" title="waitable_timer_service::cancel">
+<link rel="next" href="clock_type.html" title="waitable_timer_service::clock_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clock_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.cancel_one"></a><a class="link" href="cancel_one.html" title="waitable_timer_service::cancel_one">waitable_timer_service::cancel_one</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173923024"></a>
+Cancels one asynchronous wait operation
+ associated with the timer.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">cancel_one</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clock_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/clock_type.html b/doc/html/boost_asio/reference/waitable_timer_service/clock_type.html
new file mode 100644
index 0000000000..19ed2e02e6
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/clock_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::clock_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="cancel_one.html" title="waitable_timer_service::cancel_one">
+<link rel="next" href="construct.html" title="waitable_timer_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel_one.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.clock_type"></a><a class="link" href="clock_type.html" title="waitable_timer_service::clock_type">waitable_timer_service::clock_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173937456"></a>
+The clock type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">Clock</span> <span class="identifier">clock_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.waitable_timer_service.clock_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.clock_type.requirements"></a></span><a class="link" href="clock_type.html#boost_asio.reference.waitable_timer_service.clock_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="cancel_one.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/construct.html b/doc/html/boost_asio/reference/waitable_timer_service/construct.html
new file mode 100644
index 0000000000..8fac98be01
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="clock_type.html" title="waitable_timer_service::clock_type">
+<link rel="next" href="destroy.html" title="waitable_timer_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="clock_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.construct"></a><a class="link" href="construct.html" title="waitable_timer_service::construct">waitable_timer_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173949840"></a>
+Construct a new timer implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="clock_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/destroy.html b/doc/html/boost_asio/reference/waitable_timer_service/destroy.html
new file mode 100644
index 0000000000..bff4b1e5f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="construct.html" title="waitable_timer_service::construct">
+<link rel="next" href="duration.html" title="waitable_timer_service::duration">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.destroy"></a><a class="link" href="destroy.html" title="waitable_timer_service::destroy">waitable_timer_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173958384"></a>
+Destroy a timer implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="duration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/duration.html b/doc/html/boost_asio/reference/waitable_timer_service/duration.html
new file mode 100644
index 0000000000..db591edcf3
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/duration.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::duration</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="destroy.html" title="waitable_timer_service::destroy">
+<link rel="next" href="expires_at.html" title="waitable_timer_service::expires_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.duration"></a><a class="link" href="duration.html" title="waitable_timer_service::duration">waitable_timer_service::duration</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173966992"></a>
+The duration type of the clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">duration</span> <span class="identifier">duration</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.waitable_timer_service.duration.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.duration.requirements"></a></span><a class="link" href="duration.html#boost_asio.reference.waitable_timer_service.duration.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/expires_at.html b/doc/html/boost_asio/reference/waitable_timer_service/expires_at.html
new file mode 100644
index 0000000000..ceeddb5933
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/expires_at.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::expires_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="duration.html" title="waitable_timer_service::duration">
+<link rel="next" href="expires_at/overload1.html" title="waitable_timer_service::expires_at (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="duration.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.expires_at"></a><a class="link" href="expires_at.html" title="waitable_timer_service::expires_at">waitable_timer_service::expires_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp173980448"></a>
+Get the expiry time for the timer as an
+ absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_point</span> <a class="link" href="expires_at/overload1.html" title="waitable_timer_service::expires_at (1 of 2 overloads)">expires_at</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload1.html" title="waitable_timer_service::expires_at (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the expiry time for the timer as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_at/overload2.html" title="waitable_timer_service::expires_at (2 of 2 overloads)">expires_at</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_at/overload2.html" title="waitable_timer_service::expires_at (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="duration.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload1.html b/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload1.html
new file mode 100644
index 0000000000..3665799029
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::expires_at (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="waitable_timer_service::expires_at">
+<link rel="prev" href="../expires_at.html" title="waitable_timer_service::expires_at">
+<link rel="next" href="overload2.html" title="waitable_timer_service::expires_at (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.waitable_timer_service.expires_at.overload1"></a><a class="link" href="overload1.html" title="waitable_timer_service::expires_at (1 of 2 overloads)">waitable_timer_service::expires_at
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the expiry time for the timer as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">time_point</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../expires_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload2.html b/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload2.html
new file mode 100644
index 0000000000..f52c7688bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/expires_at/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::expires_at (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_at.html" title="waitable_timer_service::expires_at">
+<link rel="prev" href="overload1.html" title="waitable_timer_service::expires_at (1 of 2 overloads)">
+<link rel="next" href="../expires_from_now.html" title="waitable_timer_service::expires_from_now">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.waitable_timer_service.expires_at.overload2"></a><a class="link" href="overload2.html" title="waitable_timer_service::expires_at (2 of 2 overloads)">waitable_timer_service::expires_at
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the expiry time for the timer as an absolute time.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_at</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">time_point</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now.html b/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now.html
new file mode 100644
index 0000000000..4242e4e5c2
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::expires_from_now</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="expires_at/overload2.html" title="waitable_timer_service::expires_at (2 of 2 overloads)">
+<link rel="next" href="expires_from_now/overload1.html" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.expires_from_now"></a><a class="link" href="expires_from_now.html" title="waitable_timer_service::expires_from_now">waitable_timer_service::expires_from_now</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174035072"></a>
+Get the expiry time for the timer
+ relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration</span> <a class="link" href="expires_from_now/overload1.html" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload1.html" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Set the expiry time for the timer relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="expires_from_now/overload2.html" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">expires_from_now</a><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="expires_from_now/overload2.html" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="expires_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expires_from_now/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload1.html b/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload1.html
new file mode 100644
index 0000000000..01f6d5cb30
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::expires_from_now (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="waitable_timer_service::expires_from_now">
+<link rel="prev" href="../expires_from_now.html" title="waitable_timer_service::expires_from_now">
+<link rel="next" href="overload2.html" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.waitable_timer_service.expires_from_now.overload1"></a><a class="link" href="overload1.html" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">waitable_timer_service::expires_from_now
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the expiry time for the timer relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">duration</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="../expires_from_now.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload2.html b/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload2.html
new file mode 100644
index 0000000000..fd158fdaeb
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/expires_from_now/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::expires_from_now (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../expires_from_now.html" title="waitable_timer_service::expires_from_now">
+<link rel="prev" href="overload1.html" title="waitable_timer_service::expires_from_now (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="waitable_timer_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.waitable_timer_service.expires_from_now.overload2"></a><a class="link" href="overload2.html" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">waitable_timer_service::expires_from_now
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Set the expiry time for the timer relative to now.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">expires_from_now</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">duration</span> <span class="special">&amp;</span> <span class="identifier">expiry_time</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expires_from_now.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/get_io_service.html b/doc/html/boost_asio/reference/waitable_timer_service/get_io_service.html
new file mode 100644
index 0000000000..5d6822dde5
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="expires_from_now/overload2.html" title="waitable_timer_service::expires_from_now (2 of 2 overloads)">
+<link rel="next" href="id.html" title="waitable_timer_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.get_io_service"></a><a class="link" href="get_io_service.html" title="waitable_timer_service::get_io_service">waitable_timer_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp174090432"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="expires_from_now/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/id.html b/doc/html/boost_asio/reference/waitable_timer_service/id.html
new file mode 100644
index 0000000000..d55b15747a
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="get_io_service.html" title="waitable_timer_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="waitable_timer_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.id"></a><a class="link" href="id.html" title="waitable_timer_service::id">waitable_timer_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174101120"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/implementation_type.html b/doc/html/boost_asio/reference/waitable_timer_service/implementation_type.html
new file mode 100644
index 0000000000..7ac9e61600
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="id.html" title="waitable_timer_service::id">
+<link rel="next" href="time_point.html" title="waitable_timer_service::time_point">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_point.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.implementation_type"></a><a class="link" href="implementation_type.html" title="waitable_timer_service::implementation_type">waitable_timer_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174110944"></a>
+The implementation type of the
+ waitable timer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.waitable_timer_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.waitable_timer_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="time_point.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/time_point.html b/doc/html/boost_asio/reference/waitable_timer_service/time_point.html
new file mode 100644
index 0000000000..9a16b4480d
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/time_point.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::time_point</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="implementation_type.html" title="waitable_timer_service::implementation_type">
+<link rel="next" href="traits_type.html" title="waitable_timer_service::traits_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.time_point"></a><a class="link" href="time_point.html" title="waitable_timer_service::time_point">waitable_timer_service::time_point</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174123232"></a>
+The time point type of the clock.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">clock_type</span><span class="special">::</span><span class="identifier">time_point</span> <span class="identifier">time_point</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.waitable_timer_service.time_point.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.time_point.requirements"></a></span><a class="link" href="time_point.html#boost_asio.reference.waitable_timer_service.time_point.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="traits_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/traits_type.html b/doc/html/boost_asio/reference/waitable_timer_service/traits_type.html
new file mode 100644
index 0000000000..3eac514007
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/traits_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::traits_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="time_point.html" title="waitable_timer_service::time_point">
+<link rel="next" href="wait.html" title="waitable_timer_service::wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="time_point.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.traits_type"></a><a class="link" href="traits_type.html" title="waitable_timer_service::traits_type">waitable_timer_service::traits_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174136496"></a>
+The wait traits type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">WaitTraits</span> <span class="identifier">traits_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.waitable_timer_service.traits_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.waitable_timer_service.traits_type.requirements"></a></span><a class="link" href="traits_type.html#boost_asio.reference.waitable_timer_service.traits_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/waitable_timer_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="time_point.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/wait.html b/doc/html/boost_asio/reference/waitable_timer_service/wait.html
new file mode 100644
index 0000000000..5693c7b753
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/wait.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="traits_type.html" title="waitable_timer_service::traits_type">
+<link rel="next" href="waitable_timer_service.html" title="waitable_timer_service::waitable_timer_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="waitable_timer_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.wait"></a><a class="link" href="wait.html" title="waitable_timer_service::wait">waitable_timer_service::wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174148880"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="traits_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="waitable_timer_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/waitable_timer_service/waitable_timer_service.html b/doc/html/boost_asio/reference/waitable_timer_service/waitable_timer_service.html
new file mode 100644
index 0000000000..3bf327c243
--- /dev/null
+++ b/doc/html/boost_asio/reference/waitable_timer_service/waitable_timer_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>waitable_timer_service::waitable_timer_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../waitable_timer_service.html" title="waitable_timer_service">
+<link rel="prev" href="wait.html" title="waitable_timer_service::wait">
+<link rel="next" href="../windows__basic_handle.html" title="windows::basic_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.waitable_timer_service.waitable_timer_service"></a><a class="link" href="waitable_timer_service.html" title="waitable_timer_service::waitable_timer_service">waitable_timer_service::waitable_timer_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174162176"></a>
+Construct a new timer service
+ for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">waitable_timer_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../waitable_timer_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle.html b/doc/html/boost_asio/reference/windows__basic_handle.html
new file mode 100644
index 0000000000..80915dc2a0
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle.html
@@ -0,0 +1,427 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="waitable_timer_service/waitable_timer_service.html" title="waitable_timer_service::waitable_timer_service">
+<link rel="next" href="windows__basic_handle/assign.html" title="windows::basic_handle::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="waitable_timer_service/waitable_timer_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__basic_handle"></a><a class="link" href="windows__basic_handle.html" title="windows::basic_handle">windows::basic_handle</a>
+</h3></div></div></div>
+<p>
+ Provides Windows handle functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="HandleService.html" title="Handle service requirements">HandleService</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_handle</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">HandleService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__basic_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.types"></a></span><a class="link" href="windows__basic_handle.html#boost_asio.reference.windows__basic_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/implementation_type.html" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/native_handle_type.html" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/native_type.html" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/service_type.html" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.member_functions"></a></span><a class="link" href="windows__basic_handle.html#boost_asio.reference.windows__basic_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/assign.html" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/basic_handle.html" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/cancel.html" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/close.html" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/get_io_service.html" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/is_open.html" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/lowest_layer.html" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/native.html" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/native_handle.html" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/operator_eq_.html" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_handle from another.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.protected_member_functions"></a></span><a class="link" href="windows__basic_handle.html#boost_asio.reference.windows__basic_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/get_implementation.html" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/get_service.html" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/_basic_handle.html" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.protected_data_members"></a></span><a class="link" href="windows__basic_handle.html#boost_asio.reference.windows__basic_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/implementation.html" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_handle/service.html" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
+ the ability to wrap a Windows handle.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.thread_safety"></a></span><a class="link" href="windows__basic_handle.html#boost_asio.reference.windows__basic_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.requirements"></a></span><a class="link" href="windows__basic_handle.html#boost_asio.reference.windows__basic_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="waitable_timer_service/waitable_timer_service.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/_basic_handle.html b/doc/html/boost_asio/reference/windows__basic_handle/_basic_handle.html
new file mode 100644
index 0000000000..cd9001553b
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/_basic_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::~basic_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="service_type.html" title="windows::basic_handle::service_type">
+<link rel="next" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle._basic_handle"></a><a class="link" href="_basic_handle.html" title="windows::basic_handle::~basic_handle">windows::basic_handle::~basic_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174939856"></a>
+Protected destructor to prevent deletion
+ through this type.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">basic_handle</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/assign.html b/doc/html/boost_asio/reference/windows__basic_handle/assign.html
new file mode 100644
index 0000000000..6cdbbe0f7c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/assign.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="next" href="assign/overload1.html" title="windows::basic_handle::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.assign"></a><a class="link" href="assign.html" title="windows::basic_handle::assign">windows::basic_handle::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174298672"></a>
+Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="windows::basic_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="windows::basic_handle::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="windows::basic_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="windows::basic_handle::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__basic_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/assign/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/assign/overload1.html
new file mode 100644
index 0000000000..16e61ca7de
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/assign/overload1.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_handle::assign">
+<link rel="prev" href="../assign.html" title="windows::basic_handle::assign">
+<link rel="next" href="overload2.html" title="windows::basic_handle::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.assign.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::assign (1 of 2 overloads)">windows::basic_handle::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/assign/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/assign/overload2.html
new file mode 100644
index 0000000000..469550d589
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/assign/overload2.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_handle::assign">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::assign (1 of 2 overloads)">
+<link rel="next" href="../basic_handle.html" title="windows::basic_handle::basic_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.assign.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::assign (2 of 2 overloads)">windows::basic_handle::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../basic_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/basic_handle.html b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle.html
new file mode 100644
index 0000000000..fda933c6b2
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::basic_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="assign/overload2.html" title="windows::basic_handle::assign (2 of 2 overloads)">
+<link rel="next" href="basic_handle/overload1.html" title="windows::basic_handle::basic_handle (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.basic_handle"></a><a class="link" href="basic_handle.html" title="windows::basic_handle::basic_handle">windows::basic_handle::basic_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174346624"></a>
+Construct a <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> without opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_handle/overload1.html" title="windows::basic_handle::basic_handle (1 of 3 overloads)">basic_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_handle/overload1.html" title="windows::basic_handle::basic_handle (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> on an existing native
+ handle.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_handle/overload2.html" title="windows::basic_handle::basic_handle (2 of 3 overloads)">basic_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_handle/overload2.html" title="windows::basic_handle::basic_handle (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_handle/overload3.html" title="windows::basic_handle::basic_handle (3 of 3 overloads)">basic_handle</a><span class="special">(</span>
+ <span class="identifier">basic_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_handle/overload3.html" title="windows::basic_handle::basic_handle (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload1.html
new file mode 100644
index 0000000000..4f51b8f7f2
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::basic_handle (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_handle.html" title="windows::basic_handle::basic_handle">
+<link rel="prev" href="../basic_handle.html" title="windows::basic_handle::basic_handle">
+<link rel="next" href="overload2.html" title="windows::basic_handle::basic_handle (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::basic_handle (1 of 3 overloads)">windows::basic_handle::basic_handle
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a handle without opening it.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_handle.basic_handle.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the handle will use to dispatch handlers for any asynchronous operations
+ performed on the handle.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload2.html
new file mode 100644
index 0000000000..14c0af80ed
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload2.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::basic_handle (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_handle.html" title="windows::basic_handle::basic_handle">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::basic_handle (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="windows::basic_handle::basic_handle (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::basic_handle (2 of 3 overloads)">windows::basic_handle::basic_handle
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> on an existing
+ native handle.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a handle object to hold an existing native handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the handle will use to dispatch handlers for any asynchronous operations
+ performed on the handle.
+ </p></dd>
+<dt><span class="term">handle</span></dt>
+<dd><p>
+ A native handle.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_handle.basic_handle.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload3.html b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload3.html
new file mode 100644
index 0000000000..c7817a05c1
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/basic_handle/overload3.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::basic_handle (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_handle.html" title="windows::basic_handle::basic_handle">
+<link rel="prev" href="overload2.html" title="windows::basic_handle::basic_handle (2 of 3 overloads)">
+<link rel="next" href="../cancel.html" title="windows::basic_handle::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3"></a><a class="link" href="overload3.html" title="windows::basic_handle::basic_handle (3 of 3 overloads)">windows::basic_handle::basic_handle
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_handle</span><span class="special">(</span>
+ <span class="identifier">basic_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> object from
+ which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.basic_handle.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_handle.basic_handle.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/cancel.html b/doc/html/boost_asio/reference/windows__basic_handle/cancel.html
new file mode 100644
index 0000000000..787cabe01a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="basic_handle/overload3.html" title="windows::basic_handle::basic_handle (3 of 3 overloads)">
+<link rel="next" href="cancel/overload1.html" title="windows::basic_handle::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.cancel"></a><a class="link" href="cancel.html" title="windows::basic_handle::cancel">windows::basic_handle::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174461072"></a>
+Cancel all asynchronous operations associated
+ with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="windows::basic_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="windows::basic_handle::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="windows::basic_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="windows::basic_handle::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload1.html
new file mode 100644
index 0000000000..f09ae7eb15
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload1.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_handle::cancel">
+<link rel="prev" href="../cancel.html" title="windows::basic_handle::cancel">
+<link rel="next" href="overload2.html" title="windows::basic_handle::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.cancel.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::cancel (1 of 2 overloads)">windows::basic_handle::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_handle.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload2.html
new file mode 100644
index 0000000000..a05f4e4352
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/cancel/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_handle::cancel">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="windows::basic_handle::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.cancel.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::cancel (2 of 2 overloads)">windows::basic_handle::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_handle.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/close.html b/doc/html/boost_asio/reference/windows__basic_handle/close.html
new file mode 100644
index 0000000000..263be4c229
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="cancel/overload2.html" title="windows::basic_handle::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="windows::basic_handle::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.close"></a><a class="link" href="close.html" title="windows::basic_handle::close">windows::basic_handle::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174516432"></a>
+Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="windows::basic_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="windows::basic_handle::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="windows::basic_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="windows::basic_handle::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/close/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/close/overload1.html
new file mode 100644
index 0000000000..41a229a095
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/close/overload1.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_handle::close">
+<link rel="prev" href="../close.html" title="windows::basic_handle::close">
+<link rel="next" href="overload2.html" title="windows::basic_handle::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.close.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::close (1 of 2 overloads)">windows::basic_handle::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_handle.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/close/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/close/overload2.html
new file mode 100644
index 0000000000..58dd8593ad
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/close/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_handle::close">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="windows::basic_handle::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.close.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::close (2 of 2 overloads)">windows::basic_handle::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_handle.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_implementation.html b/doc/html/boost_asio/reference/windows__basic_handle/get_implementation.html
new file mode 100644
index 0000000000..1a6261263d
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="close/overload2.html" title="windows::basic_handle::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="windows::basic_handle::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_implementation"></a><a class="link" href="get_implementation.html" title="windows::basic_handle::get_implementation">windows::basic_handle::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174571776"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="windows::basic_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="windows::basic_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="windows::basic_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="windows::basic_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload1.html
new file mode 100644
index 0000000000..ada27b7909
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_handle::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="windows::basic_handle::get_implementation">
+<link rel="next" href="overload2.html" title="windows::basic_handle::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_implementation.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::get_implementation (1 of 2 overloads)">windows::basic_handle::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload2.html
new file mode 100644
index 0000000000..8fd17ed9bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_handle::get_implementation">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="windows::basic_handle::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_implementation.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::get_implementation (2 of 2 overloads)">windows::basic_handle::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_io_service.html b/doc/html/boost_asio/reference/windows__basic_handle/get_io_service.html
new file mode 100644
index 0000000000..63c30d3a02
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="get_implementation/overload2.html" title="windows::basic_handle::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="windows::basic_handle::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::basic_handle::get_io_service">windows::basic_handle::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp174601984"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.windows__basic_handle.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_service.html b/doc/html/boost_asio/reference/windows__basic_handle/get_service.html
new file mode 100644
index 0000000000..452451c06b
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="get_io_service.html" title="windows::basic_handle::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="windows::basic_handle::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_service"></a><a class="link" href="get_service.html" title="windows::basic_handle::get_service">windows::basic_handle::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174620256"></a>
+Get the service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="windows::basic_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="windows::basic_handle::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="windows::basic_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="windows::basic_handle::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload1.html
new file mode 100644
index 0000000000..d2bd417909
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_handle::get_service">
+<link rel="prev" href="../get_service.html" title="windows::basic_handle::get_service">
+<link rel="next" href="overload2.html" title="windows::basic_handle::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_service.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::get_service (1 of 2 overloads)">windows::basic_handle::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload2.html
new file mode 100644
index 0000000000..6370e71445
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_handle::get_service">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="windows::basic_handle::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.get_service.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::get_service (2 of 2 overloads)">windows::basic_handle::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/implementation.html b/doc/html/boost_asio/reference/windows__basic_handle/implementation.html
new file mode 100644
index 0000000000..3ead7ef819
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="get_service/overload2.html" title="windows::basic_handle::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="windows::basic_handle::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.implementation"></a><a class="link" href="implementation.html" title="windows::basic_handle::implementation">windows::basic_handle::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp174650320"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.) The underlying implementation of the
+ I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/implementation_type.html b/doc/html/boost_asio/reference/windows__basic_handle/implementation_type.html
new file mode 100644
index 0000000000..b03d64b11a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="implementation.html" title="windows::basic_handle::implementation">
+<link rel="next" href="is_open.html" title="windows::basic_handle::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::basic_handle::implementation_type">windows::basic_handle::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp174659040"></a>
+The underlying implementation type
+ of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__basic_handle.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/is_open.html b/doc/html/boost_asio/reference/windows__basic_handle/is_open.html
new file mode 100644
index 0000000000..b3813d37af
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/is_open.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="implementation_type.html" title="windows::basic_handle::implementation_type">
+<link rel="next" href="lowest_layer.html" title="windows::basic_handle::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.is_open"></a><a class="link" href="is_open.html" title="windows::basic_handle::is_open">windows::basic_handle::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174672544"></a>
+Determine whether the handle is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer.html b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer.html
new file mode 100644
index 0000000000..a606bd3a76
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="is_open.html" title="windows::basic_handle::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer"></a><a class="link" href="lowest_layer.html" title="windows::basic_handle::lowest_layer">windows::basic_handle::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174679712"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload1.html b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload1.html
new file mode 100644
index 0000000000..72f726ae80
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload1.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_handle::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="windows::basic_handle::lowest_layer">
+<link rel="next" href="overload2.html" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">windows::basic_handle::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload2.html b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload2.html
new file mode 100644
index 0000000000..f0f08b8e13
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer/overload2.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_handle::lowest_layer">
+<link rel="prev" href="overload1.html" title="windows::basic_handle::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">windows::basic_handle::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_handle.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer_type.html b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer_type.html
new file mode 100644
index 0000000000..4da4924fd5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/lowest_layer_type.html
@@ -0,0 +1,426 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="lowest_layer/overload2.html" title="windows::basic_handle::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="windows::basic_handle::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type">windows::basic_handle::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174722544"></a>
+A <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">HandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation_type.html" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle_type.html" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_type.html" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service_type.html" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="assign.html" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_handle.html" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="cancel.html" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="close.html" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_io_service.html" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="is_open.html" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="lowest_layer.html" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native.html" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="native_handle.html" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="operator_eq_.html" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_handle from another.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_implementation.html" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="get_service.html" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="_basic_handle.html" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="implementation.html" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="service.html" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
+ the ability to wrap a Windows handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_handle.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/native.html b/doc/html/boost_asio/reference/windows__basic_handle/native.html
new file mode 100644
index 0000000000..cb0f23cc0e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/native.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="windows::basic_handle::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.native"></a><a class="link" href="native.html" title="windows::basic_handle::native">windows::basic_handle::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174844384"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/native_handle.html b/doc/html/boost_asio/reference/windows__basic_handle/native_handle.html
new file mode 100644
index 0000000000..bc8e6eb9cc
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/native_handle.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="native.html" title="windows::basic_handle::native">
+<link rel="next" href="native_handle_type.html" title="windows::basic_handle::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.native_handle"></a><a class="link" href="native_handle.html" title="windows::basic_handle::native_handle">windows::basic_handle::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174852752"></a>
+Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/native_handle_type.html b/doc/html/boost_asio/reference/windows__basic_handle/native_handle_type.html
new file mode 100644
index 0000000000..d2a1efafbc
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="native_handle.html" title="windows::basic_handle::native_handle">
+<link rel="next" href="native_type.html" title="windows::basic_handle::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::basic_handle::native_handle_type">windows::basic_handle::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174859408"></a>
+The native representation of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">HandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__basic_handle.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/native_type.html b/doc/html/boost_asio/reference/windows__basic_handle/native_type.html
new file mode 100644
index 0000000000..42b5429e4e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="native_handle_type.html" title="windows::basic_handle::native_handle_type">
+<link rel="next" href="operator_eq_.html" title="windows::basic_handle::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.native_type"></a><a class="link" href="native_type.html" title="windows::basic_handle::native_type">windows::basic_handle::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174873024"></a>
+(Deprecated: Use native_handle_type.) The
+ native representation of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">HandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.windows__basic_handle.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/operator_eq_.html b/doc/html/boost_asio/reference/windows__basic_handle/operator_eq_.html
new file mode 100644
index 0000000000..d4c60ada80
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/operator_eq_.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="native_type.html" title="windows::basic_handle::native_type">
+<link rel="next" href="service.html" title="windows::basic_handle::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.operator_eq_"></a><a class="link" href="operator_eq_.html" title="windows::basic_handle::operator=">windows::basic_handle::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp174886496"></a>
+Move-assign a <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_handle.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> object from
+ which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_handle.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/service.html b/doc/html/boost_asio/reference/windows__basic_handle/service.html
new file mode 100644
index 0000000000..1981feeb2f
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="operator_eq_.html" title="windows::basic_handle::operator=">
+<link rel="next" href="service_type.html" title="windows::basic_handle::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.service"></a><a class="link" href="service.html" title="windows::basic_handle::service">windows::basic_handle::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp174915120"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.windows__basic_handle.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_handle/service_type.html b/doc/html/boost_asio/reference/windows__basic_handle/service_type.html
new file mode 100644
index 0000000000..14d8192571
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_handle/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_handle::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_handle.html" title="windows::basic_handle">
+<link rel="prev" href="service.html" title="windows::basic_handle::service">
+<link rel="next" href="_basic_handle.html" title="windows::basic_handle::~basic_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_handle.service_type"></a><a class="link" href="service_type.html" title="windows::basic_handle::service_type">windows::basic_handle::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp174927568"></a>
+The type of the service that will be used
+ to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">HandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_handle.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_handle.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.windows__basic_handle.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="_basic_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle.html b/doc/html/boost_asio/reference/windows__basic_object_handle.html
new file mode 100644
index 0000000000..84eeb194b1
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle.html
@@ -0,0 +1,439 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__basic_handle/_basic_handle.html" title="windows::basic_handle::~basic_handle">
+<link rel="next" href="windows__basic_object_handle/assign.html" title="windows::basic_object_handle::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__basic_handle/_basic_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_object_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle"></a><a class="link" href="windows__basic_object_handle.html" title="windows::basic_object_handle">windows::basic_object_handle</a>
+</h3></div></div></div>
+<p>
+ Provides object-oriented handle functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="ObjectHandleService.html" title="Object handle service requirements">ObjectHandleService</a> <span class="special">=</span> <span class="identifier">object_handle_service</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_object_handle</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">ObjectHandleService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__basic_object_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.types"></a></span><a class="link" href="windows__basic_object_handle.html#boost_asio.reference.windows__basic_object_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/implementation_type.html" title="windows::basic_object_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/lowest_layer_type.html" title="windows::basic_object_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native_handle_type.html" title="windows::basic_object_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native_type.html" title="windows::basic_object_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/service_type.html" title="windows::basic_object_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_object_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.member_functions"></a></span><a class="link" href="windows__basic_object_handle.html#boost_asio.reference.windows__basic_object_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/assign.html" title="windows::basic_object_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/async_wait.html" title="windows::basic_object_handle::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the object handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle"><span class="bold"><strong>basic_object_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_object_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_object_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_object_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/cancel.html" title="windows::basic_object_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/close.html" title="windows::basic_object_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/get_io_service.html" title="windows::basic_object_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/is_open.html" title="windows::basic_object_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/lowest_layer.html" title="windows::basic_object_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native.html" title="windows::basic_object_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native_handle.html" title="windows::basic_object_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/operator_eq_.html" title="windows::basic_object_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_object_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/wait.html" title="windows::basic_object_handle::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the object handle.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_object_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.protected_member_functions"></a></span><a class="link" href="windows__basic_object_handle.html#boost_asio.reference.windows__basic_object_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/get_implementation.html" title="windows::basic_object_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/get_service.html" title="windows::basic_object_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_object_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.protected_data_members"></a></span><a class="link" href="windows__basic_object_handle.html#boost_asio.reference.windows__basic_object_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/implementation.html" title="windows::basic_object_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/service.html" title="windows::basic_object_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> class template
+ provides asynchronous and blocking object-oriented handle functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_object_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.thread_safety"></a></span><a class="link" href="windows__basic_object_handle.html#boost_asio.reference.windows__basic_object_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_object_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.requirements"></a></span><a class="link" href="windows__basic_object_handle.html#boost_asio.reference.windows__basic_object_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__basic_handle/_basic_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_object_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/assign.html b/doc/html/boost_asio/reference/windows__basic_object_handle/assign.html
new file mode 100644
index 0000000000..f4e04d023c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/assign.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="next" href="assign/overload1.html" title="windows::basic_object_handle::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.assign"></a><a class="link" href="assign.html" title="windows::basic_object_handle::assign">windows::basic_object_handle::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175076896"></a>
+Assign an existing native handle to the
+ handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="windows::basic_object_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="windows::basic_object_handle::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="windows::basic_object_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="windows::basic_object_handle::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload1.html
new file mode 100644
index 0000000000..683e4472aa
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_object_handle::assign">
+<link rel="prev" href="../assign.html" title="windows::basic_object_handle::assign">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.assign.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::assign (1 of 2 overloads)">windows::basic_object_handle::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload2.html
new file mode 100644
index 0000000000..b4d849ed17
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/assign/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_object_handle::assign">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::assign (1 of 2 overloads)">
+<link rel="next" href="../async_wait.html" title="windows::basic_object_handle::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_wait.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.assign.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::assign (2 of 2 overloads)">windows::basic_object_handle::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_wait.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/async_wait.html b/doc/html/boost_asio/reference/windows__basic_object_handle/async_wait.html
new file mode 100644
index 0000000000..c10a298fde
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/async_wait.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="assign/overload2.html" title="windows::basic_object_handle::assign (2 of 2 overloads)">
+<link rel="next" href="basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_object_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.async_wait"></a><a class="link" href="async_wait.html" title="windows::basic_object_handle::async_wait">windows::basic_object_handle::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175126592"></a>
+Start an asynchronous wait on the
+ object handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WaitHandler.html" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is be used to initiate an asynchronous wait against the object
+ handle. It always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.async_wait.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.async_wait.parameters"></a></span><a class="link" href="async_wait.html#boost_asio.reference.windows__basic_object_handle.async_wait.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the object handle is set to the signalled
+ state. Copies will be made of the handler as required. The function
+ signature of the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span> <span class="comment">// Result of operation.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_object_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle.html b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle.html
new file mode 100644
index 0000000000..2f7f720dda
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::basic_object_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="async_wait.html" title="windows::basic_object_handle::async_wait">
+<link rel="next" href="basic_object_handle/overload1.html" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_object_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle"></a><a class="link" href="basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle">windows::basic_object_handle::basic_object_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175158208"></a>
+Construct a <a class="link" href="../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_object_handle/overload1.html" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">basic_object_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_object_handle/overload1.html" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> on an existing
+ native handle.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_object_handle/overload2.html" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">basic_object_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_object_handle/overload2.html" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_object_handle/overload3.html" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">basic_object_handle</a><span class="special">(</span>
+ <span class="identifier">basic_object_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_object_handle/overload3.html" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_object_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload1.html
new file mode 100644
index 0000000000..30f4c38fe5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload1.html
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::basic_object_handle (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle">
+<link rel="prev" href="../basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">windows::basic_object_handle::basic_object_handle
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_object_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates an object handle without opening it.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the object handle will use to dispatch handlers for any asynchronous
+ operations performed on the handle.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_object_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload2.html
new file mode 100644
index 0000000000..2ca2a108af
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::basic_object_handle (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::basic_object_handle (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">windows::basic_object_handle::basic_object_handle
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> on an existing
+ native handle.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_object_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">native_handle</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates an object handle object to hold an existing
+ native handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the object handle will use to dispatch handlers for any asynchronous
+ operations performed on the handle.
+ </p></dd>
+<dt><span class="term">native_handle</span></dt>
+<dd><p>
+ The new underlying handle implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload3.html b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload3.html
new file mode 100644
index 0000000000..b6fde010c0
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/basic_object_handle/overload3.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::basic_object_handle (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle">
+<link rel="prev" href="overload2.html" title="windows::basic_object_handle::basic_object_handle (2 of 3 overloads)">
+<link rel="next" href="../cancel.html" title="windows::basic_object_handle::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3"></a><a class="link" href="overload3.html" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">windows::basic_object_handle::basic_object_handle
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_object_handle</span><span class="special">(</span>
+ <span class="identifier">basic_object_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves an object handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_object_handle.basic_object_handle.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_object_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_object_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/cancel.html b/doc/html/boost_asio/reference/windows__basic_object_handle/cancel.html
new file mode 100644
index 0000000000..d1b30554f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="basic_object_handle/overload3.html" title="windows::basic_object_handle::basic_object_handle (3 of 3 overloads)">
+<link rel="next" href="cancel/overload1.html" title="windows::basic_object_handle::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_object_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.cancel"></a><a class="link" href="cancel.html" title="windows::basic_object_handle::cancel">windows::basic_object_handle::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175273424"></a>
+Cancel all asynchronous operations associated
+ with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="windows::basic_object_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="windows::basic_object_handle::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="windows::basic_object_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="windows::basic_object_handle::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_object_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload1.html
new file mode 100644
index 0000000000..7a68d003ce
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_object_handle::cancel">
+<link rel="prev" href="../cancel.html" title="windows::basic_object_handle::cancel">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::cancel (1 of 2 overloads)">windows::basic_object_handle::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_object_handle.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload2.html
new file mode 100644
index 0000000000..2f6cbc490f
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/cancel/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_object_handle::cancel">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="windows::basic_object_handle::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::cancel (2 of 2 overloads)">windows::basic_object_handle::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_object_handle.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/close.html b/doc/html/boost_asio/reference/windows__basic_object_handle/close.html
new file mode 100644
index 0000000000..dfebd11526
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="cancel/overload2.html" title="windows::basic_object_handle::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="windows::basic_object_handle::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.close"></a><a class="link" href="close.html" title="windows::basic_object_handle::close">windows::basic_object_handle::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175330624"></a>
+Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="windows::basic_object_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="windows::basic_object_handle::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="windows::basic_object_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="windows::basic_object_handle::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload1.html
new file mode 100644
index 0000000000..0362165f50
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_object_handle::close">
+<link rel="prev" href="../close.html" title="windows::basic_object_handle::close">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.close.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::close (1 of 2 overloads)">windows::basic_object_handle::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_object_handle.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload2.html
new file mode 100644
index 0000000000..b3a0b07555
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/close/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_object_handle::close">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="windows::basic_object_handle::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.close.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::close (2 of 2 overloads)">windows::basic_object_handle::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_object_handle.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation.html
new file mode 100644
index 0000000000..0b93844f16
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="close/overload2.html" title="windows::basic_object_handle::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_implementation"></a><a class="link" href="get_implementation.html" title="windows::basic_object_handle::get_implementation">windows::basic_object_handle::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175387632"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload1.html
new file mode 100644
index 0000000000..f1f2731db9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_object_handle::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="windows::basic_object_handle::get_implementation">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_implementation.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">windows::basic_object_handle::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload2.html
new file mode 100644
index 0000000000..85bd0ea333
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_object_handle::get_implementation">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="windows::basic_object_handle::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_implementation.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">windows::basic_object_handle::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_io_service.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_io_service.html
new file mode 100644
index 0000000000..488b932e68
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="get_implementation/overload2.html" title="windows::basic_object_handle::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="windows::basic_object_handle::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::basic_object_handle::get_io_service">windows::basic_object_handle::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175418096"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.windows__basic_object_handle.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_service.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_service.html
new file mode 100644
index 0000000000..2bb6fe59d4
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="get_io_service.html" title="windows::basic_object_handle::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="windows::basic_object_handle::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_service"></a><a class="link" href="get_service.html" title="windows::basic_object_handle::get_service">windows::basic_object_handle::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175436400"></a>
+Get the service associated with
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="windows::basic_object_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="windows::basic_object_handle::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="windows::basic_object_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="windows::basic_object_handle::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload1.html
new file mode 100644
index 0000000000..bbbd2961b6
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_object_handle::get_service">
+<link rel="prev" href="../get_service.html" title="windows::basic_object_handle::get_service">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_service.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::get_service (1 of 2 overloads)">windows::basic_object_handle::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload2.html
new file mode 100644
index 0000000000..2b48461292
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_object_handle::get_service">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="windows::basic_object_handle::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.get_service.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::get_service (2 of 2 overloads)">windows::basic_object_handle::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/implementation.html b/doc/html/boost_asio/reference/windows__basic_object_handle/implementation.html
new file mode 100644
index 0000000000..15cec676f2
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="get_service/overload2.html" title="windows::basic_object_handle::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="windows::basic_object_handle::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.implementation"></a><a class="link" href="implementation.html" title="windows::basic_object_handle::implementation">windows::basic_object_handle::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175466496"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
+ The underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/implementation_type.html b/doc/html/boost_asio/reference/windows__basic_object_handle/implementation_type.html
new file mode 100644
index 0000000000..fa77a5f326
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="implementation.html" title="windows::basic_object_handle::implementation">
+<link rel="next" href="is_open.html" title="windows::basic_object_handle::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::basic_object_handle::implementation_type">windows::basic_object_handle::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175475232"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__basic_object_handle.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/is_open.html b/doc/html/boost_asio/reference/windows__basic_object_handle/is_open.html
new file mode 100644
index 0000000000..c39f6f5c99
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="implementation_type.html" title="windows::basic_object_handle::implementation_type">
+<link rel="next" href="lowest_layer.html" title="windows::basic_object_handle::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.is_open"></a><a class="link" href="is_open.html" title="windows::basic_object_handle::is_open">windows::basic_object_handle::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175489568"></a>
+Determine whether the handle is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer.html b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer.html
new file mode 100644
index 0000000000..9e031b4c4c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="is_open.html" title="windows::basic_object_handle::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer"></a><a class="link" href="lowest_layer.html" title="windows::basic_object_handle::lowest_layer">windows::basic_object_handle::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175496832"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload1.html
new file mode 100644
index 0000000000..d7d81ccc2e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_object_handle::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="windows::basic_object_handle::lowest_layer">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">windows::basic_object_handle::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload2.html
new file mode 100644
index 0000000000..7d40b3069e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_object_handle::lowest_layer">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="windows::basic_object_handle::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">windows::basic_object_handle::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_object_handle.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer_type.html b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer_type.html
new file mode 100644
index 0000000000..b1341192dc
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/lowest_layer_type.html
@@ -0,0 +1,429 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="lowest_layer/overload2.html" title="windows::basic_object_handle::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="windows::basic_object_handle::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="windows::basic_object_handle::lowest_layer_type">windows::basic_object_handle::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175542320"></a>
+A <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">ObjectHandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/implementation_type.html" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_handle_type.html" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_type.html" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/service_type.html" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/assign.html" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/basic_handle.html" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/cancel.html" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/close.html" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_io_service.html" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/is_open.html" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/lowest_layer.html" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native.html" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_handle.html" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/operator_eq_.html" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_handle from another.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_implementation.html" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_service.html" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/_basic_handle.html" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/implementation.html" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/service.html" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
+ the ability to wrap a Windows handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_object_handle.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/native.html b/doc/html/boost_asio/reference/windows__basic_object_handle/native.html
new file mode 100644
index 0000000000..05a436f19b
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="lowest_layer_type.html" title="windows::basic_object_handle::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="windows::basic_object_handle::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.native"></a><a class="link" href="native.html" title="windows::basic_object_handle::native">windows::basic_object_handle::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175665152"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle.html b/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle.html
new file mode 100644
index 0000000000..92e2591297
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="native.html" title="windows::basic_object_handle::native">
+<link rel="next" href="native_handle_type.html" title="windows::basic_object_handle::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.native_handle"></a><a class="link" href="native_handle.html" title="windows::basic_object_handle::native_handle">windows::basic_object_handle::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175674432"></a>
+Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle_type.html b/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle_type.html
new file mode 100644
index 0000000000..7573fd8312
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="native_handle.html" title="windows::basic_object_handle::native_handle">
+<link rel="next" href="native_type.html" title="windows::basic_object_handle::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::basic_object_handle::native_handle_type">windows::basic_object_handle::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175681168"></a>
+The native representation
+ of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ObjectHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__basic_object_handle.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/native_type.html b/doc/html/boost_asio/reference/windows__basic_object_handle/native_type.html
new file mode 100644
index 0000000000..028034d9a9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/native_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="native_handle_type.html" title="windows::basic_object_handle::native_handle_type">
+<link rel="next" href="operator_eq_.html" title="windows::basic_object_handle::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.native_type"></a><a class="link" href="native_type.html" title="windows::basic_object_handle::native_type">windows::basic_object_handle::native_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp175695536"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ObjectHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.windows__basic_object_handle.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/operator_eq_.html b/doc/html/boost_asio/reference/windows__basic_object_handle/operator_eq_.html
new file mode 100644
index 0000000000..424054d413
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/operator_eq_.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="native_type.html" title="windows::basic_object_handle::native_type">
+<link rel="next" href="service.html" title="windows::basic_object_handle::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.operator_eq_"></a><a class="link" href="operator_eq_.html" title="windows::basic_object_handle::operator=">windows::basic_object_handle::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175709104"></a>
+Move-assign a <a class="link" href="../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_object_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_object_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves an object handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_object_handle.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_object_handle.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_object_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/service.html b/doc/html/boost_asio/reference/windows__basic_object_handle/service.html
new file mode 100644
index 0000000000..421731651f
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="operator_eq_.html" title="windows::basic_object_handle::operator=">
+<link rel="next" href="service_type.html" title="windows::basic_object_handle::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.service"></a><a class="link" href="service.html" title="windows::basic_object_handle::service">windows::basic_object_handle::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99149776"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.windows__basic_object_handle.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/service_type.html b/doc/html/boost_asio/reference/windows__basic_object_handle/service_type.html
new file mode 100644
index 0000000000..6f026fbffc
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="service.html" title="windows::basic_object_handle::service">
+<link rel="next" href="wait.html" title="windows::basic_object_handle::wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.service_type"></a><a class="link" href="service_type.html" title="windows::basic_object_handle::service_type">windows::basic_object_handle::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp99161904"></a>
+The type of the service that will
+ be used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">ObjectHandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.windows__basic_object_handle.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/wait.html b/doc/html/boost_asio/reference/windows__basic_object_handle/wait.html
new file mode 100644
index 0000000000..2fe25175c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/wait.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_object_handle.html" title="windows::basic_object_handle">
+<link rel="prev" href="service_type.html" title="windows::basic_object_handle::service_type">
+<link rel="next" href="wait/overload1.html" title="windows::basic_object_handle::wait (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.wait"></a><a class="link" href="wait.html" title="windows::basic_object_handle::wait">windows::basic_object_handle::wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp99173712"></a>
+Perform a blocking wait on the object handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="wait/overload1.html" title="windows::basic_object_handle::wait (1 of 2 overloads)">wait</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="wait/overload1.html" title="windows::basic_object_handle::wait (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">void</span> <a class="link" href="wait/overload2.html" title="windows::basic_object_handle::wait (2 of 2 overloads)">wait</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="wait/overload2.html" title="windows::basic_object_handle::wait (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_object_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload1.html b/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload1.html
new file mode 100644
index 0000000000..6119fe143e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload1.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::wait (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait.html" title="windows::basic_object_handle::wait">
+<link rel="prev" href="../wait.html" title="windows::basic_object_handle::wait">
+<link rel="next" href="overload2.html" title="windows::basic_object_handle::wait (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../wait.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.wait.overload1"></a><a class="link" href="overload1.html" title="windows::basic_object_handle::wait (1 of 2 overloads)">windows::basic_object_handle::wait
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a blocking wait on the object handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to wait for the object handle to be set to the
+ signalled state. This function blocks and does not return until the object
+ handle has been set to the signalled state.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.wait.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.wait.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_object_handle.wait.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../wait.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload2.html b/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload2.html
new file mode 100644
index 0000000000..f27a84ce15
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_object_handle/wait/overload2.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_object_handle::wait (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../wait.html" title="windows::basic_object_handle::wait">
+<link rel="prev" href="overload1.html" title="windows::basic_object_handle::wait (1 of 2 overloads)">
+<link rel="next" href="../../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../windows__basic_random_access_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_object_handle.wait.overload2"></a><a class="link" href="overload2.html" title="windows::basic_object_handle::wait (2 of 2 overloads)">windows::basic_object_handle::wait
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Perform a blocking wait on the object handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to wait for the object handle to be set to the
+ signalled state. This function blocks and does not return until the object
+ handle has been set to the signalled state.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_object_handle.wait.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_object_handle.wait.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_object_handle.wait.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../wait.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../windows__basic_random_access_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle.html
new file mode 100644
index 0000000000..c525925084
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle.html
@@ -0,0 +1,463 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__basic_object_handle/wait/overload2.html" title="windows::basic_object_handle::wait (2 of 2 overloads)">
+<link rel="next" href="windows__basic_random_access_handle/assign.html" title="windows::basic_random_access_handle::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__basic_object_handle/wait/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_random_access_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle"></a><a class="link" href="windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">windows::basic_random_access_handle</a>
+</h3></div></div></div>
+<p>
+ Provides random-access handle functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="RandomAccessHandleService.html" title="Random access handle service requirements">RandomAccessHandleService</a> <span class="special">=</span> <span class="identifier">random_access_handle_service</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_random_access_handle</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">RandomAccessHandleService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__basic_random_access_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.types"></a></span><a class="link" href="windows__basic_random_access_handle.html#boost_asio.reference.windows__basic_random_access_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/implementation_type.html" title="windows::basic_random_access_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/lowest_layer_type.html" title="windows::basic_random_access_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native_handle_type.html" title="windows::basic_random_access_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native_type.html" title="windows::basic_random_access_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/service_type.html" title="windows::basic_random_access_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_random_access_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.member_functions"></a></span><a class="link" href="windows__basic_random_access_handle.html#boost_asio.reference.windows__basic_random_access_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/assign.html" title="windows::basic_random_access_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/async_read_some_at.html" title="windows::basic_random_access_handle::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/async_write_some_at.html" title="windows::basic_random_access_handle::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle"><span class="bold"><strong>basic_random_access_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_random_access_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_random_access_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_random_access_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/cancel.html" title="windows::basic_random_access_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/close.html" title="windows::basic_random_access_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/get_io_service.html" title="windows::basic_random_access_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/is_open.html" title="windows::basic_random_access_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native.html" title="windows::basic_random_access_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native_handle.html" title="windows::basic_random_access_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/operator_eq_.html" title="windows::basic_random_access_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_random_access_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/read_some_at.html" title="windows::basic_random_access_handle::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the handle at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/write_some_at.html" title="windows::basic_random_access_handle::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the handle at the specified offset.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_random_access_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.protected_member_functions"></a></span><a class="link" href="windows__basic_random_access_handle.html#boost_asio.reference.windows__basic_random_access_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/get_implementation.html" title="windows::basic_random_access_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/get_service.html" title="windows::basic_random_access_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_random_access_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.protected_data_members"></a></span><a class="link" href="windows__basic_random_access_handle.html#boost_asio.reference.windows__basic_random_access_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/implementation.html" title="windows::basic_random_access_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/service.html" title="windows::basic_random_access_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> class
+ template provides asynchronous and blocking random-access handle functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_random_access_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.thread_safety"></a></span><a class="link" href="windows__basic_random_access_handle.html#boost_asio.reference.windows__basic_random_access_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_random_access_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.requirements"></a></span><a class="link" href="windows__basic_random_access_handle.html#boost_asio.reference.windows__basic_random_access_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__basic_object_handle/wait/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_random_access_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign.html
new file mode 100644
index 0000000000..ca394139d5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="next" href="assign/overload1.html" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.assign"></a><a class="link" href="assign.html" title="windows::basic_random_access_handle::assign">windows::basic_random_access_handle::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175831392"></a>
+Assign an existing native handle
+ to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload1.html
new file mode 100644
index 0000000000..1c782610af
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_random_access_handle::assign">
+<link rel="prev" href="../assign.html" title="windows::basic_random_access_handle::assign">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.assign.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">windows::basic_random_access_handle::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload2.html
new file mode 100644
index 0000000000..a2cffff922
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/assign/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_random_access_handle::assign">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::assign (1 of 2 overloads)">
+<link rel="next" href="../async_read_some_at.html" title="windows::basic_random_access_handle::async_read_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some_at.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.assign.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">windows::basic_random_access_handle::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some_at.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_read_some_at.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_read_some_at.html
new file mode 100644
index 0000000000..fe056743d7
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_read_some_at.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::async_read_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="assign/overload2.html" title="windows::basic_random_access_handle::assign (2 of 2 overloads)">
+<link rel="next" href="async_write_some_at.html" title="windows::basic_random_access_handle::async_write_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at"></a><a class="link" href="async_read_some_at.html" title="windows::basic_random_access_handle::async_read_some_at">windows::basic_random_access_handle::async_read_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175876352"></a>
+Start an asynchronous
+ read at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some_at</span><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data from the random-access
+ handle. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.parameters"></a></span><a class="link" href="async_read_some_at.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.remarks"></a></span><a class="link" href="async_read_some_at.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.remarks">Remarks</a>
+ </h6>
+<p>
+ The read operation may not read all of the requested number of bytes. Consider
+ using the <a class="link" href="../async_read_at.html" title="async_read_at"><code class="computeroutput"><span class="identifier">async_read_at</span></code></a> function if you
+ need to ensure that the requested amount of data is read before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.example"></a></span><a class="link" href="async_read_some_at.html#boost_asio.reference.windows__basic_random_access_handle.async_read_some_at.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_read_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_write_some_at.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_write_some_at.html
new file mode 100644
index 0000000000..4d740a7af9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/async_write_some_at.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::async_write_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="async_read_some_at.html" title="windows::basic_random_access_handle::async_read_some_at">
+<link rel="next" href="basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_random_access_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at"></a><a class="link" href="async_write_some_at.html" title="windows::basic_random_access_handle::async_write_some_at">windows::basic_random_access_handle::async_write_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp175938688"></a>
+Start an asynchronous
+ write at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some_at</span><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write data to the random-access
+ handle. The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.parameters"></a></span><a class="link" href="async_write_some_at.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the handle. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.remarks"></a></span><a class="link" href="async_write_some_at.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.remarks">Remarks</a>
+ </h6>
+<p>
+ The write operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../async_write_at.html" title="async_write_at"><code class="computeroutput"><span class="identifier">async_write_at</span></code></a> function if you
+ need to ensure that all data is written before the asynchronous operation
+ completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.example"></a></span><a class="link" href="async_write_some_at.html#boost_asio.reference.windows__basic_random_access_handle.async_write_some_at.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_read_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_random_access_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle.html
new file mode 100644
index 0000000000..f47024144e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::basic_random_access_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="async_write_some_at.html" title="windows::basic_random_access_handle::async_write_some_at">
+<link rel="next" href="basic_random_access_handle/overload1.html" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_random_access_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle"></a><a class="link" href="basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle">windows::basic_random_access_handle::basic_random_access_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176001008"></a>
+Construct
+ a <a class="link" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_random_access_handle/overload1.html" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">basic_random_access_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_random_access_handle/overload1.html" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> on
+ an existing native handle.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_random_access_handle/overload2.html" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">basic_random_access_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_random_access_handle/overload2.html" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> from
+ another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_random_access_handle/overload3.html" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">basic_random_access_handle</a><span class="special">(</span>
+ <span class="identifier">basic_random_access_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_random_access_handle/overload3.html" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_random_access_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload1.html
new file mode 100644
index 0000000000..00c9f64f52
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload1.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle">
+<link rel="prev" href="../basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">windows::basic_random_access_handle::basic_random_access_handle
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_random_access_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a random-access handle without opening it. The
+ handle needs to be opened before data can be written to or read from
+ it.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the random-access handle will use to dispatch handlers for any
+ asynchronous operations performed on the handle.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload2.html
new file mode 100644
index 0000000000..8a2e3ac1c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::basic_random_access_handle (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">windows::basic_random_access_handle::basic_random_access_handle
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> on
+ an existing native handle.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_random_access_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a random-access handle object to hold an existing
+ native handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the random-access handle will use to dispatch handlers for any
+ asynchronous operations performed on the handle.
+ </p></dd>
+<dt><span class="term">handle</span></dt>
+<dd><p>
+ The new underlying handle implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload3.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload3.html
new file mode 100644
index 0000000000..57bba2181a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/basic_random_access_handle/overload3.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle">
+<link rel="prev" href="overload2.html" title="windows::basic_random_access_handle::basic_random_access_handle (2 of 3 overloads)">
+<link rel="next" href="../cancel.html" title="windows::basic_random_access_handle::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3"></a><a class="link" href="overload3.html" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">windows::basic_random_access_handle::basic_random_access_handle
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> from
+ another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_random_access_handle</span><span class="special">(</span>
+ <span class="identifier">basic_random_access_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a random-access handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_random_access_handle.basic_random_access_handle.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_random_access_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span></code> constructor.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_random_access_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel.html
new file mode 100644
index 0000000000..71e8c7a129
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="basic_random_access_handle/overload3.html" title="windows::basic_random_access_handle::basic_random_access_handle (3 of 3 overloads)">
+<link rel="next" href="cancel/overload1.html" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_random_access_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.cancel"></a><a class="link" href="cancel.html" title="windows::basic_random_access_handle::cancel">windows::basic_random_access_handle::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176102960"></a>
+Cancel all asynchronous operations
+ associated with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_random_access_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload1.html
new file mode 100644
index 0000000000..06f88a4eef
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_random_access_handle::cancel">
+<link rel="prev" href="../cancel.html" title="windows::basic_random_access_handle::cancel">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">windows::basic_random_access_handle::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload2.html
new file mode 100644
index 0000000000..9e25e10a5e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/cancel/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_random_access_handle::cancel">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="windows::basic_random_access_handle::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">windows::basic_random_access_handle::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/close.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/close.html
new file mode 100644
index 0000000000..231542c2d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="cancel/overload2.html" title="windows::basic_random_access_handle::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="windows::basic_random_access_handle::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.close"></a><a class="link" href="close.html" title="windows::basic_random_access_handle::close">windows::basic_random_access_handle::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176154352"></a>
+Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="windows::basic_random_access_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="windows::basic_random_access_handle::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="windows::basic_random_access_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="windows::basic_random_access_handle::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload1.html
new file mode 100644
index 0000000000..9fc0ff3b45
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_random_access_handle::close">
+<link rel="prev" href="../close.html" title="windows::basic_random_access_handle::close">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::close (1 of 2 overloads)">windows::basic_random_access_handle::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload2.html
new file mode 100644
index 0000000000..2f312538e4
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/close/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_random_access_handle::close">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="windows::basic_random_access_handle::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::close (2 of 2 overloads)">windows::basic_random_access_handle::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation.html
new file mode 100644
index 0000000000..bf379d8a76
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="close/overload2.html" title="windows::basic_random_access_handle::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_implementation"></a><a class="link" href="get_implementation.html" title="windows::basic_random_access_handle::get_implementation">windows::basic_random_access_handle::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176205568"></a>
+Get the underlying
+ implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload1.html
new file mode 100644
index 0000000000..bbd3bb3ba1
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_random_access_handle::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="windows::basic_random_access_handle::get_implementation">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">windows::basic_random_access_handle::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload2.html
new file mode 100644
index 0000000000..57c116feb8
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_random_access_handle::get_implementation">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="windows::basic_random_access_handle::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_implementation.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">windows::basic_random_access_handle::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_io_service.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_io_service.html
new file mode 100644
index 0000000000..d44f724860
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="get_implementation/overload2.html" title="windows::basic_random_access_handle::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="windows::basic_random_access_handle::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::basic_random_access_handle::get_io_service">windows::basic_random_access_handle::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176232784"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.windows__basic_random_access_handle.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service.html
new file mode 100644
index 0000000000..54fb3e59bb
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="get_io_service.html" title="windows::basic_random_access_handle::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_service"></a><a class="link" href="get_service.html" title="windows::basic_random_access_handle::get_service">windows::basic_random_access_handle::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176248256"></a>
+Get the service associated
+ with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload1.html
new file mode 100644
index 0000000000..61c2aaa97a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_random_access_handle::get_service">
+<link rel="prev" href="../get_service.html" title="windows::basic_random_access_handle::get_service">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_service.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">windows::basic_random_access_handle::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload2.html
new file mode 100644
index 0000000000..630df50f64
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_random_access_handle::get_service">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="windows::basic_random_access_handle::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.get_service.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">windows::basic_random_access_handle::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation.html
new file mode 100644
index 0000000000..86e0b890f7
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="get_service/overload2.html" title="windows::basic_random_access_handle::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="windows::basic_random_access_handle::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.implementation"></a><a class="link" href="implementation.html" title="windows::basic_random_access_handle::implementation">windows::basic_random_access_handle::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176275344"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
+ The underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation_type.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation_type.html
new file mode 100644
index 0000000000..2841e118e4
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="implementation.html" title="windows::basic_random_access_handle::implementation">
+<link rel="next" href="is_open.html" title="windows::basic_random_access_handle::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::basic_random_access_handle::implementation_type">windows::basic_random_access_handle::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176283072"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__basic_random_access_handle.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/is_open.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/is_open.html
new file mode 100644
index 0000000000..5e8b5ffa0f
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/is_open.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="implementation_type.html" title="windows::basic_random_access_handle::implementation_type">
+<link rel="next" href="lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.is_open"></a><a class="link" href="is_open.html" title="windows::basic_random_access_handle::is_open">windows::basic_random_access_handle::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176295968"></a>
+Determine whether the handle
+ is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer.html
new file mode 100644
index 0000000000..1fa543d92d
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="is_open.html" title="windows::basic_random_access_handle::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer"></a><a class="link" href="lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer">windows::basic_random_access_handle::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176302496"></a>
+Get a reference to the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload1.html
new file mode 100644
index 0000000000..3d69d23bb0
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">windows::basic_random_access_handle::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload2.html
new file mode 100644
index 0000000000..494d47d3c5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="windows::basic_random_access_handle::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">windows::basic_random_access_handle::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer_type.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer_type.html
new file mode 100644
index 0000000000..ac56e6b8be
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/lowest_layer_type.html
@@ -0,0 +1,429 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="lowest_layer/overload2.html" title="windows::basic_random_access_handle::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="windows::basic_random_access_handle::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="windows::basic_random_access_handle::lowest_layer_type">windows::basic_random_access_handle::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176342544"></a>
+A <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">RandomAccessHandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/implementation_type.html" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_handle_type.html" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_type.html" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/service_type.html" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/assign.html" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/basic_handle.html" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/cancel.html" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/close.html" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_io_service.html" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/is_open.html" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/lowest_layer.html" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native.html" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_handle.html" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/operator_eq_.html" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_handle from another.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_implementation.html" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_service.html" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/_basic_handle.html" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/implementation.html" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/service.html" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
+ the ability to wrap a Windows handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_random_access_handle.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/native.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native.html
new file mode 100644
index 0000000000..a12c0f805c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="lowest_layer_type.html" title="windows::basic_random_access_handle::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="windows::basic_random_access_handle::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.native"></a><a class="link" href="native.html" title="windows::basic_random_access_handle::native">windows::basic_random_access_handle::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176454896"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.)
+ Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle.html
new file mode 100644
index 0000000000..f71f387957
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="native.html" title="windows::basic_random_access_handle::native">
+<link rel="next" href="native_handle_type.html" title="windows::basic_random_access_handle::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.native_handle"></a><a class="link" href="native_handle.html" title="windows::basic_random_access_handle::native_handle">windows::basic_random_access_handle::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176463184"></a>
+Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle_type.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle_type.html
new file mode 100644
index 0000000000..2a6d0f3972
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="native_handle.html" title="windows::basic_random_access_handle::native_handle">
+<link rel="next" href="native_type.html" title="windows::basic_random_access_handle::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::basic_random_access_handle::native_handle_type">windows::basic_random_access_handle::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176469200"></a>
+The native representation
+ of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RandomAccessHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__basic_random_access_handle.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_type.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_type.html
new file mode 100644
index 0000000000..351cc62fe9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="native_handle_type.html" title="windows::basic_random_access_handle::native_handle_type">
+<link rel="next" href="operator_eq_.html" title="windows::basic_random_access_handle::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.native_type"></a><a class="link" href="native_type.html" title="windows::basic_random_access_handle::native_type">windows::basic_random_access_handle::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176481248"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RandomAccessHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.windows__basic_random_access_handle.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/operator_eq_.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/operator_eq_.html
new file mode 100644
index 0000000000..ab0f12cee6
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/operator_eq_.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="native_type.html" title="windows::basic_random_access_handle::native_type">
+<link rel="next" href="read_some_at.html" title="windows::basic_random_access_handle::read_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_"></a><a class="link" href="operator_eq_.html" title="windows::basic_random_access_handle::operator=">windows::basic_random_access_handle::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176493232"></a>
+Move-assign a <a class="link" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> from
+ another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_random_access_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_random_access_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a random-access handle from one object to
+ another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a>
+ object from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_random_access_handle.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_random_access_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span></code> constructor.
+ </p>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at.html
new file mode 100644
index 0000000000..7d0c37aeff
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::read_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="operator_eq_.html" title="windows::basic_random_access_handle::operator=">
+<link rel="next" href="read_some_at/overload1.html" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at"></a><a class="link" href="read_some_at.html" title="windows::basic_random_access_handle::read_some_at">windows::basic_random_access_handle::read_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176517200"></a>
+Read some data from the
+ handle at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some_at/overload1.html" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">read_some_at</a><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some_at/overload1.html" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some_at/overload2.html" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">read_some_at</a><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some_at/overload2.html" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload1.html
new file mode 100644
index 0000000000..88d6432a0c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload1.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::read_some_at (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some_at.html" title="windows::basic_random_access_handle::read_some_at">
+<link rel="prev" href="../read_some_at.html" title="windows::basic_random_access_handle::read_some_at">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">windows::basic_random_access_handle::read_some_at
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the handle at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some_at</span><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the random-access handle. The
+ function call will block until one or more bytes of data has been read
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read_at.html" title="read_at"><code class="computeroutput"><span class="identifier">read_at</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">read_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../read_some_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload2.html
new file mode 100644
index 0000000000..8ba6990414
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/read_some_at/overload2.html
@@ -0,0 +1,98 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::read_some_at (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some_at.html" title="windows::basic_random_access_handle::read_some_at">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::read_some_at (1 of 2 overloads)">
+<link rel="next" href="../service.html" title="windows::basic_random_access_handle::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">windows::basic_random_access_handle::read_some_at
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the handle at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some_at</span><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the random-access handle. The
+ function call will block until one or more bytes of data has been read
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be read.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.read_some_at.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read_at.html" title="read_at"><code class="computeroutput"><span class="identifier">read_at</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/service.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/service.html
new file mode 100644
index 0000000000..db32f466d1
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="read_some_at/overload2.html" title="windows::basic_random_access_handle::read_some_at (2 of 2 overloads)">
+<link rel="next" href="service_type.html" title="windows::basic_random_access_handle::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.service"></a><a class="link" href="service.html" title="windows::basic_random_access_handle::service">windows::basic_random_access_handle::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176634064"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.)
+ The service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.windows__basic_random_access_handle.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="read_some_at/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/service_type.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/service_type.html
new file mode 100644
index 0000000000..fda7aad5b5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="service.html" title="windows::basic_random_access_handle::service">
+<link rel="next" href="write_some_at.html" title="windows::basic_random_access_handle::write_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.service_type"></a><a class="link" href="service_type.html" title="windows::basic_random_access_handle::service_type">windows::basic_random_access_handle::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp176645136"></a>
+The type of the service
+ that will be used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">RandomAccessHandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.windows__basic_random_access_handle.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at.html
new file mode 100644
index 0000000000..e1630c8087
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::write_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_random_access_handle.html" title="windows::basic_random_access_handle">
+<link rel="prev" href="service_type.html" title="windows::basic_random_access_handle::service_type">
+<link rel="next" href="write_some_at/overload1.html" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at"></a><a class="link" href="write_some_at.html" title="windows::basic_random_access_handle::write_some_at">windows::basic_random_access_handle::write_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176656256"></a>
+Write some data to the
+ handle at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some_at/overload1.html" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">write_some_at</a><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some_at/overload1.html" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some_at/overload2.html" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">write_some_at</a><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some_at/overload2.html" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_random_access_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some_at/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload1.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload1.html
new file mode 100644
index 0000000000..aa939bfea4
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload1.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::write_some_at (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some_at.html" title="windows::basic_random_access_handle::write_some_at">
+<link rel="prev" href="../write_some_at.html" title="windows::basic_random_access_handle::write_some_at">
+<link rel="next" href="overload2.html" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1"></a><a class="link" href="overload1.html" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">windows::basic_random_access_handle::write_some_at
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the handle at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some_at</span><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the random-access handle. The
+ function call will block until one or more bytes of the data has been
+ written successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the handle.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some_at operation may not write all of the data. Consider using
+ the <a class="link" href="../../write_at.html" title="write_at"><code class="computeroutput"><span class="identifier">write_at</span></code></a>
+ function if you need to ensure that all data is written before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">write_some_at</span><span class="special">(</span><span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../write_some_at.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload2.html b/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload2.html
new file mode 100644
index 0000000000..60000c5887
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_random_access_handle/write_some_at/overload2.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_random_access_handle::write_some_at (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some_at.html" title="windows::basic_random_access_handle::write_some_at">
+<link rel="prev" href="overload1.html" title="windows::basic_random_access_handle::write_some_at (1 of 2 overloads)">
+<link rel="next" href="../../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../windows__basic_stream_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2"></a><a class="link" href="overload2.html" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">windows::basic_random_access_handle::write_some_at
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the handle at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some_at</span><span class="special">(</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the random-access handle. The
+ function call will block until one or more bytes of the data has been
+ written successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the handle.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_random_access_handle.write_some_at.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write_at.html" title="write_at"><code class="computeroutput"><span class="identifier">write_at</span></code></a> function if you need
+ to ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some_at.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../windows__basic_stream_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle.html b/doc/html/boost_asio/reference/windows__basic_stream_handle.html
new file mode 100644
index 0000000000..db65221502
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle.html
@@ -0,0 +1,463 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__basic_random_access_handle/write_some_at/overload2.html" title="windows::basic_random_access_handle::write_some_at (2 of 2 overloads)">
+<link rel="next" href="windows__basic_stream_handle/assign.html" title="windows::basic_stream_handle::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__basic_random_access_handle/write_some_at/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_stream_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle"></a><a class="link" href="windows__basic_stream_handle.html" title="windows::basic_stream_handle">windows::basic_stream_handle</a>
+</h3></div></div></div>
+<p>
+ Provides stream-oriented handle functionality.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="StreamHandleService.html" title="Stream handle service requirements">StreamHandleService</a> <span class="special">=</span> <span class="identifier">stream_handle_service</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_stream_handle</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">StreamHandleService</span> <span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__basic_stream_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.types"></a></span><a class="link" href="windows__basic_stream_handle.html#boost_asio.reference.windows__basic_stream_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/implementation_type.html" title="windows::basic_stream_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/lowest_layer_type.html" title="windows::basic_stream_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native_handle_type.html" title="windows::basic_stream_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native_type.html" title="windows::basic_stream_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/service_type.html" title="windows::basic_stream_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_stream_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.member_functions"></a></span><a class="link" href="windows__basic_stream_handle.html#boost_asio.reference.windows__basic_stream_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/assign.html" title="windows::basic_stream_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/async_read_some.html" title="windows::basic_stream_handle::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/async_write_some.html" title="windows::basic_stream_handle::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle"><span class="bold"><strong>basic_stream_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_stream_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_stream_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/cancel.html" title="windows::basic_stream_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/close.html" title="windows::basic_stream_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/get_io_service.html" title="windows::basic_stream_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/is_open.html" title="windows::basic_stream_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/lowest_layer.html" title="windows::basic_stream_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native.html" title="windows::basic_stream_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native_handle.html" title="windows::basic_stream_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/operator_eq_.html" title="windows::basic_stream_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/read_some.html" title="windows::basic_stream_handle::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/write_some.html" title="windows::basic_stream_handle::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the handle.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_stream_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.protected_member_functions"></a></span><a class="link" href="windows__basic_stream_handle.html#boost_asio.reference.windows__basic_stream_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/get_implementation.html" title="windows::basic_stream_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/get_service.html" title="windows::basic_stream_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__basic_stream_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.protected_data_members"></a></span><a class="link" href="windows__basic_stream_handle.html#boost_asio.reference.windows__basic_stream_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/implementation.html" title="windows::basic_stream_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/service.html" title="windows::basic_stream_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> class template
+ provides asynchronous and blocking stream-oriented handle functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_stream_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.thread_safety"></a></span><a class="link" href="windows__basic_stream_handle.html#boost_asio.reference.windows__basic_stream_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__basic_stream_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.requirements"></a></span><a class="link" href="windows__basic_stream_handle.html#boost_asio.reference.windows__basic_stream_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__basic_random_access_handle/write_some_at/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__basic_stream_handle/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/assign.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/assign.html
new file mode 100644
index 0000000000..cc5cad3a8e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/assign.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="next" href="assign/overload1.html" title="windows::basic_stream_handle::assign (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.assign"></a><a class="link" href="assign.html" title="windows::basic_stream_handle::assign">windows::basic_stream_handle::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176895360"></a>
+Assign an existing native handle to the
+ handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="assign/overload1.html" title="windows::basic_stream_handle::assign (1 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload1.html" title="windows::basic_stream_handle::assign (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="assign/overload2.html" title="windows::basic_stream_handle::assign (2 of 2 overloads)">assign</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="assign/overload2.html" title="windows::basic_stream_handle::assign (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assign/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload1.html
new file mode 100644
index 0000000000..a2ae4a15c8
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload1.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::assign (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_stream_handle::assign">
+<link rel="prev" href="../assign.html" title="windows::basic_stream_handle::assign">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::assign (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.assign.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::assign (1 of 2 overloads)">windows::basic_stream_handle::assign
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../assign.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload2.html
new file mode 100644
index 0000000000..97aaa1cd63
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/assign/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::assign (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../assign.html" title="windows::basic_stream_handle::assign">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::assign (1 of 2 overloads)">
+<link rel="next" href="../async_read_some.html" title="windows::basic_stream_handle::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.assign.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::assign (2 of 2 overloads)">windows::basic_stream_handle::assign
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Assign an existing native handle to the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../assign.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/async_read_some.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/async_read_some.html
new file mode 100644
index 0000000000..71b98900a0
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/async_read_some.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="assign/overload2.html" title="windows::basic_stream_handle::assign (2 of 2 overloads)">
+<link rel="next" href="async_write_some.html" title="windows::basic_stream_handle::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some"></a><a class="link" href="async_read_some.html" title="windows::basic_stream_handle::async_read_some">windows::basic_stream_handle::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176940048"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously read data from the stream handle.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.parameters"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.windows__basic_stream_handle.async_read_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the read operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes read.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.remarks"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.windows__basic_stream_handle.async_read_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The read operation may not read all of the requested number of bytes. Consider
+ using the <a class="link" href="../async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a> function if you need
+ to ensure that the requested amount of data is read before the asynchronous
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_read_some.example"></a></span><a class="link" href="async_read_some.html#boost_asio.reference.windows__basic_stream_handle.async_read_some.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="assign/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/async_write_some.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/async_write_some.html
new file mode 100644
index 0000000000..50acd726f3
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/async_write_some.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="async_read_some.html" title="windows::basic_stream_handle::async_read_some">
+<link rel="next" href="basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some"></a><a class="link" href="async_write_some.html" title="windows::basic_stream_handle::async_write_some">windows::basic_stream_handle::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp176997536"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to asynchronously write data to the stream handle.
+ The function call always returns immediately.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.parameters"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.windows__basic_stream_handle.async_write_some.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the handle. Although the
+ buffers object may be copied as necessary, ownership of the underlying
+ memory blocks is retained by the caller, which must guarantee that
+ they remain valid until the handler is called.
+ </p></dd>
+<dt><span class="term">handler</span></dt>
+<dd>
+<p>
+ The handler to be called when the write operation completes. Copies
+ will be made of the handler as required. The function signature of
+ the handler must be:
+</p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">handler</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span> <span class="comment">// Result of operation.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span> <span class="comment">// Number of bytes written.</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Regardless of whether the asynchronous operation completes immediately
+ or not, the handler will not be invoked from within this function.
+ Invocation of the handler will be performed in a manner equivalent
+ to using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">post</span><span class="special">()</span></code>.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.remarks"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.windows__basic_stream_handle.async_write_some.remarks">Remarks</a>
+ </h6>
+<p>
+ The write operation may not transmit all of the data to the peer. Consider
+ using the <a class="link" href="../async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> function if you need
+ to ensure that all data is written before the asynchronous operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.async_write_some.example"></a></span><a class="link" href="async_write_some.html#boost_asio.reference.windows__basic_stream_handle.async_write_some.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">async_write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle.html
new file mode 100644
index 0000000000..29efba4f51
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::basic_stream_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="async_write_some.html" title="windows::basic_stream_handle::async_write_some">
+<link rel="next" href="basic_stream_handle/overload1.html" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle"></a><a class="link" href="basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle">windows::basic_stream_handle::basic_stream_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177055008"></a>
+Construct a <a class="link" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> without opening
+ it.
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <a class="link" href="basic_stream_handle/overload1.html" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">basic_stream_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_handle/overload1.html" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct a <a class="link" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> on an existing
+ native handle.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_handle/overload2.html" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">basic_stream_handle</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_handle/overload2.html" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Move-construct a <a class="link" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><a class="link" href="basic_stream_handle/overload3.html" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">basic_stream_handle</a><span class="special">(</span>
+ <span class="identifier">basic_stream_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="basic_stream_handle/overload3.html" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_stream_handle/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload1.html
new file mode 100644
index 0000000000..90d9977a31
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload1.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle">
+<link rel="prev" href="../basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">windows::basic_stream_handle::basic_stream_handle
+ (1 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> without
+ opening it.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream handle without opening it. The handle
+ needs to be opened and then connected or accepted before data can be
+ sent or received on it.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream handle will use to dispatch handlers for any asynchronous
+ operations performed on the handle.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload2.html
new file mode 100644
index 0000000000..f19a6cfd67
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload2.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::basic_stream_handle (1 of 3 overloads)">
+<link rel="next" href="overload3.html" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">windows::basic_stream_handle::basic_stream_handle
+ (2 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct a <a class="link" href="../../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> on an existing
+ native handle.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_handle</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor creates a stream handle object to hold an existing native
+ handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">io_service</span></dt>
+<dd><p>
+ The <a class="link" href="../../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that
+ the stream handle will use to dispatch handlers for any asynchronous
+ operations performed on the handle.
+ </p></dd>
+<dt><span class="term">handle</span></dt>
+<dd><p>
+ The new underlying handle implementation.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.exceptions"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload2.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload3.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload3.html
new file mode 100644
index 0000000000..56e0071897
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/basic_stream_handle/overload3.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle">
+<link rel="prev" href="overload2.html" title="windows::basic_stream_handle::basic_stream_handle (2 of 3 overloads)">
+<link rel="next" href="../cancel.html" title="windows::basic_stream_handle::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3"></a><a class="link" href="overload3.html" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">windows::basic_stream_handle::basic_stream_handle
+ (3 of 3 overloads)</a>
+</h5></div></div></div>
+<p>
+ Move-construct a <a class="link" href="../../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_handle</span><span class="special">(</span>
+ <span class="identifier">basic_stream_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This constructor moves a stream handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.remarks"></a></span><a class="link" href="overload3.html#boost_asio.reference.windows__basic_stream_handle.basic_stream_handle.overload3.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if
+ constructed using the <code class="computeroutput"><span class="identifier">basic_stream_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../basic_stream_handle.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cancel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel.html
new file mode 100644
index 0000000000..4de4e5d670
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="basic_stream_handle/overload3.html" title="windows::basic_stream_handle::basic_stream_handle (3 of 3 overloads)">
+<link rel="next" href="cancel/overload1.html" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basic_stream_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.cancel"></a><a class="link" href="cancel.html" title="windows::basic_stream_handle::cancel">windows::basic_stream_handle::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177155472"></a>
+Cancel all asynchronous operations associated
+ with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="cancel/overload1.html" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">cancel</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload1.html" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="cancel/overload2.html" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">cancel</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="cancel/overload2.html" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="basic_stream_handle/overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload1.html
new file mode 100644
index 0000000000..82fa86c638
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::cancel (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_stream_handle::cancel">
+<link rel="prev" href="../cancel.html" title="windows::basic_stream_handle::cancel">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">windows::basic_stream_handle::cancel
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload2.html
new file mode 100644
index 0000000000..9d172b864b
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/cancel/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::cancel (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../cancel.html" title="windows::basic_stream_handle::cancel">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::cancel (1 of 2 overloads)">
+<link rel="next" href="../close.html" title="windows::basic_stream_handle::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">windows::basic_stream_handle::cancel
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function causes all outstanding asynchronous read or write operations
+ to finish immediately, and the handlers for cancelled operations will
+ be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.cancel.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.cancel.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../close.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/close.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/close.html
new file mode 100644
index 0000000000..85c7143a4f
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/close.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="cancel/overload2.html" title="windows::basic_stream_handle::cancel (2 of 2 overloads)">
+<link rel="next" href="close/overload1.html" title="windows::basic_stream_handle::close (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.close"></a><a class="link" href="close.html" title="windows::basic_stream_handle::close">windows::basic_stream_handle::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177211024"></a>
+Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="close/overload1.html" title="windows::basic_stream_handle::close (1 of 2 overloads)">close</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload1.html" title="windows::basic_stream_handle::close (1 of 2 overloads)">more...</a></em></span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <a class="link" href="close/overload2.html" title="windows::basic_stream_handle::close (2 of 2 overloads)">close</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="close/overload2.html" title="windows::basic_stream_handle::close (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="cancel/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload1.html
new file mode 100644
index 0000000000..9e3f35efa5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload1.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::close (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_stream_handle::close">
+<link rel="prev" href="../close.html" title="windows::basic_stream_handle::close">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::close (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.close.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::close (1 of 2 overloads)">windows::basic_stream_handle::close
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">close</span><span class="special">();</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.close.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.close.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.close.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="../close.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload2.html
new file mode 100644
index 0000000000..396e6a64a8
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/close/overload2.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::close (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../close.html" title="windows::basic_stream_handle::close">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::close (1 of 2 overloads)">
+<link rel="next" href="../get_implementation.html" title="windows::basic_stream_handle::get_implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.close.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::close (2 of 2 overloads)">windows::basic_stream_handle::close
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Close the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to close the handle. Any asynchronous read or write
+ operations will be cancelled immediately, and will complete with the
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code> error.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.close.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.close.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.close.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../close.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation.html
new file mode 100644
index 0000000000..c0a6548d31
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="close/overload2.html" title="windows::basic_stream_handle::close (2 of 2 overloads)">
+<link rel="next" href="get_implementation/overload1.html" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_implementation"></a><a class="link" href="get_implementation.html" title="windows::basic_stream_handle::get_implementation">windows::basic_stream_handle::get_implementation</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177267664"></a>
+Get the underlying implementation
+ of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload1.html" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">get_implementation</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload1.html" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <a class="link" href="get_implementation/overload2.html" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">get_implementation</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_implementation/overload2.html" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="close/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_implementation/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload1.html
new file mode 100644
index 0000000000..07e6712950
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_implementation (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_stream_handle::get_implementation">
+<link rel="prev" href="../get_implementation.html" title="windows::basic_stream_handle::get_implementation">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_implementation.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">windows::basic_stream_handle::get_implementation
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_implementation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload2.html
new file mode 100644
index 0000000000..3057d34874
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_implementation/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_implementation (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_implementation.html" title="windows::basic_stream_handle::get_implementation">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::get_implementation (1 of 2 overloads)">
+<link rel="next" href="../get_io_service.html" title="windows::basic_stream_handle::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_implementation.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">windows::basic_stream_handle::get_implementation
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">get_implementation</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_implementation.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../get_io_service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_io_service.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_io_service.html
new file mode 100644
index 0000000000..c9038c2495
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_io_service.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="get_implementation/overload2.html" title="windows::basic_stream_handle::get_implementation (2 of 2 overloads)">
+<link rel="next" href="get_service.html" title="windows::basic_stream_handle::get_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::basic_stream_handle::get_io_service">windows::basic_stream_handle::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177298128"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> associated with the
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object uses to dispatch handlers for asynchronous operations.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.get_io_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.get_io_service.return_value"></a></span><a class="link" href="get_io_service.html#boost_asio.reference.windows__basic_stream_handle.get_io_service.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that the I/O
+ object will use to dispatch handlers. Ownership is not transferred to the
+ caller.
+ </p>
+</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 &#169; 2003-2017 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="get_implementation/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service.html
new file mode 100644
index 0000000000..241a73d0cf
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="get_io_service.html" title="windows::basic_stream_handle::get_io_service">
+<link rel="next" href="get_service/overload1.html" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_service"></a><a class="link" href="get_service.html" title="windows::basic_stream_handle::get_service">windows::basic_stream_handle::get_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177316496"></a>
+Get the service associated with
+ the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload1.html" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">get_service</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload1.html" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <a class="link" href="get_service/overload2.html" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">get_service</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get_service/overload2.html" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_service/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload1.html
new file mode 100644
index 0000000000..c637b4f292
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload1.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_service (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_stream_handle::get_service">
+<link rel="prev" href="../get_service.html" title="windows::basic_stream_handle::get_service">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_service.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">windows::basic_stream_handle::get_service
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get_service.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload2.html
new file mode 100644
index 0000000000..658f033dd3
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/get_service/overload2.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::get_service (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get_service.html" title="windows::basic_stream_handle::get_service">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::get_service (1 of 2 overloads)">
+<link rel="next" href="../implementation.html" title="windows::basic_stream_handle::implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.get_service.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">windows::basic_stream_handle::get_service
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ Get the service associated with the I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">get_service</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get_service.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation.html
new file mode 100644
index 0000000000..7fa4f0cbb6
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::implementation</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="get_service/overload2.html" title="windows::basic_stream_handle::get_service (2 of 2 overloads)">
+<link rel="next" href="implementation_type.html" title="windows::basic_stream_handle::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.implementation"></a><a class="link" href="implementation.html" title="windows::basic_stream_handle::implementation">windows::basic_stream_handle::implementation</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177346656"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_implementation</span><span class="special">()</span></code>.)
+ The underlying implementation of the I/O object.
+ </p>
+<pre class="programlisting"><span class="identifier">implementation_type</span> <span class="identifier">implementation</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_service/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation_type.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation_type.html
new file mode 100644
index 0000000000..be40cd8ad2
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/implementation_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="implementation.html" title="windows::basic_stream_handle::implementation">
+<link rel="next" href="is_open.html" title="windows::basic_stream_handle::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::basic_stream_handle::implementation_type">windows::basic_stream_handle::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177355328"></a>
+The underlying implementation
+ type of I/O object.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">service_type</span><span class="special">::</span><span class="identifier">implementation_type</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__basic_stream_handle.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/is_open.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/is_open.html
new file mode 100644
index 0000000000..3809c5c704
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/is_open.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="implementation_type.html" title="windows::basic_stream_handle::implementation_type">
+<link rel="next" href="lowest_layer.html" title="windows::basic_stream_handle::lowest_layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.is_open"></a><a class="link" href="is_open.html" title="windows::basic_stream_handle::is_open">windows::basic_stream_handle::is_open</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177369584"></a>
+Determine whether the handle is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer.html
new file mode 100644
index 0000000000..106c6ef061
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::lowest_layer</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="is_open.html" title="windows::basic_stream_handle::is_open">
+<link rel="next" href="lowest_layer/overload1.html" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer"></a><a class="link" href="lowest_layer.html" title="windows::basic_stream_handle::lowest_layer">windows::basic_stream_handle::lowest_layer</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177376928"></a>
+Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload1.html" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">lowest_layer</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload1.html" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <a class="link" href="lowest_layer/overload2.html" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">lowest_layer</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="lowest_layer/overload2.html" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lowest_layer/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload1.html
new file mode 100644
index 0000000000..30a96a3778
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload1.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::lowest_layer (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_stream_handle::lowest_layer">
+<link rel="prev" href="../lowest_layer.html" title="windows::basic_stream_handle::lowest_layer">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">windows::basic_stream_handle::lowest_layer
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Get a reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">();</span>
+</pre>
+<p>
+ This function returns a reference to the lowest layer in a stack of layers.
+ Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A reference to the lowest layer in the stack of layers. Ownership is
+ not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="../lowest_layer.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload2.html
new file mode 100644
index 0000000000..b2467c4101
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer/overload2.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::lowest_layer (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../lowest_layer.html" title="windows::basic_stream_handle::lowest_layer">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::lowest_layer (1 of 2 overloads)">
+<link rel="next" href="../lowest_layer_type.html" title="windows::basic_stream_handle::lowest_layer_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">windows::basic_stream_handle::lowest_layer
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ Get a const reference to the lowest layer.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">lowest_layer_type</span> <span class="special">&amp;</span> <span class="identifier">lowest_layer</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ This function returns a const reference to the lowest layer in a stack
+ of layers. Since a <a class="link" href="../../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> cannot contain
+ any further layers, it simply returns a reference to itself.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ A const reference to the lowest layer in the stack of layers. Ownership
+ is not transferred to the caller.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../lowest_layer.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../lowest_layer_type.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer_type.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer_type.html
new file mode 100644
index 0000000000..426c5d923e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/lowest_layer_type.html
@@ -0,0 +1,429 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::lowest_layer_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="lowest_layer/overload2.html" title="windows::basic_stream_handle::lowest_layer (2 of 2 overloads)">
+<link rel="next" href="native.html" title="windows::basic_stream_handle::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type"></a><a class="link" href="lowest_layer_type.html" title="windows::basic_stream_handle::lowest_layer_type">windows::basic_stream_handle::lowest_layer_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177422208"></a>
+A <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> is always the lowest
+ layer.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_handle</span><span class="special">&lt;</span> <span class="identifier">StreamHandleService</span> <span class="special">&gt;</span> <span class="identifier">lowest_layer_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.types"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.types">Types</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/implementation_type.html" title="windows::basic_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/lowest_layer_type.html" title="windows::basic_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_handle_type.html" title="windows::basic_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_type.html" title="windows::basic_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/service_type.html" title="windows::basic_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.member_functions">Member
+ Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/assign.html" title="windows::basic_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/basic_handle.html" title="windows::basic_handle::basic_handle"><span class="bold"><strong>basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/cancel.html" title="windows::basic_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/close.html" title="windows::basic_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_io_service.html" title="windows::basic_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/is_open.html" title="windows::basic_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/lowest_layer.html" title="windows::basic_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native.html" title="windows::basic_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/native_handle.html" title="windows::basic_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/operator_eq_.html" title="windows::basic_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_handle from another.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_member_functions"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_member_functions">Protected
+ Member Functions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_implementation.html" title="windows::basic_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/get_service.html" title="windows::basic_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/_basic_handle.html" title="windows::basic_handle::~basic_handle"><span class="bold"><strong>~basic_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Protected destructor to prevent deletion through this type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_data_members"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.protected_data_members">Protected
+ Data Members</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/implementation.html" title="windows::basic_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../windows__basic_handle/service.html" title="windows::basic_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with
+ the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="../windows__basic_handle.html" title="windows::basic_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_handle</span></code></a> class template provides
+ the ability to wrap a Windows handle.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.thread_safety"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.thread_safety">Thread
+ Safety</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.requirements"></a></span><a class="link" href="lowest_layer_type.html#boost_asio.reference.windows__basic_stream_handle.lowest_layer_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/native.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/native.html
new file mode 100644
index 0000000000..84004b7851
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/native.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="lowest_layer_type.html" title="windows::basic_stream_handle::lowest_layer_type">
+<link rel="next" href="native_handle.html" title="windows::basic_stream_handle::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.native"></a><a class="link" href="native.html" title="windows::basic_stream_handle::native">windows::basic_stream_handle::native</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177544512"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="lowest_layer_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle.html
new file mode 100644
index 0000000000..6a9836ac7e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="native.html" title="windows::basic_stream_handle::native">
+<link rel="next" href="native_handle_type.html" title="windows::basic_stream_handle::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.native_handle"></a><a class="link" href="native_handle.html" title="windows::basic_stream_handle::native_handle">windows::basic_stream_handle::native_handle</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from windows::basic_handle.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177553792"></a>
+Get the native handle representation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">();</span>
+</pre>
+<p>
+ This function may be used to obtain the underlying representation of the
+ handle. This is intended to allow access to native handle functionality
+ that is not otherwise provided.
+ </p>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle_type.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle_type.html
new file mode 100644
index 0000000000..aebf1faded
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="native_handle.html" title="windows::basic_stream_handle::native_handle">
+<link rel="next" href="native_type.html" title="windows::basic_stream_handle::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::basic_stream_handle::native_handle_type">windows::basic_stream_handle::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177560464"></a>
+The native representation
+ of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__basic_stream_handle.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/native_type.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/native_type.html
new file mode 100644
index 0000000000..85fee84c79
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="native_handle_type.html" title="windows::basic_stream_handle::native_handle_type">
+<link rel="next" href="operator_eq_.html" title="windows::basic_stream_handle::operator=">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.native_type"></a><a class="link" href="native_type.html" title="windows::basic_stream_handle::native_type">windows::basic_stream_handle::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177574016"></a>
+(Deprecated: Use native_handle_type.)
+ The native representation of a handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamHandleService</span><span class="special">::</span><span class="identifier">native_handle_type</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.windows__basic_stream_handle.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_eq_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/operator_eq_.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/operator_eq_.html
new file mode 100644
index 0000000000..baa2f01d4a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/operator_eq_.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::operator=</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="native_type.html" title="windows::basic_stream_handle::native_type">
+<link rel="next" href="read_some.html" title="windows::basic_stream_handle::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_"></a><a class="link" href="operator_eq_.html" title="windows::basic_stream_handle::operator=">windows::basic_stream_handle::operator=</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177587472"></a>
+Move-assign a <a class="link" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> from another.
+ </p>
+<pre class="programlisting"><span class="identifier">basic_stream_handle</span> <span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span>
+ <span class="identifier">basic_stream_handle</span> <span class="special">&amp;&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+</pre>
+<p>
+ This assignment operator moves a stream handle from one object to another.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.parameters"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">other</span></dt>
+<dd><p>
+ The other <a class="link" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> object
+ from which the move will occur.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.operator_eq_.remarks"></a></span><a class="link" href="operator_eq_.html#boost_asio.reference.windows__basic_stream_handle.operator_eq_.remarks">Remarks</a>
+ </h6>
+<p>
+ Following the move, the moved-from object is in the same state as if constructed
+ using the <code class="computeroutput"><span class="identifier">basic_stream_handle</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">&amp;)</span> <span class="identifier">constructor</span></code>.
+ </p>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some.html
new file mode 100644
index 0000000000..63e841d467
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="operator_eq_.html" title="windows::basic_stream_handle::operator=">
+<link rel="next" href="read_some/overload1.html" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some"></a><a class="link" href="read_some.html" title="windows::basic_stream_handle::read_some">windows::basic_stream_handle::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177615184"></a>
+Read some data from the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload1.html" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload1.html" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="read_some/overload2.html" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">read_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="read_some/overload2.html" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="operator_eq_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload1.html
new file mode 100644
index 0000000000..e39685e757
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload1.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::read_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="windows::basic_stream_handle::read_some">
+<link rel="prev" href="../read_some.html" title="windows::basic_stream_handle::read_some">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">windows::basic_stream_handle::read_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream handle. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To read into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on reading into multiple buffers in one
+ go, and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload2.html
new file mode 100644
index 0000000000..f5fb93b040
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/read_some/overload2.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::read_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../read_some.html" title="windows::basic_stream_handle::read_some">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::read_some (1 of 2 overloads)">
+<link rel="next" href="../service.html" title="windows::basic_stream_handle::service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">windows::basic_stream_handle::read_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Read some data from the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to read data from the stream handle. The function
+ call will block until one or more bytes of data has been read successfully,
+ or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers into which the data will be read.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes read. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.read_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.read_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The read_some operation may not read all of the requested number of bytes.
+ Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
+ ensure that the requested amount of data is read before the blocking
+ operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../service.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/service.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/service.html
new file mode 100644
index 0000000000..129a83cb32
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/service.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="read_some/overload2.html" title="windows::basic_stream_handle::read_some (2 of 2 overloads)">
+<link rel="next" href="service_type.html" title="windows::basic_stream_handle::service_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.service"></a><a class="link" href="service.html" title="windows::basic_stream_handle::service">windows::basic_stream_handle::service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177734224"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">get_service</span><span class="special">()</span></code>.) The service associated with the I/O
+ object.
+ </p>
+<pre class="programlisting"><span class="identifier">service_type</span> <span class="special">&amp;</span> <span class="identifier">service</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.service.remarks"></a></span><a class="link" href="service.html#boost_asio.reference.windows__basic_stream_handle.service.remarks">Remarks</a>
+ </h6>
+<p>
+ Available only for services that do not support movability.
+ </p>
+</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 &#169; 2003-2017 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="read_some/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="service_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/service_type.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/service_type.html
new file mode 100644
index 0000000000..1909a7e649
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/service_type.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::service_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="service.html" title="windows::basic_stream_handle::service">
+<link rel="next" href="write_some.html" title="windows::basic_stream_handle::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.service_type"></a><a class="link" href="service_type.html" title="windows::basic_stream_handle::service_type">windows::basic_stream_handle::service_type</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from basic_io_object.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp177746928"></a>
+The type of the service that will
+ be used to provide I/O operations.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">StreamHandleService</span> <span class="identifier">service_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.service_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.service_type.requirements"></a></span><a class="link" href="service_type.html#boost_asio.reference.windows__basic_stream_handle.service_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/basic_stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some.html
new file mode 100644
index 0000000000..dfc104dce1
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__basic_stream_handle.html" title="windows::basic_stream_handle">
+<link rel="prev" href="service_type.html" title="windows::basic_stream_handle::service_type">
+<link rel="next" href="write_some/overload1.html" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some"></a><a class="link" href="write_some.html" title="windows::basic_stream_handle::write_some">windows::basic_stream_handle::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp177759456"></a>
+Write some data to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload1.html" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload1.html" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_some/overload2.html" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">write_some</a><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_some/overload2.html" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="service_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__basic_stream_handle.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload1.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload1.html
new file mode 100644
index 0000000000..53f9dcf33c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload1.html
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::write_some (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="windows::basic_stream_handle::write_some">
+<link rel="prev" href="../write_some.html" title="windows::basic_stream_handle::write_some">
+<link rel="next" href="overload2.html" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1"></a><a class="link" href="overload1.html" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">windows::basic_stream_handle::write_some
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the stream handle. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the handle.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
+ indicates that the connection was closed by the peer.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">handle</span><span class="special">.</span><span class="identifier">write_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go,
+ and how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="../write_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload2.html b/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload2.html
new file mode 100644
index 0000000000..57e03adc60
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__basic_stream_handle/write_some/overload2.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::basic_stream_handle::write_some (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_some.html" title="windows::basic_stream_handle::write_some">
+<link rel="prev" href="overload1.html" title="windows::basic_stream_handle::write_some (1 of 2 overloads)">
+<link rel="next" href="../../windows__object_handle.html" title="windows::object_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../windows__object_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2"></a><a class="link" href="overload2.html" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">windows::basic_stream_handle::write_some
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Write some data to the handle.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write data to the stream handle. The function
+ call will block until one or more bytes of the data has been written
+ successfully, or until an error occurs.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more data buffers to be written to the handle.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. Returns 0 if an error occurred.
+ </p>
+<h6>
+<a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__basic_stream_handle.write_some.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.windows__basic_stream_handle.write_some.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ The write_some operation may not transmit all of the data to the peer.
+ Consider using the <a class="link" href="../../write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a> function if you need to
+ ensure that all data is written before the blocking operation completes.
+ </p>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_some.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../windows__object_handle.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle.html b/doc/html/boost_asio/reference/windows__object_handle.html
new file mode 100644
index 0000000000..ea4699e84e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle.html
@@ -0,0 +1,437 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__basic_stream_handle/write_some/overload2.html" title="windows::basic_stream_handle::write_some (2 of 2 overloads)">
+<link rel="next" href="windows__object_handle_service.html" title="windows::object_handle_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__basic_stream_handle/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__object_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__object_handle"></a><a class="link" href="windows__object_handle.html" title="windows::object_handle">windows::object_handle</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp177877552"></a>
+Typedef for the typical usage of an object handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_object_handle</span> <span class="identifier">object_handle</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__object_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle.types"></a></span><a class="link" href="windows__object_handle.html#boost_asio.reference.windows__object_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/implementation_type.html" title="windows::basic_object_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/lowest_layer_type.html" title="windows::basic_object_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native_handle_type.html" title="windows::basic_object_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native_type.html" title="windows::basic_object_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/service_type.html" title="windows::basic_object_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__object_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle.member_functions"></a></span><a class="link" href="windows__object_handle.html#boost_asio.reference.windows__object_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/assign.html" title="windows::basic_object_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/async_wait.html" title="windows::basic_object_handle::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait on the object handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/basic_object_handle.html" title="windows::basic_object_handle::basic_object_handle"><span class="bold"><strong>basic_object_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_object_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_object_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_object_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/cancel.html" title="windows::basic_object_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/close.html" title="windows::basic_object_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/get_io_service.html" title="windows::basic_object_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/is_open.html" title="windows::basic_object_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/lowest_layer.html" title="windows::basic_object_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native.html" title="windows::basic_object_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/native_handle.html" title="windows::basic_object_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/operator_eq_.html" title="windows::basic_object_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_object_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/wait.html" title="windows::basic_object_handle::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Perform a blocking wait on the object handle.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__object_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle.protected_member_functions"></a></span><a class="link" href="windows__object_handle.html#boost_asio.reference.windows__object_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/get_implementation.html" title="windows::basic_object_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/get_service.html" title="windows::basic_object_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__object_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle.protected_data_members"></a></span><a class="link" href="windows__object_handle.html#boost_asio.reference.windows__object_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/implementation.html" title="windows::basic_object_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_object_handle/service.html" title="windows::basic_object_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_object_handle.html" title="windows::basic_object_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_object_handle</span></code></a> class template
+ provides asynchronous and blocking object-oriented handle functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__object_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle.thread_safety"></a></span><a class="link" href="windows__object_handle.html#boost_asio.reference.windows__object_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__object_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle.requirements"></a></span><a class="link" href="windows__object_handle.html#boost_asio.reference.windows__object_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__basic_stream_handle/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__object_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service.html b/doc/html/boost_asio/reference/windows__object_handle_service.html
new file mode 100644
index 0000000000..8b894afccb
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service.html
@@ -0,0 +1,320 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__object_handle.html" title="windows::object_handle">
+<link rel="next" href="windows__object_handle_service/assign.html" title="windows::object_handle_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__object_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__object_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__object_handle_service"></a><a class="link" href="windows__object_handle_service.html" title="windows::object_handle_service">windows::object_handle_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for an object handle.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">object_handle_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__object_handle_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.types"></a></span><a class="link" href="windows__object_handle_service.html#boost_asio.reference.windows__object_handle_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/implementation_type.html" title="windows::object_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of an object handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/native_handle_type.html" title="windows::object_handle_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__object_handle_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.member_functions"></a></span><a class="link" href="windows__object_handle_service.html#boost_asio.reference.windows__object_handle_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/assign.html" title="windows::object_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to an object handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/async_wait.html" title="windows::object_handle_service::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous wait.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/cancel.html" title="windows::object_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/close.html" title="windows::object_handle_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close an object handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/construct.html" title="windows::object_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new object handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/destroy.html" title="windows::object_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy an object handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/get_io_service.html" title="windows::object_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/is_open.html" title="windows::object_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/move_assign.html" title="windows::object_handle_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another object handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/move_construct.html" title="windows::object_handle_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new object handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/native_handle.html" title="windows::object_handle_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/object_handle_service.html" title="windows::object_handle_service::object_handle_service"><span class="bold"><strong>object_handle_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new object handle service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/wait.html" title="windows::object_handle_service::wait"><span class="bold"><strong>wait</strong></span></a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__object_handle_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.data_members"></a></span><a class="link" href="windows__object_handle_service.html#boost_asio.reference.windows__object_handle_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="windows__object_handle_service/id.html" title="windows::object_handle_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__object_handle_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.requirements"></a></span><a class="link" href="windows__object_handle_service.html#boost_asio.reference.windows__object_handle_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__object_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__object_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/assign.html b/doc/html/boost_asio/reference/windows__object_handle_service/assign.html
new file mode 100644
index 0000000000..f7468e740e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="next" href="async_wait.html" title="windows::object_handle_service::async_wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.assign"></a><a class="link" href="assign.html" title="windows::object_handle_service::assign">windows::object_handle_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178084944"></a>
+Assign an existing native handle to
+ an object handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/async_wait.html b/doc/html/boost_asio/reference/windows__object_handle_service/async_wait.html
new file mode 100644
index 0000000000..921dbb33e0
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/async_wait.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::async_wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="assign.html" title="windows::object_handle_service::assign">
+<link rel="next" href="cancel.html" title="windows::object_handle_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.async_wait"></a><a class="link" href="async_wait.html" title="windows::object_handle_service::async_wait">windows::object_handle_service::async_wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178103808"></a>
+Start an asynchronous wait.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../WaitHandler.html" title="Wait handler requirements">WaitHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">WaitHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/cancel.html b/doc/html/boost_asio/reference/windows__object_handle_service/cancel.html
new file mode 100644
index 0000000000..8c57c91c09
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="async_wait.html" title="windows::object_handle_service::async_wait">
+<link rel="next" href="close.html" title="windows::object_handle_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.cancel"></a><a class="link" href="cancel.html" title="windows::object_handle_service::cancel">windows::object_handle_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178118016"></a>
+Cancel all asynchronous operations
+ associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_wait.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/close.html b/doc/html/boost_asio/reference/windows__object_handle_service/close.html
new file mode 100644
index 0000000000..1b334f3ade
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="cancel.html" title="windows::object_handle_service::cancel">
+<link rel="next" href="construct.html" title="windows::object_handle_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.close"></a><a class="link" href="close.html" title="windows::object_handle_service::close">windows::object_handle_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178133584"></a>
+Close an object handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/construct.html b/doc/html/boost_asio/reference/windows__object_handle_service/construct.html
new file mode 100644
index 0000000000..3e1cf91e04
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="close.html" title="windows::object_handle_service::close">
+<link rel="next" href="destroy.html" title="windows::object_handle_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.construct"></a><a class="link" href="construct.html" title="windows::object_handle_service::construct">windows::object_handle_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178149200"></a>
+Construct a new object handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/destroy.html b/doc/html/boost_asio/reference/windows__object_handle_service/destroy.html
new file mode 100644
index 0000000000..583efcc45a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="construct.html" title="windows::object_handle_service::construct">
+<link rel="next" href="get_io_service.html" title="windows::object_handle_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.destroy"></a><a class="link" href="destroy.html" title="windows::object_handle_service::destroy">windows::object_handle_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178157840"></a>
+Destroy an object handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/get_io_service.html b/doc/html/boost_asio/reference/windows__object_handle_service/get_io_service.html
new file mode 100644
index 0000000000..54fbd0e229
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="destroy.html" title="windows::object_handle_service::destroy">
+<link rel="next" href="id.html" title="windows::object_handle_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::object_handle_service::get_io_service">windows::object_handle_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp178167360"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/id.html b/doc/html/boost_asio/reference/windows__object_handle_service/id.html
new file mode 100644
index 0000000000..8e60110a56
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="get_io_service.html" title="windows::object_handle_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="windows::object_handle_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.id"></a><a class="link" href="id.html" title="windows::object_handle_service::id">windows::object_handle_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178178128"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/implementation_type.html b/doc/html/boost_asio/reference/windows__object_handle_service/implementation_type.html
new file mode 100644
index 0000000000..afd9ee2430
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="id.html" title="windows::object_handle_service::id">
+<link rel="next" href="is_open.html" title="windows::object_handle_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::object_handle_service::implementation_type">windows::object_handle_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178188064"></a>
+The type of an object
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__object_handle_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__object_handle_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/is_open.html b/doc/html/boost_asio/reference/windows__object_handle_service/is_open.html
new file mode 100644
index 0000000000..414ff6348f
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="implementation_type.html" title="windows::object_handle_service::implementation_type">
+<link rel="next" href="move_assign.html" title="windows::object_handle_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.is_open"></a><a class="link" href="is_open.html" title="windows::object_handle_service::is_open">windows::object_handle_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178200496"></a>
+Determine whether the handle is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/move_assign.html b/doc/html/boost_asio/reference/windows__object_handle_service/move_assign.html
new file mode 100644
index 0000000000..ec855e946b
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="is_open.html" title="windows::object_handle_service::is_open">
+<link rel="next" href="move_construct.html" title="windows::object_handle_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.move_assign"></a><a class="link" href="move_assign.html" title="windows::object_handle_service::move_assign">windows::object_handle_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178211040"></a>
+Move-assign from another object
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">object_handle_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/move_construct.html b/doc/html/boost_asio/reference/windows__object_handle_service/move_construct.html
new file mode 100644
index 0000000000..dc20824f80
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="move_assign.html" title="windows::object_handle_service::move_assign">
+<link rel="next" href="native_handle.html" title="windows::object_handle_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.move_construct"></a><a class="link" href="move_construct.html" title="windows::object_handle_service::move_construct">windows::object_handle_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178224896"></a>
+Move-construct a new object
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/native_handle.html b/doc/html/boost_asio/reference/windows__object_handle_service/native_handle.html
new file mode 100644
index 0000000000..e4ac00bf76
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="move_construct.html" title="windows::object_handle_service::move_construct">
+<link rel="next" href="native_handle_type.html" title="windows::object_handle_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.native_handle"></a><a class="link" href="native_handle.html" title="windows::object_handle_service::native_handle">windows::object_handle_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178236144"></a>
+Get the native handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/native_handle_type.html b/doc/html/boost_asio/reference/windows__object_handle_service/native_handle_type.html
new file mode 100644
index 0000000000..3f5691b246
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="native_handle.html" title="windows::object_handle_service::native_handle">
+<link rel="next" href="object_handle_service.html" title="windows::object_handle_service::object_handle_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="object_handle_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::object_handle_service::native_handle_type">windows::object_handle_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178244784"></a>
+The native handle type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__object_handle_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__object_handle_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__object_handle_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/object_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="object_handle_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/object_handle_service.html b/doc/html/boost_asio/reference/windows__object_handle_service/object_handle_service.html
new file mode 100644
index 0000000000..ceab5df771
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/object_handle_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::object_handle_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="native_handle_type.html" title="windows::object_handle_service::native_handle_type">
+<link rel="next" href="wait.html" title="windows::object_handle_service::wait">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.object_handle_service"></a><a class="link" href="object_handle_service.html" title="windows::object_handle_service::object_handle_service">windows::object_handle_service::object_handle_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178257248"></a>
+Construct a new object
+ handle service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">object_handle_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="wait.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__object_handle_service/wait.html b/doc/html/boost_asio/reference/windows__object_handle_service/wait.html
new file mode 100644
index 0000000000..7fe694c1c3
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__object_handle_service/wait.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::object_handle_service::wait</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__object_handle_service.html" title="windows::object_handle_service">
+<link rel="prev" href="object_handle_service.html" title="windows::object_handle_service::object_handle_service">
+<link rel="next" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__object_handle_service.wait"></a><a class="link" href="wait.html" title="windows::object_handle_service::wait">windows::object_handle_service::wait</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178269184"></a>
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">wait</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="object_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__object_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr.html b/doc/html/boost_asio/reference/windows__overlapped_ptr.html
new file mode 100644
index 0000000000..03b54835b9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr.html
@@ -0,0 +1,179 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__object_handle_service/wait.html" title="windows::object_handle_service::wait">
+<link rel="next" href="windows__overlapped_ptr/complete.html" title="windows::overlapped_ptr::complete">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__object_handle_service/wait.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__overlapped_ptr/complete.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr"></a><a class="link" href="windows__overlapped_ptr.html" title="windows::overlapped_ptr">windows::overlapped_ptr</a>
+</h3></div></div></div>
+<p>
+ Wraps a handler to create an OVERLAPPED object for use with overlapped I/O.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">overlapped_ptr</span> <span class="special">:</span>
+ <span class="identifier">noncopyable</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__overlapped_ptr.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__overlapped_ptr.member_functions"></a></span><a class="link" href="windows__overlapped_ptr.html#boost_asio.reference.windows__overlapped_ptr.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__overlapped_ptr/complete.html" title="windows::overlapped_ptr::complete"><span class="bold"><strong>complete</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Post completion notification for overlapped operation. Releases
+ ownership.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__overlapped_ptr/get.html" title="windows::overlapped_ptr::get"><span class="bold"><strong>get</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the contained OVERLAPPED object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__overlapped_ptr/overlapped_ptr.html" title="windows::overlapped_ptr::overlapped_ptr"><span class="bold"><strong>overlapped_ptr</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct an empty overlapped_ptr.
+ </p>
+ <p>
+ Construct an overlapped_ptr to contain the specified handler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__overlapped_ptr/release.html" title="windows::overlapped_ptr::release"><span class="bold"><strong>release</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Release ownership of the OVERLAPPED object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__overlapped_ptr/reset.html" title="windows::overlapped_ptr::reset"><span class="bold"><strong>reset</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Reset to empty.
+ </p>
+ <p>
+ Reset to contain the specified handler, freeing any current OVERLAPPED
+ object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__overlapped_ptr/_overlapped_ptr.html" title="windows::overlapped_ptr::~overlapped_ptr"><span class="bold"><strong>~overlapped_ptr</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destructor automatically frees the OVERLAPPED object unless released.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ A special-purpose smart pointer used to wrap an application handler so that
+ it can be passed as the LPOVERLAPPED argument to overlapped I/O functions.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__overlapped_ptr.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__overlapped_ptr.thread_safety"></a></span><a class="link" href="windows__overlapped_ptr.html#boost_asio.reference.windows__overlapped_ptr.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__overlapped_ptr.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__overlapped_ptr.requirements"></a></span><a class="link" href="windows__overlapped_ptr.html#boost_asio.reference.windows__overlapped_ptr.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/overlapped_ptr.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__object_handle_service/wait.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__overlapped_ptr/complete.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/_overlapped_ptr.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/_overlapped_ptr.html
new file mode 100644
index 0000000000..1350401fe3
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/_overlapped_ptr.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::~overlapped_ptr</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="prev" href="reset/overload2.html" title="windows::overlapped_ptr::reset (2 of 2 overloads)">
+<link rel="next" href="../windows__random_access_handle.html" title="windows::random_access_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reset/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__random_access_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr._overlapped_ptr"></a><a class="link" href="_overlapped_ptr.html" title="windows::overlapped_ptr::~overlapped_ptr">windows::overlapped_ptr::~overlapped_ptr</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178469808"></a>
+Destructor automatically frees the
+ OVERLAPPED object unless released.
+ </p>
+<pre class="programlisting"><span class="special">~</span><span class="identifier">overlapped_ptr</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="reset/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__random_access_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/complete.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/complete.html
new file mode 100644
index 0000000000..b864a69fa8
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/complete.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::complete</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="prev" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="next" href="get.html" title="windows::overlapped_ptr::get">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.complete"></a><a class="link" href="complete.html" title="windows::overlapped_ptr::complete">windows::overlapped_ptr::complete</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178327936"></a>
+Post completion notification for overlapped
+ operation. Releases ownership.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">complete</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/get.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/get.html
new file mode 100644
index 0000000000..d18a3b33d6
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/get.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::get</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="prev" href="complete.html" title="windows::overlapped_ptr::complete">
+<link rel="next" href="get/overload1.html" title="windows::overlapped_ptr::get (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complete.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.get"></a><a class="link" href="get.html" title="windows::overlapped_ptr::get">windows::overlapped_ptr::get</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178342416"></a>
+Get the contained OVERLAPPED object.
+ </p>
+<pre class="programlisting"><span class="identifier">OVERLAPPED</span> <span class="special">*</span> <a class="link" href="get/overload1.html" title="windows::overlapped_ptr::get (1 of 2 overloads)">get</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get/overload1.html" title="windows::overlapped_ptr::get (1 of 2 overloads)">more...</a></em></span>
+
+<span class="keyword">const</span> <span class="identifier">OVERLAPPED</span> <span class="special">*</span> <a class="link" href="get/overload2.html" title="windows::overlapped_ptr::get (2 of 2 overloads)">get</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="get/overload2.html" title="windows::overlapped_ptr::get (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="complete.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload1.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload1.html
new file mode 100644
index 0000000000..b5bddd0fee
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::get (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get.html" title="windows::overlapped_ptr::get">
+<link rel="prev" href="../get.html" title="windows::overlapped_ptr::get">
+<link rel="next" href="overload2.html" title="windows::overlapped_ptr::get (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../get.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.get.overload1"></a><a class="link" href="overload1.html" title="windows::overlapped_ptr::get (1 of 2 overloads)">windows::overlapped_ptr::get
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the contained OVERLAPPED object.
+ </p>
+<pre class="programlisting"><span class="identifier">OVERLAPPED</span> <span class="special">*</span> <span class="identifier">get</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../get.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload2.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload2.html
new file mode 100644
index 0000000000..9f93716053
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/get/overload2.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::get (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../get.html" title="windows::overlapped_ptr::get">
+<link rel="prev" href="overload1.html" title="windows::overlapped_ptr::get (1 of 2 overloads)">
+<link rel="next" href="../overlapped_ptr.html" title="windows::overlapped_ptr::overlapped_ptr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.get.overload2"></a><a class="link" href="overload2.html" title="windows::overlapped_ptr::get (2 of 2 overloads)">windows::overlapped_ptr::get
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Get the contained OVERLAPPED object.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">OVERLAPPED</span> <span class="special">*</span> <span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../get.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr.html
new file mode 100644
index 0000000000..35742ba9f9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::overlapped_ptr</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="prev" href="get/overload2.html" title="windows::overlapped_ptr::get (2 of 2 overloads)">
+<link rel="next" href="overlapped_ptr/overload1.html" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overlapped_ptr/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.overlapped_ptr"></a><a class="link" href="overlapped_ptr.html" title="windows::overlapped_ptr::overlapped_ptr">windows::overlapped_ptr::overlapped_ptr</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178369424"></a>
+Construct an empty <a class="link" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a>.
+ </p>
+<pre class="programlisting"><a class="link" href="overlapped_ptr/overload1.html" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">overlapped_ptr</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="overlapped_ptr/overload1.html" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Construct an <a class="link" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a> to contain the
+ specified handler.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <a class="link" href="overlapped_ptr/overload2.html" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">overlapped_ptr</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="overlapped_ptr/overload2.html" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="get/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overlapped_ptr/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload1.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload1.html
new file mode 100644
index 0000000000..7ee018efee
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overlapped_ptr.html" title="windows::overlapped_ptr::overlapped_ptr">
+<link rel="prev" href="../overlapped_ptr.html" title="windows::overlapped_ptr::overlapped_ptr">
+<link rel="next" href="overload2.html" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload1"></a><a class="link" href="overload1.html" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">windows::overlapped_ptr::overlapped_ptr
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an empty <a class="link" href="../../windows__overlapped_ptr.html" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">overlapped_ptr</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload2.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload2.html
new file mode 100644
index 0000000000..675c2d9e76
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/overlapped_ptr/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../overlapped_ptr.html" title="windows::overlapped_ptr::overlapped_ptr">
+<link rel="prev" href="overload1.html" title="windows::overlapped_ptr::overlapped_ptr (1 of 2 overloads)">
+<link rel="next" href="../release.html" title="windows::overlapped_ptr::release">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../release.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.overlapped_ptr.overload2"></a><a class="link" href="overload2.html" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">windows::overlapped_ptr::overlapped_ptr
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Construct an <a class="link" href="../../windows__overlapped_ptr.html" title="windows::overlapped_ptr"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span></code></a> to contain the
+ specified handler.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="identifier">overlapped_ptr</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overlapped_ptr.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../release.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/release.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/release.html
new file mode 100644
index 0000000000..f45c180adc
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/release.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::release</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="prev" href="overlapped_ptr/overload2.html" title="windows::overlapped_ptr::overlapped_ptr (2 of 2 overloads)">
+<link rel="next" href="reset.html" title="windows::overlapped_ptr::reset">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overlapped_ptr/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reset.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.release"></a><a class="link" href="release.html" title="windows::overlapped_ptr::release">windows::overlapped_ptr::release</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178421056"></a>
+Release ownership of the OVERLAPPED object.
+ </p>
+<pre class="programlisting"><span class="identifier">OVERLAPPED</span> <span class="special">*</span> <span class="identifier">release</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="overlapped_ptr/overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reset.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/reset.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/reset.html
new file mode 100644
index 0000000000..f00b4e5e9b
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/reset.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::reset</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__overlapped_ptr.html" title="windows::overlapped_ptr">
+<link rel="prev" href="release.html" title="windows::overlapped_ptr::release">
+<link rel="next" href="reset/overload1.html" title="windows::overlapped_ptr::reset (1 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reset/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.reset"></a><a class="link" href="reset.html" title="windows::overlapped_ptr::reset">windows::overlapped_ptr::reset</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178427664"></a>
+Reset to empty.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <a class="link" href="reset/overload1.html" title="windows::overlapped_ptr::reset (1 of 2 overloads)">reset</a><span class="special">();</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="reset/overload1.html" title="windows::overlapped_ptr::reset (1 of 2 overloads)">more...</a></em></span>
+</pre>
+<p>
+ Reset to contain the specified handler, freeing any current OVERLAPPED
+ object.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <a class="link" href="reset/overload2.html" title="windows::overlapped_ptr::reset (2 of 2 overloads)">reset</a><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="reset/overload2.html" title="windows::overlapped_ptr::reset (2 of 2 overloads)">more...</a></em></span>
+</pre>
+</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 &#169; 2003-2017 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="release.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__overlapped_ptr.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reset/overload1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload1.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload1.html
new file mode 100644
index 0000000000..7f88334470
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload1.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::reset (1 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reset.html" title="windows::overlapped_ptr::reset">
+<link rel="prev" href="../reset.html" title="windows::overlapped_ptr::reset">
+<link rel="next" href="overload2.html" title="windows::overlapped_ptr::reset (2 of 2 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../reset.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reset.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.reset.overload1"></a><a class="link" href="overload1.html" title="windows::overlapped_ptr::reset (1 of 2 overloads)">windows::overlapped_ptr::reset
+ (1 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Reset to empty.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">reset</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="../reset.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reset.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload2.html b/doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload2.html
new file mode 100644
index 0000000000..235aaeeca9
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__overlapped_ptr/reset/overload2.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::overlapped_ptr::reset (2 of 2 overloads)</title>
+<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reset.html" title="windows::overlapped_ptr::reset">
+<link rel="prev" href="overload1.html" title="windows::overlapped_ptr::reset (1 of 2 overloads)">
+<link rel="next" href="../_overlapped_ptr.html" title="windows::overlapped_ptr::~overlapped_ptr">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reset.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_overlapped_ptr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="boost_asio.reference.windows__overlapped_ptr.reset.overload2"></a><a class="link" href="overload2.html" title="windows::overlapped_ptr::reset (2 of 2 overloads)">windows::overlapped_ptr::reset
+ (2 of 2 overloads)</a>
+</h5></div></div></div>
+<p>
+ Reset to contain the specified handler, freeing any current OVERLAPPED
+ object.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../../Handler.html" title="Handlers">Handler</a><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">reset</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">,</span>
+ <span class="identifier">Handler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reset.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../_overlapped_ptr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle.html b/doc/html/boost_asio/reference/windows__random_access_handle.html
new file mode 100644
index 0000000000..02b3044c46
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle.html
@@ -0,0 +1,462 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__overlapped_ptr/_overlapped_ptr.html" title="windows::overlapped_ptr::~overlapped_ptr">
+<link rel="next" href="windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__overlapped_ptr/_overlapped_ptr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__random_access_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__random_access_handle"></a><a class="link" href="windows__random_access_handle.html" title="windows::random_access_handle">windows::random_access_handle</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp178475904"></a>
+Typedef for the typical usage of a random-access
+ handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_random_access_handle</span> <span class="identifier">random_access_handle</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.types"></a></span><a class="link" href="windows__random_access_handle.html#boost_asio.reference.windows__random_access_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/implementation_type.html" title="windows::basic_random_access_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/lowest_layer_type.html" title="windows::basic_random_access_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native_handle_type.html" title="windows::basic_random_access_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native_type.html" title="windows::basic_random_access_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/service_type.html" title="windows::basic_random_access_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.member_functions"></a></span><a class="link" href="windows__random_access_handle.html#boost_asio.reference.windows__random_access_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/assign.html" title="windows::basic_random_access_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/async_read_some_at.html" title="windows::basic_random_access_handle::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/async_write_some_at.html" title="windows::basic_random_access_handle::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/basic_random_access_handle.html" title="windows::basic_random_access_handle::basic_random_access_handle"><span class="bold"><strong>basic_random_access_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_random_access_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_random_access_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_random_access_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/cancel.html" title="windows::basic_random_access_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/close.html" title="windows::basic_random_access_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/get_io_service.html" title="windows::basic_random_access_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/is_open.html" title="windows::basic_random_access_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/lowest_layer.html" title="windows::basic_random_access_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native.html" title="windows::basic_random_access_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/native_handle.html" title="windows::basic_random_access_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/operator_eq_.html" title="windows::basic_random_access_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_random_access_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/read_some_at.html" title="windows::basic_random_access_handle::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the handle at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/write_some_at.html" title="windows::basic_random_access_handle::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the handle at the specified offset.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.protected_member_functions"></a></span><a class="link" href="windows__random_access_handle.html#boost_asio.reference.windows__random_access_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/get_implementation.html" title="windows::basic_random_access_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/get_service.html" title="windows::basic_random_access_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.protected_data_members"></a></span><a class="link" href="windows__random_access_handle.html#boost_asio.reference.windows__random_access_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/implementation.html" title="windows::basic_random_access_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_random_access_handle/service.html" title="windows::basic_random_access_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_random_access_handle.html" title="windows::basic_random_access_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_random_access_handle</span></code></a> class
+ template provides asynchronous and blocking random-access handle functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.thread_safety"></a></span><a class="link" href="windows__random_access_handle.html#boost_asio.reference.windows__random_access_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle.requirements"></a></span><a class="link" href="windows__random_access_handle.html#boost_asio.reference.windows__random_access_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__overlapped_ptr/_overlapped_ptr.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__random_access_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service.html b/doc/html/boost_asio/reference/windows__random_access_handle_service.html
new file mode 100644
index 0000000000..22c9a3036c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service.html
@@ -0,0 +1,372 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__random_access_handle.html" title="windows::random_access_handle">
+<link rel="next" href="windows__random_access_handle_service/assign.html" title="windows::random_access_handle_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__random_access_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__random_access_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service"></a><a class="link" href="windows__random_access_handle_service.html" title="windows::random_access_handle_service">windows::random_access_handle_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a random-access handle.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">random_access_handle_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.types"></a></span><a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/implementation_type.html" title="windows::random_access_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a random-access handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/native_handle_type.html" title="windows::random_access_handle_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/native_type.html" title="windows::random_access_handle_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native handle type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.member_functions"></a></span><a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/assign.html" title="windows::random_access_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to a random-access handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/async_read_some_at.html" title="windows::random_access_handle_service::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/async_write_some_at.html" title="windows::random_access_handle_service::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write at the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/cancel.html" title="windows::random_access_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/close.html" title="windows::random_access_handle_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a random-access handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/construct.html" title="windows::random_access_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new random-access handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/destroy.html" title="windows::random_access_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a random-access handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/get_io_service.html" title="windows::random_access_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/is_open.html" title="windows::random_access_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/move_assign.html" title="windows::random_access_handle_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another random-access handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/move_construct.html" title="windows::random_access_handle_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new random-access handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/native.html" title="windows::random_access_handle_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/native_handle.html" title="windows::random_access_handle_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/random_access_handle_service.html" title="windows::random_access_handle_service::random_access_handle_service"><span class="bold"><strong>random_access_handle_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new random-access handle service for the specified
+ io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/read_some_at.html" title="windows::random_access_handle_service::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the specified offset.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/write_some_at.html" title="windows::random_access_handle_service::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data at the specified offset.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.data_members"></a></span><a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="windows__random_access_handle_service/id.html" title="windows::random_access_handle_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__random_access_handle_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.requirements"></a></span><a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__random_access_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__random_access_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/assign.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/assign.html
new file mode 100644
index 0000000000..b1ffb05a23
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="next" href="async_read_some_at.html" title="windows::random_access_handle_service::async_read_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.assign"></a><a class="link" href="assign.html" title="windows::random_access_handle_service::assign">windows::random_access_handle_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178705520"></a>
+Assign an existing native handle
+ to a random-access handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/async_read_some_at.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/async_read_some_at.html
new file mode 100644
index 0000000000..d1481dbe3c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/async_read_some_at.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::async_read_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="assign.html" title="windows::random_access_handle_service::assign">
+<link rel="next" href="async_write_some_at.html" title="windows::random_access_handle_service::async_write_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.async_read_some_at"></a><a class="link" href="async_read_some_at.html" title="windows::random_access_handle_service::async_read_some_at">windows::random_access_handle_service::async_read_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178724496"></a>
+Start an asynchronous
+ read at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some_at</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/async_write_some_at.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/async_write_some_at.html
new file mode 100644
index 0000000000..2214644510
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/async_write_some_at.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::async_write_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="async_read_some_at.html" title="windows::random_access_handle_service::async_read_some_at">
+<link rel="next" href="cancel.html" title="windows::random_access_handle_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.async_write_some_at"></a><a class="link" href="async_write_some_at.html" title="windows::random_access_handle_service::async_write_some_at">windows::random_access_handle_service::async_write_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178746176"></a>
+Start an asynchronous
+ write at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some_at</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/cancel.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/cancel.html
new file mode 100644
index 0000000000..0a638c8017
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="async_write_some_at.html" title="windows::random_access_handle_service::async_write_some_at">
+<link rel="next" href="close.html" title="windows::random_access_handle_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.cancel"></a><a class="link" href="cancel.html" title="windows::random_access_handle_service::cancel">windows::random_access_handle_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178767792"></a>
+Cancel all asynchronous operations
+ associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/close.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/close.html
new file mode 100644
index 0000000000..65c4135f71
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/close.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="cancel.html" title="windows::random_access_handle_service::cancel">
+<link rel="next" href="construct.html" title="windows::random_access_handle_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.close"></a><a class="link" href="close.html" title="windows::random_access_handle_service::close">windows::random_access_handle_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178783440"></a>
+Close a random-access handle
+ implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/construct.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/construct.html
new file mode 100644
index 0000000000..ae26ce3f6d
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/construct.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="close.html" title="windows::random_access_handle_service::close">
+<link rel="next" href="destroy.html" title="windows::random_access_handle_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.construct"></a><a class="link" href="construct.html" title="windows::random_access_handle_service::construct">windows::random_access_handle_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178799008"></a>
+Construct a new random-access
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/destroy.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/destroy.html
new file mode 100644
index 0000000000..a6836044bf
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/destroy.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="construct.html" title="windows::random_access_handle_service::construct">
+<link rel="next" href="get_io_service.html" title="windows::random_access_handle_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.destroy"></a><a class="link" href="destroy.html" title="windows::random_access_handle_service::destroy">windows::random_access_handle_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178807680"></a>
+Destroy a random-access handle
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/get_io_service.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/get_io_service.html
new file mode 100644
index 0000000000..8e77aca799
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="destroy.html" title="windows::random_access_handle_service::destroy">
+<link rel="next" href="id.html" title="windows::random_access_handle_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::random_access_handle_service::get_io_service">windows::random_access_handle_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp178817136"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/id.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/id.html
new file mode 100644
index 0000000000..306ae8a3a1
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="get_io_service.html" title="windows::random_access_handle_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="windows::random_access_handle_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.id"></a><a class="link" href="id.html" title="windows::random_access_handle_service::id">windows::random_access_handle_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178828000"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/implementation_type.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/implementation_type.html
new file mode 100644
index 0000000000..e92c98e632
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="id.html" title="windows::random_access_handle_service::id">
+<link rel="next" href="is_open.html" title="windows::random_access_handle_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::random_access_handle_service::implementation_type">windows::random_access_handle_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178837904"></a>
+The type of a random-access
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__random_access_handle_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__random_access_handle_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/is_open.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/is_open.html
new file mode 100644
index 0000000000..011257e50e
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/is_open.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="implementation_type.html" title="windows::random_access_handle_service::implementation_type">
+<link rel="next" href="move_assign.html" title="windows::random_access_handle_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.is_open"></a><a class="link" href="is_open.html" title="windows::random_access_handle_service::is_open">windows::random_access_handle_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178850416"></a>
+Determine whether the handle
+ is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/move_assign.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/move_assign.html
new file mode 100644
index 0000000000..f5627ca1af
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="is_open.html" title="windows::random_access_handle_service::is_open">
+<link rel="next" href="move_construct.html" title="windows::random_access_handle_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.move_assign"></a><a class="link" href="move_assign.html" title="windows::random_access_handle_service::move_assign">windows::random_access_handle_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178860880"></a>
+Move-assign from another
+ random-access handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">random_access_handle_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/move_construct.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/move_construct.html
new file mode 100644
index 0000000000..949156cf54
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="move_assign.html" title="windows::random_access_handle_service::move_assign">
+<link rel="next" href="native.html" title="windows::random_access_handle_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.move_construct"></a><a class="link" href="move_construct.html" title="windows::random_access_handle_service::move_construct">windows::random_access_handle_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178874976"></a>
+Move-construct a new
+ random-access handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/native.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/native.html
new file mode 100644
index 0000000000..302ea44db5
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/native.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="move_construct.html" title="windows::random_access_handle_service::move_construct">
+<link rel="next" href="native_handle.html" title="windows::random_access_handle_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.native"></a><a class="link" href="native.html" title="windows::random_access_handle_service::native">windows::random_access_handle_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178886240"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.)
+ Get the native handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle.html
new file mode 100644
index 0000000000..bb90611518
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="native.html" title="windows::random_access_handle_service::native">
+<link rel="next" href="native_handle_type.html" title="windows::random_access_handle_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.native_handle"></a><a class="link" href="native_handle.html" title="windows::random_access_handle_service::native_handle">windows::random_access_handle_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178896736"></a>
+Get the native handle
+ implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle_type.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle_type.html
new file mode 100644
index 0000000000..2ed36ee3f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/native_handle_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="native_handle.html" title="windows::random_access_handle_service::native_handle">
+<link rel="next" href="native_type.html" title="windows::random_access_handle_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::random_access_handle_service::native_handle_type">windows::random_access_handle_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178905536"></a>
+The native handle
+ type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__random_access_handle_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__random_access_handle_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/native_type.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/native_type.html
new file mode 100644
index 0000000000..0125615f75
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="native_handle_type.html" title="windows::random_access_handle_service::native_handle_type">
+<link rel="next" href="random_access_handle_service.html" title="windows::random_access_handle_service::random_access_handle_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_handle_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.native_type"></a><a class="link" href="native_type.html" title="windows::random_access_handle_service::native_type">windows::random_access_handle_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178918224"></a>
+(Deprecated: Use native_handle_type.)
+ The native handle type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__random_access_handle_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__random_access_handle_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.windows__random_access_handle_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_handle_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/random_access_handle_service.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/random_access_handle_service.html
new file mode 100644
index 0000000000..ac27d98856
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/random_access_handle_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::random_access_handle_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="native_type.html" title="windows::random_access_handle_service::native_type">
+<link rel="next" href="read_some_at.html" title="windows::random_access_handle_service::read_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.random_access_handle_service"></a><a class="link" href="random_access_handle_service.html" title="windows::random_access_handle_service::random_access_handle_service">windows::random_access_handle_service::random_access_handle_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178930736"></a>
+Construct
+ a new random-access handle service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">random_access_handle_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/read_some_at.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/read_some_at.html
new file mode 100644
index 0000000000..c0ada87415
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/read_some_at.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::read_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="random_access_handle_service.html" title="windows::random_access_handle_service::random_access_handle_service">
+<link rel="next" href="write_some_at.html" title="windows::random_access_handle_service::write_some_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="random_access_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.read_some_at"></a><a class="link" href="read_some_at.html" title="windows::random_access_handle_service::read_some_at">windows::random_access_handle_service::read_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178942816"></a>
+Read some data from the
+ specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some_at</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="random_access_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__random_access_handle_service/write_some_at.html b/doc/html/boost_asio/reference/windows__random_access_handle_service/write_some_at.html
new file mode 100644
index 0000000000..94db2197c3
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__random_access_handle_service/write_some_at.html
@@ -0,0 +1,56 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::random_access_handle_service::write_some_at</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__random_access_handle_service.html" title="windows::random_access_handle_service">
+<link rel="prev" href="read_some_at.html" title="windows::random_access_handle_service::read_some_at">
+<link rel="next" href="../windows__stream_handle.html" title="windows::stream_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__stream_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__random_access_handle_service.write_some_at"></a><a class="link" href="write_some_at.html" title="windows::random_access_handle_service::write_some_at">windows::random_access_handle_service::write_some_at</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp178965792"></a>
+Write the given data
+ at the specified offset.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some_at</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="read_some_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__random_access_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../windows__stream_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle.html b/doc/html/boost_asio/reference/windows__stream_handle.html
new file mode 100644
index 0000000000..0e01ca8e1c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle.html
@@ -0,0 +1,462 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__random_access_handle_service/write_some_at.html" title="windows::random_access_handle_service::write_some_at">
+<link rel="next" href="windows__stream_handle_service.html" title="windows::stream_handle_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__random_access_handle_service/write_some_at.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__stream_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__stream_handle"></a><a class="link" href="windows__stream_handle.html" title="windows::stream_handle">windows::stream_handle</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp178988880"></a>
+Typedef for the typical usage of a stream-oriented
+ handle.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_handle</span> <span class="identifier">stream_handle</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.types"></a></span><a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/implementation_type.html" title="windows::basic_stream_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The underlying implementation type of I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/lowest_layer_type.html" title="windows::basic_stream_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ A basic_handle is always the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native_handle_type.html" title="windows::basic_stream_handle::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native representation of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native_type.html" title="windows::basic_stream_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native representation
+ of a handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/service_type.html" title="windows::basic_stream_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of the service that will be used to provide I/O operations.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.member_functions"></a></span><a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/assign.html" title="windows::basic_stream_handle::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/async_read_some.html" title="windows::basic_stream_handle::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/async_write_some.html" title="windows::basic_stream_handle::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle"><span class="bold"><strong>basic_stream_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a basic_stream_handle without opening it.
+ </p>
+ <p>
+ Construct a basic_stream_handle on an existing native handle.
+ </p>
+ <p>
+ Move-construct a basic_stream_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/cancel.html" title="windows::basic_stream_handle::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/close.html" title="windows::basic_stream_handle::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/get_io_service.html" title="windows::basic_stream_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service associated with the object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/is_open.html" title="windows::basic_stream_handle::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/lowest_layer.html" title="windows::basic_stream_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get a reference to the lowest layer.
+ </p>
+ <p>
+ Get a const reference to the lowest layer.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native.html" title="windows::basic_stream_handle::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/native_handle.html" title="windows::basic_stream_handle::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle representation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/operator_eq_.html" title="windows::basic_stream_handle::operator="><span class="bold"><strong>operator=</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign a basic_stream_handle from another.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/read_some.html" title="windows::basic_stream_handle::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/write_some.html" title="windows::basic_stream_handle::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write some data to the handle.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.protected_member_functions"></a></span><a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.protected_member_functions">Protected
+ Member Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/get_implementation.html" title="windows::basic_stream_handle::get_implementation"><span class="bold"><strong>get_implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the underlying implementation of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/get_service.html" title="windows::basic_stream_handle::get_service"><span class="bold"><strong>get_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the service associated with the I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.protected_data_members"></a></span><a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.protected_data_members">Protected
+ Data Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/implementation.html" title="windows::basic_stream_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_implementation().) The underlying implementation
+ of the I/O object.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__basic_stream_handle/service.html" title="windows::basic_stream_handle::service"><span class="bold"><strong>service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use get_service().) The service associated with the
+ I/O object.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> class template
+ provides asynchronous and blocking stream-oriented handle functionality.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.thread_safety"></a></span><a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.thread_safety">Thread
+ Safety</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
+ </p>
+<p>
+ <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
+ </p>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle.h5"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle.requirements"></a></span><a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__random_access_handle_service/write_some_at.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__stream_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service.html b/doc/html/boost_asio/reference/windows__stream_handle_service.html
new file mode 100644
index 0000000000..d2a3002ebc
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service.html
@@ -0,0 +1,371 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__stream_handle.html" title="windows::stream_handle">
+<link rel="next" href="windows__stream_handle_service/assign.html" title="windows::stream_handle_service::assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__stream_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__stream_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service"></a><a class="link" href="windows__stream_handle_service.html" title="windows::stream_handle_service">windows::stream_handle_service</a>
+</h3></div></div></div>
+<p>
+ Default service implementation for a stream handle.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stream_handle_service</span> <span class="special">:</span>
+ <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle_service.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.types"></a></span><a class="link" href="windows__stream_handle_service.html#boost_asio.reference.windows__stream_handle_service.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/implementation_type.html" title="windows::stream_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of a stream handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/native_handle_type.html" title="windows::stream_handle_service::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The native handle type.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/native_type.html" title="windows::stream_handle_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle_type.) The native handle type.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle_service.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.member_functions"></a></span><a class="link" href="windows__stream_handle_service.html#boost_asio.reference.windows__stream_handle_service.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/assign.html" title="windows::stream_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Assign an existing native handle to a stream handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/async_read_some.html" title="windows::stream_handle_service::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous read.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/async_write_some.html" title="windows::stream_handle_service::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Start an asynchronous write.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/cancel.html" title="windows::stream_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Cancel all asynchronous operations associated with the handle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/close.html" title="windows::stream_handle_service::close"><span class="bold"><strong>close</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Close a stream handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/construct.html" title="windows::stream_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new stream handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/destroy.html" title="windows::stream_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Destroy a stream handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/get_io_service.html" title="windows::stream_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the io_service object that owns the service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/is_open.html" title="windows::stream_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Determine whether the handle is open.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/move_assign.html" title="windows::stream_handle_service::move_assign"><span class="bold"><strong>move_assign</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-assign from another stream handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/move_construct.html" title="windows::stream_handle_service::move_construct"><span class="bold"><strong>move_construct</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Move-construct a new stream handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/native.html" title="windows::stream_handle_service::native"><span class="bold"><strong>native</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ (Deprecated: Use native_handle().) Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/native_handle.html" title="windows::stream_handle_service::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Get the native handle implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/read_some.html" title="windows::stream_handle_service::read_some"><span class="bold"><strong>read_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Read some data from the stream.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/stream_handle_service.html" title="windows::stream_handle_service::stream_handle_service"><span class="bold"><strong>stream_handle_service</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a new stream handle service for the specified io_service.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/write_some.html" title="windows::stream_handle_service::write_some"><span class="bold"><strong>write_some</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Write the given data to the stream.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle_service.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.data_members"></a></span><a class="link" href="windows__stream_handle_service.html#boost_asio.reference.windows__stream_handle_service.data_members">Data
+ Members</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+ <p>
+ <a class="link" href="windows__stream_handle_service/id.html" title="windows::stream_handle_service::id"><span class="bold"><strong>id</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The unique service identifier.
+ </p>
+ </td>
+</tr></tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.windows__stream_handle_service.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.requirements"></a></span><a class="link" href="windows__stream_handle_service.html#boost_asio.reference.windows__stream_handle_service.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__stream_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__stream_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/assign.html b/doc/html/boost_asio/reference/windows__stream_handle_service/assign.html
new file mode 100644
index 0000000000..8b2db4afaa
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="next" href="async_read_some.html" title="windows::stream_handle_service::async_read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.assign"></a><a class="link" href="assign.html" title="windows::stream_handle_service::assign">windows::stream_handle_service::assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179217376"></a>
+Assign an existing native handle to
+ a stream handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">native_handle_type</span> <span class="special">&amp;</span> <span class="identifier">handle</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/async_read_some.html b/doc/html/boost_asio/reference/windows__stream_handle_service/async_read_some.html
new file mode 100644
index 0000000000..34484e2aee
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/async_read_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::async_read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="assign.html" title="windows::stream_handle_service::assign">
+<link rel="next" href="async_write_some.html" title="windows::stream_handle_service::async_write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.async_read_some"></a><a class="link" href="async_read_some.html" title="windows::stream_handle_service::async_read_some">windows::stream_handle_service::async_read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179236240"></a>
+Start an asynchronous read.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ReadHandler.html" title="Read handler requirements">ReadHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_read_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">ReadHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="async_write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/async_write_some.html b/doc/html/boost_asio/reference/windows__stream_handle_service/async_write_some.html
new file mode 100644
index 0000000000..4141156763
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/async_write_some.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::async_write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="async_read_some.html" title="windows::stream_handle_service::async_read_some">
+<link rel="next" href="cancel.html" title="windows::stream_handle_service::cancel">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.async_write_some"></a><a class="link" href="async_write_some.html" title="windows::stream_handle_service::async_write_some">windows::stream_handle_service::async_write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179255824"></a>
+Start an asynchronous write.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../WriteHandler.html" title="Write handler requirements">WriteHandler</a><span class="special">&gt;</span>
+<a class="link" href="../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.return_type_of_an_initiating_function"><span class="emphasis"><em>void-or-deduced</em></span></a> <span class="identifier">async_write_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">WriteHandler</span> <span class="identifier">handler</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cancel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/cancel.html b/doc/html/boost_asio/reference/windows__stream_handle_service/cancel.html
new file mode 100644
index 0000000000..b04ab7be60
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/cancel.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::cancel</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="async_write_some.html" title="windows::stream_handle_service::async_write_some">
+<link rel="next" href="close.html" title="windows::stream_handle_service::close">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.cancel"></a><a class="link" href="cancel.html" title="windows::stream_handle_service::cancel">windows::stream_handle_service::cancel</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179275472"></a>
+Cancel all asynchronous operations
+ associated with the handle.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">cancel</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="async_write_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="close.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/close.html b/doc/html/boost_asio/reference/windows__stream_handle_service/close.html
new file mode 100644
index 0000000000..eeae6779d0
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/close.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::close</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="cancel.html" title="windows::stream_handle_service::cancel">
+<link rel="next" href="construct.html" title="windows::stream_handle_service::construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.close"></a><a class="link" href="close.html" title="windows::stream_handle_service::close">windows::stream_handle_service::close</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179291104"></a>
+Close a stream handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">close</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="cancel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/construct.html b/doc/html/boost_asio/reference/windows__stream_handle_service/construct.html
new file mode 100644
index 0000000000..a6971027fb
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/construct.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="close.html" title="windows::stream_handle_service::close">
+<link rel="next" href="destroy.html" title="windows::stream_handle_service::destroy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.construct"></a><a class="link" href="construct.html" title="windows::stream_handle_service::construct">windows::stream_handle_service::construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179306656"></a>
+Construct a new stream handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="close.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="destroy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/destroy.html b/doc/html/boost_asio/reference/windows__stream_handle_service/destroy.html
new file mode 100644
index 0000000000..be8923e53d
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/destroy.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::destroy</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="construct.html" title="windows::stream_handle_service::construct">
+<link rel="next" href="get_io_service.html" title="windows::stream_handle_service::get_io_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.destroy"></a><a class="link" href="destroy.html" title="windows::stream_handle_service::destroy">windows::stream_handle_service::destroy</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179315360"></a>
+Destroy a stream handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">destroy</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="get_io_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/get_io_service.html b/doc/html/boost_asio/reference/windows__stream_handle_service/get_io_service.html
new file mode 100644
index 0000000000..b85c37b5cd
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/get_io_service.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::get_io_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="destroy.html" title="windows::stream_handle_service::destroy">
+<link rel="next" href="id.html" title="windows::stream_handle_service::id">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.get_io_service"></a><a class="link" href="get_io_service.html" title="windows::stream_handle_service::get_io_service">windows::stream_handle_service::get_io_service</a>
+</h4></div></div></div>
+<p>
+ <span class="emphasis"><em>Inherited from io_service.</em></span>
+ </p>
+<p>
+ <a class="indexterm" name="idp179324816"></a>
+Get the <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a> object that owns the
+ service.
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">get_io_service</span><span class="special">();</span>
+</pre>
+</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 &#169; 2003-2017 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="destroy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="id.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/id.html b/doc/html/boost_asio/reference/windows__stream_handle_service/id.html
new file mode 100644
index 0000000000..10a40a42c7
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/id.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::id</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="get_io_service.html" title="windows::stream_handle_service::get_io_service">
+<link rel="next" href="implementation_type.html" title="windows::stream_handle_service::implementation_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.id"></a><a class="link" href="id.html" title="windows::stream_handle_service::id">windows::stream_handle_service::id</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179335520"></a>
+The unique service identifier.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">id</span> <span class="identifier">id</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="get_io_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/implementation_type.html b/doc/html/boost_asio/reference/windows__stream_handle_service/implementation_type.html
new file mode 100644
index 0000000000..cb41da013c
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/implementation_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::implementation_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="id.html" title="windows::stream_handle_service::id">
+<link rel="next" href="is_open.html" title="windows::stream_handle_service::is_open">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.implementation_type"></a><a class="link" href="implementation_type.html" title="windows::stream_handle_service::implementation_type">windows::stream_handle_service::implementation_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179345424"></a>
+The type of a stream handle
+ implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">implementation_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__stream_handle_service.implementation_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.implementation_type.requirements"></a></span><a class="link" href="implementation_type.html#boost_asio.reference.windows__stream_handle_service.implementation_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="id.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_open.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/is_open.html b/doc/html/boost_asio/reference/windows__stream_handle_service/is_open.html
new file mode 100644
index 0000000000..03b978026a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/is_open.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::is_open</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="implementation_type.html" title="windows::stream_handle_service::implementation_type">
+<link rel="next" href="move_assign.html" title="windows::stream_handle_service::move_assign">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.is_open"></a><a class="link" href="is_open.html" title="windows::stream_handle_service::is_open">windows::stream_handle_service::is_open</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179357776"></a>
+Determine whether the handle is open.
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span> <span class="identifier">is_open</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+</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 &#169; 2003-2017 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="implementation_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_assign.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/move_assign.html b/doc/html/boost_asio/reference/windows__stream_handle_service/move_assign.html
new file mode 100644
index 0000000000..3b1558c9ee
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/move_assign.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::move_assign</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="is_open.html" title="windows::stream_handle_service::is_open">
+<link rel="next" href="move_construct.html" title="windows::stream_handle_service::move_construct">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.move_assign"></a><a class="link" href="move_assign.html" title="windows::stream_handle_service::move_assign">windows::stream_handle_service::move_assign</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179368320"></a>
+Move-assign from another stream
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_assign</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">stream_handle_service</span> <span class="special">&amp;</span> <span class="identifier">other_service</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="is_open.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="move_construct.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/move_construct.html b/doc/html/boost_asio/reference/windows__stream_handle_service/move_construct.html
new file mode 100644
index 0000000000..50807c5d96
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/move_construct.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::move_construct</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="move_assign.html" title="windows::stream_handle_service::move_assign">
+<link rel="next" href="native.html" title="windows::stream_handle_service::native">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.move_construct"></a><a class="link" href="move_construct.html" title="windows::stream_handle_service::move_construct">windows::stream_handle_service::move_construct</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179382176"></a>
+Move-construct a new stream
+ handle implementation.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">move_construct</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">other_impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_assign.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/native.html b/doc/html/boost_asio/reference/windows__stream_handle_service/native.html
new file mode 100644
index 0000000000..72fd801cbf
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/native.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::native</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="move_construct.html" title="windows::stream_handle_service::move_construct">
+<link rel="next" href="native_handle.html" title="windows::stream_handle_service::native_handle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.native"></a><a class="link" href="native.html" title="windows::stream_handle_service::native">windows::stream_handle_service::native</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179393472"></a>
+(Deprecated: Use <code class="computeroutput"><span class="identifier">native_handle</span><span class="special">()</span></code>.) Get the native handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_type</span> <span class="identifier">native</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="move_construct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle.html b/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle.html
new file mode 100644
index 0000000000..7dd1b9e221
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::native_handle</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="native.html" title="windows::stream_handle_service::native">
+<link rel="next" href="native_handle_type.html" title="windows::stream_handle_service::native_handle_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.native_handle"></a><a class="link" href="native_handle.html" title="windows::stream_handle_service::native_handle">windows::stream_handle_service::native_handle</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179403920"></a>
+Get the native handle implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">native_handle_type</span> <span class="identifier">native_handle</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_handle_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle_type.html b/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle_type.html
new file mode 100644
index 0000000000..17fe17b153
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/native_handle_type.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::native_handle_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="native_handle.html" title="windows::stream_handle_service::native_handle">
+<link rel="next" href="native_type.html" title="windows::stream_handle_service::native_type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.native_handle_type"></a><a class="link" href="native_handle_type.html" title="windows::stream_handle_service::native_handle_type">windows::stream_handle_service::native_handle_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179412624"></a>
+The native handle type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_handle_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__stream_handle_service.native_handle_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.native_handle_type.requirements"></a></span><a class="link" href="native_handle_type.html#boost_asio.reference.windows__stream_handle_service.native_handle_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="native_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/native_type.html b/doc/html/boost_asio/reference/windows__stream_handle_service/native_type.html
new file mode 100644
index 0000000000..917ca9aa74
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/native_type.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::native_type</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="native_handle_type.html" title="windows::stream_handle_service::native_handle_type">
+<link rel="next" href="read_some.html" title="windows::stream_handle_service::read_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.native_type"></a><a class="link" href="native_type.html" title="windows::stream_handle_service::native_type">windows::stream_handle_service::native_type</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179425024"></a>
+(Deprecated: Use native_handle_type.)
+ The native handle type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <span class="identifier">native_type</span><span class="special">;</span>
+</pre>
+<h6>
+<a name="boost_asio.reference.windows__stream_handle_service.native_type.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.windows__stream_handle_service.native_type.requirements"></a></span><a class="link" href="native_type.html#boost_asio.reference.windows__stream_handle_service.native_type.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/windows/stream_handle_service.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="native_handle_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="read_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/read_some.html b/doc/html/boost_asio/reference/windows__stream_handle_service/read_some.html
new file mode 100644
index 0000000000..fa31df5d41
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/read_some.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::read_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="native_type.html" title="windows::stream_handle_service::native_type">
+<link rel="next" href="stream_handle_service.html" title="windows::stream_handle_service::stream_handle_service">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_handle_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.read_some"></a><a class="link" href="read_some.html" title="windows::stream_handle_service::read_some">windows::stream_handle_service::read_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179437440"></a>
+Read some data from the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="native_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stream_handle_service.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/stream_handle_service.html b/doc/html/boost_asio/reference/windows__stream_handle_service/stream_handle_service.html
new file mode 100644
index 0000000000..24f2574c1a
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/stream_handle_service.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::stream_handle_service</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="read_some.html" title="windows::stream_handle_service::read_some">
+<link rel="next" href="write_some.html" title="windows::stream_handle_service::write_some">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.stream_handle_service"></a><a class="link" href="stream_handle_service.html" title="windows::stream_handle_service::stream_handle_service">windows::stream_handle_service::stream_handle_service</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179458576"></a>
+Construct a new stream
+ handle service for the specified <a class="link" href="../io_service.html" title="io_service"><code class="computeroutput"><span class="identifier">io_service</span></code></a>.
+ </p>
+<pre class="programlisting"><span class="identifier">stream_handle_service</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="read_some.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_some.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/windows__stream_handle_service/write_some.html b/doc/html/boost_asio/reference/windows__stream_handle_service/write_some.html
new file mode 100644
index 0000000000..81b9350975
--- /dev/null
+++ b/doc/html/boost_asio/reference/windows__stream_handle_service/write_some.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>windows::stream_handle_service::write_some</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../windows__stream_handle_service.html" title="windows::stream_handle_service">
+<link rel="prev" href="stream_handle_service.html" title="windows::stream_handle_service::stream_handle_service">
+<link rel="next" href="../write.html" title="write">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stream_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.windows__stream_handle_service.write_some"></a><a class="link" href="write_some.html" title="windows::stream_handle_service::write_some">windows::stream_handle_service::write_some</a>
+</h4></div></div></div>
+<p>
+ <a class="indexterm" name="idp179470528"></a>
+Write the given data to the stream.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_some</span><span class="special">(</span>
+ <span class="identifier">implementation_type</span> <span class="special">&amp;</span> <span class="identifier">impl</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="stream_handle_service.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../windows__stream_handle_service.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write.html b/doc/html/boost_asio/reference/write.html
new file mode 100644
index 0000000000..dc1513a45a
--- /dev/null
+++ b/doc/html/boost_asio/reference/write.html
@@ -0,0 +1,133 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="windows__stream_handle_service/write_some.html" title="windows::stream_handle_service::write_some">
+<link rel="next" href="write/overload1.html" title="write (1 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="windows__stream_handle_service/write_some.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.write"></a><a class="link" href="write.html" title="write">write</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp179491680"></a>
+Write a certain amount of data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload1.html" title="write (1 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload1.html" title="write (1 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload2.html" title="write (2 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload2.html" title="write (2 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload3.html" title="write (3 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload3.html" title="write (3 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload4.html" title="write (4 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload4.html" title="write (4 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload5.html" title="write (5 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload5.html" title="write (5 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload6.html" title="write (6 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload6.html" title="write (6 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload7.html" title="write (7 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload7.html" title="write (7 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write/overload8.html" title="write (8 of 8 overloads)">write</a><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write/overload8.html" title="write (8 of 8 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.write.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.requirements"></a></span><a class="link" href="write.html#boost_asio.reference.write.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="windows__stream_handle_service/write_some.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload1.html b/doc/html/boost_asio/reference/write/overload1.html
new file mode 100644
index 0000000000..382c22f328
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload1.html
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (1 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="../write.html" title="write">
+<link rel="next" href="overload2.html" title="write (2 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload1"></a><a class="link" href="overload1.html" title="write (1 of 8 overloads)">write (1 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.write.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the stream.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.write.overload1.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.write.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.write.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.write.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../write.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload2.html b/doc/html/boost_asio/reference/write/overload2.html
new file mode 100644
index 0000000000..cbfeda8651
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload2.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (2 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload1.html" title="write (1 of 8 overloads)">
+<link rel="next" href="overload3.html" title="write (3 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload2"></a><a class="link" href="overload2.html" title="write (2 of 8 overloads)">write (2 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.write.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the stream.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.write.overload2.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.write.overload2.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.write.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload3.html b/doc/html/boost_asio/reference/write/overload3.html
new file mode 100644
index 0000000000..6561990a3b
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload3.html
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (3 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload2.html" title="write (2 of 8 overloads)">
+<link rel="next" href="overload4.html" title="write (4 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload3"></a><a class="link" href="overload3.html" title="write (3 of 8 overloads)">write (3 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.write.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the stream.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the stream's write_some function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.write.overload3.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.write.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.write.overload3.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload4.html b/doc/html/boost_asio/reference/write/overload4.html
new file mode 100644
index 0000000000..beb80f7d87
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload4.html
@@ -0,0 +1,127 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (4 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload3.html" title="write (3 of 8 overloads)">
+<link rel="next" href="overload5.html" title="write (5 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload4"></a><a class="link" href="overload4.html" title="write (4 of 8 overloads)">write (4 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.write.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the stream.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the stream's write_some function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.write.overload4.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload5.html b/doc/html/boost_asio/reference/write/overload5.html
new file mode 100644
index 0000000000..0e29497a9d
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload5.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (5 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload4.html" title="write (4 of 8 overloads)">
+<link rel="next" href="overload6.html" title="write (6 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload5"></a><a class="link" href="overload5.html" title="write (5 of 8 overloads)">write (5 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.write.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.write.overload5.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload5.exceptions"></a></span><a class="link" href="overload5.html#boost_asio.reference.write.overload5.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload5.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.write.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload6.html b/doc/html/boost_asio/reference/write/overload6.html
new file mode 100644
index 0000000000..afab0abe82
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload6.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (6 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload5.html" title="write (5 of 8 overloads)">
+<link rel="next" href="overload7.html" title="write (7 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload6"></a><a class="link" href="overload6.html" title="write (6 of 8 overloads)">write (6 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.write.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.write.overload6.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.write.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">s</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload7.html b/doc/html/boost_asio/reference/write/overload7.html
new file mode 100644
index 0000000000..22cbd74742
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload7.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (7 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload6.html" title="write (6 of 8 overloads)">
+<link rel="next" href="overload8.html" title="write (8 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload7"></a><a class="link" href="overload7.html" title="write (7 of 8 overloads)">write (7 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.write.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the stream's write_some function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.write.overload7.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload7.exceptions"></a></span><a class="link" href="overload7.html#boost_asio.reference.write.overload7.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write/overload8.html b/doc/html/boost_asio/reference/write/overload8.html
new file mode 100644
index 0000000000..b3c322626c
--- /dev/null
+++ b/doc/html/boost_asio/reference/write/overload8.html
@@ -0,0 +1,125 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write (8 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write.html" title="write">
+<link rel="prev" href="overload7.html" title="write (7 of 8 overloads)">
+<link rel="next" href="../write_at.html" title="write_at">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write.overload8"></a><a class="link" href="overload8.html" title="write (8 of 8 overloads)">write (8 of 8
+ overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data to a stream before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncWriteStream.html" title="Buffer-oriented synchronous write stream requirements">SyncWriteStream</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write</span><span class="special">(</span>
+ <span class="identifier">SyncWriteStream</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a stream.
+ The call will block until one of the following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the stream's
+ write_some function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.write.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">s</span></dt>
+<dd><p>
+ The stream to which the data is to be written. The type must support
+ the SyncWriteStream concept.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the stream's write_some function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.write.overload8.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ The number of bytes written. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../write_at.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at.html b/doc/html/boost_asio/reference/write_at.html
new file mode 100644
index 0000000000..79f66e2d28
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at.html
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="write/overload8.html" title="write (8 of 8 overloads)">
+<link rel="next" href="write_at/overload1.html" title="write_at (1 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="write/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.write_at"></a><a class="link" href="write_at.html" title="write_at">write_at</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp180162768"></a>
+Write a certain amount of data at a specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload1.html" title="write_at (1 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload1.html" title="write_at (1 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload2.html" title="write_at (2 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload2.html" title="write_at (2 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload3.html" title="write_at (3 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload3.html" title="write_at (3 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload4.html" title="write_at (4 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload4.html" title="write_at (4 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload5.html" title="write_at (5 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload5.html" title="write_at (5 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload6.html" title="write_at (6 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload6.html" title="write_at (6 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload7.html" title="write_at (7 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload7.html" title="write_at (7 of 8 overloads)">more...</a></em></span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="write_at/overload8.html" title="write_at (8 of 8 overloads)">write_at</a><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+ <span class="emphasis"><em>&#187; <a class="link" href="write_at/overload8.html" title="write_at (8 of 8 overloads)">more...</a></em></span>
+</pre>
+<h5>
+<a name="boost_asio.reference.write_at.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.requirements"></a></span><a class="link" href="write_at.html#boost_asio.reference.write_at.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/write_at.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
+ </p>
+</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 &#169; 2003-2017 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="write/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="write_at/overload1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload1.html b/doc/html/boost_asio/reference/write_at/overload1.html
new file mode 100644
index 0000000000..2187bee850
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload1.html
@@ -0,0 +1,142 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (1 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="../write_at.html" title="write_at">
+<link rel="next" href="overload2.html" title="write_at (2 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../write_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload1"></a><a class="link" href="overload1.html" title="write_at (1 of 8 overloads)">write_at (1
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data at the specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload1.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload1.parameters"></a></span><a class="link" href="overload1.html#boost_asio.reference.write_at.overload1.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the device.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload1.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload1.return_value"></a></span><a class="link" href="overload1.html#boost_asio.reference.write_at.overload1.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload1.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload1.exceptions"></a></span><a class="link" href="overload1.html#boost_asio.reference.write_at.overload1.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload1.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload1.example"></a></span><a class="link" href="overload1.html#boost_asio.reference.write_at.overload1.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload1.h4"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload1.remarks"></a></span><a class="link" href="overload1.html#boost_asio.reference.write_at.overload1.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="identifier">offset</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="../write_at.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload2.html b/doc/html/boost_asio/reference/write_at/overload2.html
new file mode 100644
index 0000000000..cb73a1c8f5
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload2.html
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (2 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload1.html" title="write_at (1 of 8 overloads)">
+<link rel="next" href="overload3.html" title="write_at (3 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload2"></a><a class="link" href="overload2.html" title="write_at (2 of 8 overloads)">write_at (2
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data at the specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload2.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the device.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload2.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload2.return_value"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload2.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload2.example"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload2.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload2.remarks"></a></span><a class="link" href="overload2.html#boost_asio.reference.write_at.overload2.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="identifier">offset</span><span class="special">,</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload3.html b/doc/html/boost_asio/reference/write_at/overload3.html
new file mode 100644
index 0000000000..8c818081f6
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload3.html
@@ -0,0 +1,154 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (3 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload2.html" title="write_at (2 of 8 overloads)">
+<link rel="next" href="overload4.html" title="write_at (4 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload3"></a><a class="link" href="overload3.html" title="write_at (3 of 8 overloads)">write_at (3
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data at a specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload3.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload3.parameters"></a></span><a class="link" href="overload3.html#boost_asio.reference.write_at.overload3.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the device.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the device's write_some_at function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload3.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload3.return_value"></a></span><a class="link" href="overload3.html#boost_asio.reference.write_at.overload3.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload3.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload3.exceptions"></a></span><a class="link" href="overload3.html#boost_asio.reference.write_at.overload3.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload3.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload3.example"></a></span><a class="link" href="overload3.html#boost_asio.reference.write_at.overload3.example">Example</a>
+ </h6>
+<p>
+ To write a single data buffer use the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span><span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_at_least</span><span class="special">(</span><span class="number">32</span><span class="special">));</span>
+</pre>
+<p>
+ See the <a class="link" href="../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
+ documentation for information on writing multiple buffers in one go, and
+ how to use it with arrays, boost::array or std::vector.
+ </p>
+</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 &#169; 2003-2017 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="overload2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload4.html b/doc/html/boost_asio/reference/write_at/overload4.html
new file mode 100644
index 0000000000..0d9eeb3c93
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload4.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (4 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload3.html" title="write_at (3 of 8 overloads)">
+<link rel="next" href="overload5.html" title="write_at (5 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload4"></a><a class="link" href="overload4.html" title="write_at (4 of 8 overloads)">write_at (4
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data at a specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ConstBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied buffers has been written. That is,
+ the bytes transferred is equal to the sum of the buffer sizes.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload4.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload4.parameters"></a></span><a class="link" href="overload4.html#boost_asio.reference.write_at.overload4.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">buffers</span></dt>
+<dd><p>
+ One or more buffers containing the data to be written. The sum of
+ the buffer sizes indicates the maximum number of bytes to write to
+ the device.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the device's write_some_at function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload4.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload4.return_value"></a></span><a class="link" href="overload4.html#boost_asio.reference.write_at.overload4.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes written. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload5.html b/doc/html/boost_asio/reference/write_at/overload5.html
new file mode 100644
index 0000000000..1986c959fa
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload5.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (5 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload4.html" title="write_at (4 of 8 overloads)">
+<link rel="next" href="overload6.html" title="write_at (6 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload5"></a><a class="link" href="overload5.html" title="write_at (5 of 8 overloads)">write_at (5
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data at the specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload5.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload5.parameters"></a></span><a class="link" href="overload5.html#boost_asio.reference.write_at.overload5.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload5.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload5.return_value"></a></span><a class="link" href="overload5.html#boost_asio.reference.write_at.overload5.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload5.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload5.exceptions"></a></span><a class="link" href="overload5.html#boost_asio.reference.write_at.overload5.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload5.h3"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload5.remarks"></a></span><a class="link" href="overload5.html#boost_asio.reference.write_at.overload5.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">());</span>
+</pre>
+</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 &#169; 2003-2017 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="overload4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload6.html b/doc/html/boost_asio/reference/write_at/overload6.html
new file mode 100644
index 0000000000..9ac651de9b
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload6.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (6 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload5.html" title="write_at (5 of 8 overloads)">
+<link rel="next" href="overload7.html" title="write_at (7 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload6"></a><a class="link" href="overload6.html" title="write_at (6 of 8 overloads)">write_at (6
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write all of the supplied data at the specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ An error occurred.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload6.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload6.parameters"></a></span><a class="link" href="overload6.html#boost_asio.reference.write_at.overload6.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload6.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload6.return_value"></a></span><a class="link" href="overload6.html#boost_asio.reference.write_at.overload6.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload6.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload6.remarks"></a></span><a class="link" href="overload6.html#boost_asio.reference.write_at.overload6.remarks">Remarks</a>
+ </h6>
+<p>
+ This overload is equivalent to calling:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">d</span><span class="special">,</span> <span class="number">42</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">transfer_all</span><span class="special">(),</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+</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 &#169; 2003-2017 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="overload5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload7.html b/doc/html/boost_asio/reference/write_at/overload7.html
new file mode 100644
index 0000000000..cb5ac21b83
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload7.html
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (7 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload6.html" title="write_at (6 of 8 overloads)">
+<link rel="next" href="overload8.html" title="write_at (8 of 8 overloads)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload7"></a><a class="link" href="overload7.html" title="write_at (7 of 8 overloads)">write_at (7
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data at a specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload7.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload7.parameters"></a></span><a class="link" href="overload7.html#boost_asio.reference.write_at.overload7.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the device's write_some_at function.
+ </p>
+</dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload7.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload7.return_value"></a></span><a class="link" href="overload7.html#boost_asio.reference.write_at.overload7.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes transferred.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload7.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload7.exceptions"></a></span><a class="link" href="overload7.html#boost_asio.reference.write_at.overload7.exceptions">Exceptions</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">boost::system::system_error</span></dt>
+<dd><p>
+ Thrown on failure.
+ </p></dd>
+</dl>
+</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 &#169; 2003-2017 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="overload6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload8.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/write_at/overload8.html b/doc/html/boost_asio/reference/write_at/overload8.html
new file mode 100644
index 0000000000..f1eaef379c
--- /dev/null
+++ b/doc/html/boost_asio/reference/write_at/overload8.html
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>write_at (8 of 8 overloads)</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../write_at.html" title="write_at">
+<link rel="prev" href="overload7.html" title="write_at (7 of 8 overloads)">
+<link rel="next" href="../yield_context.html" title="yield_context">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../yield_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.reference.write_at.overload8"></a><a class="link" href="overload8.html" title="write_at (8 of 8 overloads)">write_at (8
+ of 8 overloads)</a>
+</h4></div></div></div>
+<p>
+ Write a certain amount of data at a specified offset before returning.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <a class="link" href="../SyncRandomAccessWriteDevice.html" title="Buffer-oriented synchronous random-access write device requirements">SyncRandomAccessWriteDevice</a><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">CompletionCondition</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">write_at</span><span class="special">(</span>
+ <span class="identifier">SyncRandomAccessWriteDevice</span> <span class="special">&amp;</span> <span class="identifier">d</span><span class="special">,</span>
+ <span class="identifier">uint64_t</span> <span class="identifier">offset</span><span class="special">,</span>
+ <span class="identifier">basic_streambuf</span><span class="special">&lt;</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">CompletionCondition</span> <span class="identifier">completion_condition</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used to write a certain number of bytes of data to a random
+ access device at a specified offset. The call will block until one of the
+ following conditions is true:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ All of the data in the supplied <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> has been written.
+ </li>
+<li class="listitem">
+ The completion_condition function object returns 0.
+ </li>
+</ul></div>
+<p>
+ This operation is implemented in terms of zero or more calls to the device's
+ write_some_at function.
+ </p>
+<h6>
+<a name="boost_asio.reference.write_at.overload8.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload8.parameters"></a></span><a class="link" href="overload8.html#boost_asio.reference.write_at.overload8.parameters">Parameters</a>
+ </h6>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">d</span></dt>
+<dd><p>
+ The device to which the data is to be written. The type must support
+ the SyncRandomAccessWriteDevice concept.
+ </p></dd>
+<dt><span class="term">offset</span></dt>
+<dd><p>
+ The offset at which the data will be written.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The <a class="link" href="../basic_streambuf.html" title="basic_streambuf"><code class="computeroutput"><span class="identifier">basic_streambuf</span></code></a> object from
+ which data will be written.
+ </p></dd>
+<dt><span class="term">completion_condition</span></dt>
+<dd>
+<p>
+ The function object to be called to determine whether the write operation
+ is complete. The signature of the function object must be:
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">completion_condition</span><span class="special">(</span>
+ <span class="comment">// Result of latest write_some_at operation.</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+
+ <span class="comment">// Number of bytes transferred so far.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">bytes_transferred</span>
+<span class="special">);</span>
+</pre>
+<p>
+ A return value of 0 indicates that the write operation is complete.
+ A non-zero return value indicates the maximum number of bytes to
+ be written on the next call to the device's write_some_at function.
+ </p>
+</dd>
+<dt><span class="term">ec</span></dt>
+<dd><p>
+ Set to indicate what error occurred, if any.
+ </p></dd>
+</dl>
+</div>
+<h6>
+<a name="boost_asio.reference.write_at.overload8.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.write_at.overload8.return_value"></a></span><a class="link" href="overload8.html#boost_asio.reference.write_at.overload8.return_value">Return Value</a>
+ </h6>
+<p>
+ The number of bytes written. If an error occurs, returns the total number
+ of bytes successfully transferred prior to the error.
+ </p>
+</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 &#169; 2003-2017 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="overload7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../write_at.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../yield_context.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/reference/yield_context.html b/doc/html/boost_asio/reference/yield_context.html
new file mode 100644
index 0000000000..24ce35f37c
--- /dev/null
+++ b/doc/html/boost_asio/reference/yield_context.html
@@ -0,0 +1,174 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>yield_context</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../reference.html" title="Reference">
+<link rel="prev" href="write_at/overload8.html" title="write_at (8 of 8 overloads)">
+<link rel="next" href="is_error_code_enum_lt__addrinfo_errors__gt_.html" title="boost::system::is_error_code_enum&lt; boost::asio::error::addrinfo_errors &gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="write_at/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__addrinfo_errors__gt_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.reference.yield_context"></a><a class="link" href="yield_context.html" title="yield_context">yield_context</a>
+</h3></div></div></div>
+<p>
+ <a class="indexterm" name="idp180888768"></a>
+Context object that represents the currently executing coroutine.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_yield_context</span><span class="special">&lt;</span> <span class="identifier">unspecified</span> <span class="special">&gt;</span> <span class="identifier">yield_context</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="boost_asio.reference.yield_context.h0"></a>
+ <span class="phrase"><a name="boost_asio.reference.yield_context.types"></a></span><a class="link" href="yield_context.html#boost_asio.reference.yield_context.types">Types</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/callee_type.html" title="basic_yield_context::callee_type"><span class="bold"><strong>callee_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The coroutine callee type, used by the implementation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/caller_type.html" title="basic_yield_context::caller_type"><span class="bold"><strong>caller_type</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ The coroutine caller type, used by the implementation.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="boost_asio.reference.yield_context.h1"></a>
+ <span class="phrase"><a name="boost_asio.reference.yield_context.member_functions"></a></span><a class="link" href="yield_context.html#boost_asio.reference.yield_context.member_functions">Member
+ Functions</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/basic_yield_context.html" title="basic_yield_context::basic_yield_context"><span class="bold"><strong>basic_yield_context</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Construct a yield context to represent the specified coroutine.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="basic_yield_context/operator_lb__rb_.html" title="basic_yield_context::operator[]"><span class="bold"><strong>operator[]</strong></span></a>
+ </p>
+ </td>
+<td>
+ <p>
+ Return a yield context that sets the specified error_code.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The <a class="link" href="basic_yield_context.html" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> class is used
+ to represent the currently executing stackful coroutine. A <a class="link" href="basic_yield_context.html" title="basic_yield_context"><code class="computeroutput"><span class="identifier">basic_yield_context</span></code></a> may be passed
+ as a handler to an asynchronous operation. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Handler</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">my_coroutine</span><span class="special">(</span><span class="identifier">basic_yield_context</span><span class="special">&lt;</span><span class="identifier">Handler</span><span class="special">&gt;</span> <span class="identifier">yield</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">...</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">n</span> <span class="special">=</span> <span class="identifier">my_socket</span><span class="special">.</span><span class="identifier">async_read_some</span><span class="special">(</span><span class="identifier">buffer</span><span class="special">,</span> <span class="identifier">yield</span><span class="special">);</span>
+ <span class="special">...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The initiating function (async_read_some in the above example) suspends the
+ current coroutine. The coroutine is resumed when the asynchronous operation
+ completes, and the result of the operation is returned.
+ </p>
+<h5>
+<a name="boost_asio.reference.yield_context.h2"></a>
+ <span class="phrase"><a name="boost_asio.reference.yield_context.requirements"></a></span><a class="link" href="yield_context.html#boost_asio.reference.yield_context.requirements">Requirements</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/spawn.hpp</code>
+ </p>
+<p>
+ <span class="emphasis"><em>Convenience header: </em></span>None
+ </p>
+</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 &#169; 2003-2017 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="write_at/overload8.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_error_code_enum_lt__addrinfo_errors__gt_.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/sync_op.png b/doc/html/boost_asio/sync_op.png
new file mode 100644
index 0000000000..12324631bd
--- /dev/null
+++ b/doc/html/boost_asio/sync_op.png
Binary files differ
diff --git a/doc/html/boost_asio/tutorial.html b/doc/html/boost_asio/tutorial.html
index 408e2eb19b..e89703c8b3 100644
--- a/doc/html/boost_asio/tutorial.html
+++ b/doc/html/boost_asio/tutorial.html
@@ -1,14 +1,13 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Tutorial</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
<link rel="prev" href="using.html" title="Using Boost.Asio">
-<link rel="next" href="examples.html" title="Examples">
+<link rel="next" href="tutorial/tuttimer1.html" title="Timer.1 - Using a timer synchronously">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -21,38 +20,12 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="using.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="using.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/tuttimer1.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_asio.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer1">Timer.1 - Using a timer
- synchronously</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer2">Timer.2 - Using a timer
- asynchronously</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer3">Timer.3 - Binding arguments
- to a handler</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer4">Timer.4 - Using a member
- function as a handler</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer5">Timer.5 - Synchronising
- handlers in multithreaded programs</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime1">Daytime.1 - A synchronous
- TCP daytime client</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime2">Daytime.2 - A synchronous
- TCP daytime server</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime3">Daytime.3 - An asynchronous
- TCP daytime server</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime4">Daytime.4 - A synchronous
- UDP daytime client</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime5">Daytime.5 - A synchronous
- UDP daytime server</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime6">Daytime.6 - An asynchronous
- UDP daytime server</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime7">Daytime.7 - A combined
- TCP/UDP asynchronous server</a></span></dt>
-</dl></div>
<h4>
<a name="boost_asio.tutorial.h0"></a>
<span class="phrase"><a name="boost_asio.tutorial.basic_skills"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.basic_skills">Basic
@@ -66,21 +39,21 @@
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer1" title="Timer.1 - Using a timer synchronously">Timer.1 - Using a timer synchronously</a>
+ <a class="link" href="tutorial/tuttimer1.html" title="Timer.1 - Using a timer synchronously">Timer.1 - Using a timer synchronously</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a timer asynchronously</a>
+ <a class="link" href="tutorial/tuttimer2.html" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a timer asynchronously</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding arguments
+ <a class="link" href="tutorial/tuttimer3.html" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding arguments
to a handler</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a member
+ <a class="link" href="tutorial/tuttimer4.html" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a member
function as a handler</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer5" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising handlers
+ <a class="link" href="tutorial/tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising handlers
in multithreaded programs</a>
</li>
</ul></div>
@@ -99,15 +72,15 @@
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime1" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A synchronous
+ <a class="link" href="tutorial/tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A synchronous
TCP daytime client</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
+ <a class="link" href="tutorial/tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
TCP daytime server</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An asynchronous
+ <a class="link" href="tutorial/tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An asynchronous
TCP daytime server</a>
</li>
</ul></div>
@@ -116,15 +89,15 @@
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
+ <a class="link" href="tutorial/tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
UDP daytime client</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
+ <a class="link" href="tutorial/tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
UDP daytime server</a>
</li>
<li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An asynchronous
+ <a class="link" href="tutorial/tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An asynchronous
UDP daytime server</a>
</li>
</ul></div>
@@ -133,2459 +106,13 @@
TCP and UDP servers to be easily combined into a single program.
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
- <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A combined
+ <a class="link" href="tutorial/tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A combined
TCP/UDP asynchronous server</a>
</li></ul></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tuttimer1"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer1" title="Timer.1 - Using a timer synchronously">Timer.1 - Using a timer
- synchronously</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer1.src">Source listing for
- Timer.1</a></span></dt></dl></div>
-<p>
- This tutorial program introduces asio by showing how to perform a blocking
- wait on a timer.
- </p>
-<p>
- We start by including the necessary header files.
- </p>
-<p>
- All of the asio classes can be used by simply including the <code class="computeroutput"><span class="string">"asio.hpp"</span></code> header file.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- Since this example uses timers, we need to include the appropriate Boost.Date_Time
- header file for manipulating times.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- All programs that use asio need to have at least one <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
- object. This class provides access to I/O functionality. We declare an object
- of this type first thing in the main function.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
-</pre>
-<p>
- Next we declare an object of type boost::asio::deadline_timer. The core asio
- classes that provide I/O functionality (or as in this case timer functionality)
- always take a reference to an io_service as their first constructor argument.
- The second argument to the constructor sets the timer to expire 5 seconds
- from now.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-</pre>
-<p>
- In this simple example we perform a blocking wait on the timer. That is,
- the call to <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait" title="basic_deadline_timer::wait">deadline_timer::wait()</a>
- will not return until the timer has expired, 5 seconds after it was created
- (i.e. not from when the wait starts).
- </p>
-<p>
- A deadline timer is always in one of two states: "expired" or "not
- expired". If the <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.wait" title="basic_deadline_timer::wait">deadline_timer::wait()</a>
- function is called on an expired timer, it will return immediately.
- </p>
-<pre class="programlisting"> <span class="identifier">t</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-</pre>
-<p>
- Finally we print the obligatory <code class="computeroutput"><span class="string">"Hello,
- world!"</span></code> message to show when the timer has expired.
- </p>
-<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer1.src" title="Source listing for Timer.1">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a timer
- asynchronously</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tuttimer1.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer1.src" title="Source listing for Timer.1">Source listing for
- Timer.1</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// timer.cpp</span>
-<span class="comment">// ~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
- <span class="identifier">t</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer1" title="Timer.1 - Using a timer synchronously">Timer.1 - Using
- a timer synchronously</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tuttimer2"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a timer
- asynchronously</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer2.src">Source listing for
- Timer.2</a></span></dt></dl></div>
-<p>
- This tutorial program demonstrates how to use asio's asynchronous callback
- functionality by modifying the program from tutorial Timer.1 to perform an
- asynchronous wait on the timer.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- Using asio's asynchronous functionality means having a callback function
- that will be called when an asynchronous operation completes. In this program
- we define a function called <code class="computeroutput"><span class="identifier">print</span></code>
- to be called when the asynchronous wait finishes.
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
-</pre>
-<p>
- Next, instead of doing a blocking wait as in tutorial Timer.1, we call the
- <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>
- function to perform an asynchronous wait. When calling this function we pass
- the <code class="computeroutput"><span class="identifier">print</span></code> callback handler
- that was defined above.
- </p>
-<pre class="programlisting"> <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(&amp;</span><span class="identifier">print</span><span class="special">);</span>
-</pre>
-<p>
- Finally, we must call the <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- member function on the io_service object.
- </p>
-<p>
- The asio library provides a guarantee that callback handlers will only be
- called from threads that are currently calling <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>.
- Therefore unless the <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- function is called the callback for the asynchronous wait completion will
- never be invoked.
- </p>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- function will also continue to run while there is still "work"
- to do. In this example, the work is the asynchronous wait on the timer, so
- the call will not return until the timer has expired and the callback has
- completed.
- </p>
-<p>
- It is important to remember to give the io_service some work to do before
- calling <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>.
- For example, if we had omitted the above call to <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>,
- the io_service would not have had any work to do, and consequently <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a> would
- have returned immediately.
- </p>
-<pre class="programlisting"> <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2.src" title="Source listing for Timer.2">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer1" title="Timer.1 - Using a timer synchronously">Timer.1 - Using a
- timer synchronously</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding arguments
- to a handler</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tuttimer2.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2.src" title="Source listing for Timer.2">Source listing for
- Timer.2</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// timer.cpp</span>
-<span class="comment">// ~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
- <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(&amp;</span><span class="identifier">print</span><span class="special">);</span>
-
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using
- a timer asynchronously</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tuttimer3"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding arguments
- to a handler</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer3.src">Source listing for
- Timer.3</a></span></dt></dl></div>
-<p>
- In this tutorial we will modify the program from tutorial Timer.2 so that
- the timer fires once a second. This will show how to pass additional parameters
- to your handler function.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- To implement a repeating timer using asio you need to change the timer's
- expiry time in your callback function, and to then start a new asynchronous
- wait. Obviously this means that the callback function will need to be able
- to access the timer object. To this end we add two new parameters to the
- <code class="computeroutput"><span class="identifier">print</span></code> function:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- A pointer to a timer object.
- </li>
-<li class="listitem">
- A counter so that we can stop the program when the timer fires for the
- sixth time.
- </li>
-</ul></div>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span><span class="special">*</span> <span class="identifier">t</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">count</span><span class="special">)</span>
-<span class="special">{</span>
-</pre>
-<p>
- As mentioned above, this tutorial program uses a counter to stop running
- when the timer fires for the sixth time. However you will observe that there
- is no explicit call to ask the io_service to stop. Recall that in tutorial
- Timer.2 we learnt that the <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- function completes when there is no more "work" to do. By not starting
- a new asynchronous wait on the timer when <code class="computeroutput"><span class="identifier">count</span></code>
- reaches 5, the io_service will run out of work and stop running.
- </p>
-<pre class="programlisting"> <span class="keyword">if</span> <span class="special">(*</span><span class="identifier">count</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++(*</span><span class="identifier">count</span><span class="special">);</span>
-</pre>
-<p>
- Next we move the expiry time for the timer along by one second from the previous
- expiry time. By calculating the new expiry time relative to the old, we can
- ensure that the timer does not drift away from the whole-second mark due
- to any delays in processing the handler.
- </p>
-<pre class="programlisting"> <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
-</pre>
-<p>
- Then we start a new asynchronous wait on the timer. As you can see, the boost::bind()
- function is used to associate the extra parameters with your callback handler.
- The <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>
- function expects a handler function (or function object) with the signature
- <code class="computeroutput"><span class="keyword">void</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;)</span></code>. Binding the additional parameters
- converts your <code class="computeroutput"><span class="identifier">print</span></code> function
- into a function object that matches the signature correctly.
- </p>
-<p>
- See the <a href="http://www.boost.org/libs/bind/bind.html" target="_top">Boost.Bind
- documentation</a> for more information on how to use boost::bind().
- </p>
-<p>
- In this example, the boost::asio::placeholders::error argument to boost::bind()
- is a named placeholder for the error object passed to the handler. When initiating
- the asynchronous operation, and if using boost::bind(), you must specify
- only the arguments that match the handler's parameter list. In tutorial Timer.4
- you will see that this placeholder may be elided if the parameter is not
- needed by the callback handler.
- </p>
-<pre class="programlisting"> <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">count</span><span class="special">));</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
-</pre>
-<p>
- A new <code class="computeroutput"><span class="identifier">count</span></code> variable is added
- so that we can stop the program when the timer fires for the sixth time.
- </p>
-<pre class="programlisting"> <span class="keyword">int</span> <span class="identifier">count</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
-</pre>
-<p>
- As in Step 4, when making the call to <a class="link" href="reference.html#boost_asio.reference.basic_deadline_timer.async_wait" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>
- from <code class="computeroutput"><span class="identifier">main</span></code> we bind the additional
- parameters needed for the <code class="computeroutput"><span class="identifier">print</span></code>
- function.
- </p>
-<pre class="programlisting"> <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">t</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">count</span><span class="special">));</span>
-
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
-</pre>
-<p>
- Finally, just to prove that the <code class="computeroutput"><span class="identifier">count</span></code>
- variable was being used in the <code class="computeroutput"><span class="identifier">print</span></code>
- handler function, we will print out its new value.
- </p>
-<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3.src" title="Source listing for Timer.3">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer2" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a
- timer asynchronously</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a member
- function as a handler</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tuttimer3.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3.src" title="Source listing for Timer.3">Source listing for
- Timer.3</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// timer.cpp</span>
-<span class="comment">// ~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span><span class="special">*</span> <span class="identifier">t</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">count</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(*</span><span class="identifier">count</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++(*</span><span class="identifier">count</span><span class="special">);</span>
-
- <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">count</span><span class="special">));</span>
- <span class="special">}</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
-
- <span class="keyword">int</span> <span class="identifier">count</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">t</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">count</span><span class="special">));</span>
-
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding
- arguments to a handler</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tuttimer4"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a member
- function as a handler</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer4.src">Source listing for
- Timer.4</a></span></dt></dl></div>
-<p>
- In this tutorial we will see how to use a class member function as a callback
- handler. The program should execute identically to the tutorial program from
- tutorial Timer.3.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- Instead of defining a free function <code class="computeroutput"><span class="identifier">print</span></code>
- as the callback handler, as we did in the earlier tutorial programs, we now
- define a class called <code class="computeroutput"><span class="identifier">printer</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">printer</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-</pre>
-<p>
- The constructor of this class will take a reference to the io_service object
- and use it when initialising the <code class="computeroutput"><span class="identifier">timer_</span></code>
- member. The counter used to shut down the program is now also a member of
- the class.
- </p>
-<pre class="programlisting"> <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">timer_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
- <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
-</pre>
-<p>
- The boost::bind() function works just as well with class member functions
- as with free functions. Since all non-static class member functions have
- an implicit <code class="computeroutput"><span class="keyword">this</span></code> parameter,
- we need to bind <code class="computeroutput"><span class="keyword">this</span></code> to the
- function. As in tutorial Timer.3, boost::bind() converts our callback handler
- (now a member function) into a function object that can be invoked as though
- it has the signature <code class="computeroutput"><span class="keyword">void</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;)</span></code>.
- </p>
-<p>
- You will note that the boost::asio::placeholders::error placeholder is not
- specified here, as the <code class="computeroutput"><span class="identifier">print</span></code>
- member function does not accept an error object as a parameter.
- </p>
-<pre class="programlisting"> <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
- <span class="special">}</span>
-</pre>
-<p>
- In the class destructor we will print out the final value of the counter.
- </p>
-<pre class="programlisting"> <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">print</span></code> member function
- is very similar to the <code class="computeroutput"><span class="identifier">print</span></code>
- function from tutorial Timer.3, except that it now operates on the class
- data members instead of having the timer and counter passed in as parameters.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">print</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
-
- <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">main</span></code> function is much
- simpler than before, as it now declares a local <code class="computeroutput"><span class="identifier">printer</span></code>
- object before running the io_service as normal.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
- <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4.src" title="Source listing for Timer.4">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer3" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding
- arguments to a handler</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer5" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising
- handlers in multithreaded programs</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tuttimer4.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4.src" title="Source listing for Timer.4">Source listing for
- Timer.4</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// timer.cpp</span>
-<span class="comment">// ~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">class</span> <span class="identifier">printer</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">timer_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
- <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">print</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
-
- <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
- <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4" title="Timer.4 - Using a member function as a handler">Timer.4 - Using
- a member function as a handler</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tuttimer5"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer5" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising
- handlers in multithreaded programs</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tuttimer5.src">Source listing for
- Timer.5</a></span></dt></dl></div>
-<p>
- This tutorial demonstrates the use of the boost::asio::strand class to synchronise
- callback handlers in a multithreaded program.
- </p>
-<p>
- The previous four tutorials avoided the issue of handler synchronisation
- by calling the <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- function from one thread only. As you already know, the asio library provides
- a guarantee that callback handlers will only be called from threads that
- are currently calling <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>.
- Consequently, calling <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- from only one thread ensures that callback handlers cannot run concurrently.
- </p>
-<p>
- The single threaded approach is usually the best place to start when developing
- applications using asio. The downside is the limitations it places on programs,
- particularly servers, including:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
- Poor responsiveness when handlers can take a long time to complete.
- </li>
-<li class="listitem">
- An inability to scale on multiprocessor systems.
- </li>
-</ul></div>
-<p>
- If you find yourself running into these limitations, an alternative approach
- is to have a pool of threads calling <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>.
- However, as this allows handlers to execute concurrently, we need a method
- of synchronisation when handlers might be accessing a shared, thread-unsafe
- resource.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">/</span><span class="identifier">thread</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- We start by defining a class called <code class="computeroutput"><span class="identifier">printer</span></code>,
- similar to the class in the previous tutorial. This class will extend the
- previous tutorial by running two timers in parallel.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">printer</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-</pre>
-<p>
- In addition to initialising a pair of boost::asio::deadline_timer members,
- the constructor initialises the <code class="computeroutput"><span class="identifier">strand_</span></code>
- member, an object of type boost::asio::strand.
- </p>
-<p>
- An boost::asio::strand guarantees that, for those handlers that are dispatched
- through it, an executing handler will be allowed to complete before the next
- one is started. This is guaranteed irrespective of the number of threads
- that are calling <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>.
- Of course, the handlers may still execute concurrently with other handlers
- that were not dispatched through an boost::asio::strand, or were dispatched
- through a different boost::asio::strand object.
- </p>
-<pre class="programlisting"> <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">strand_</span><span class="special">(</span><span class="identifier">io</span><span class="special">),</span>
- <span class="identifier">timer1_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
- <span class="identifier">timer2_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
- <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
-</pre>
-<p>
- When initiating the asynchronous operations, each callback handler is "wrapped"
- using the boost::asio::strand object. The <a class="link" href="reference.html#boost_asio.reference.io_service__strand.wrap" title="io_service::strand::wrap">strand::wrap()</a>
- function returns a new handler that automatically dispatches its contained
- handler through the boost::asio::strand object. By wrapping the handlers
- using the same boost::asio::strand, we are ensuring that they cannot execute
- concurrently.
- </p>
-<pre class="programlisting"> <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="special">}</span>
-
- <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-</pre>
-<p>
- In a multithreaded program, the handlers for asynchronous operations should
- be synchronised if they access shared resources. In this tutorial, the shared
- resources used by the handlers (<code class="computeroutput"><span class="identifier">print1</span></code>
- and <code class="computeroutput"><span class="identifier">print2</span></code>) are <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span></code>
- and the <code class="computeroutput"><span class="identifier">count_</span></code> data member.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">print1</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 1: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
-
- <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">print2</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 2: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
-
- <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer1_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer2_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">main</span></code> function now causes
- <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a>
- to be called from two threads: the main thread and one additional thread.
- This is accomplished using an boost::thread object.
- </p>
-<p>
- Just as it would with a call from a single thread, concurrent calls to <a class="link" href="reference.html#boost_asio.reference.io_service.run" title="io_service::run">io_service::run()</a> will
- continue to execute while there is "work" left to do. The background
- thread will not exit until all asynchronous operations have completed.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
- <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">io</span><span class="special">));</span>
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="identifier">t</span><span class="special">.</span><span class="identifier">join</span><span class="special">();</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer5.src" title="Source listing for Timer.5">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer4" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a
- member function as a handler</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tuttimer5.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer5.src" title="Source listing for Timer.5">Source listing for
- Timer.5</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// timer.cpp</span>
-<span class="comment">// ~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">/</span><span class="identifier">thread</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">class</span> <span class="identifier">printer</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">strand_</span><span class="special">(</span><span class="identifier">io</span><span class="special">),</span>
- <span class="identifier">timer1_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
- <span class="identifier">timer2_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
- <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="special">}</span>
-
- <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">print1</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 1: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
-
- <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">print2</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 2: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
-
- <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
- <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer1_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer2_</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
- <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">io</span><span class="special">));</span>
- <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="identifier">t</span><span class="special">.</span><span class="identifier">join</span><span class="special">();</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tuttimer5" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising
- handlers in multithreaded programs</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime1"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime1" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A synchronous
- TCP daytime client</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime1.src">Source listing
- for Daytime.1</a></span></dt></dl></div>
-<p>
- This tutorial program shows how to use asio to implement a client application
- with TCP.
- </p>
-<p>
- We start by including the necessary header files.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- The purpose of this application is to access a daytime service, so we need
- the user to specify the server.
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
- <span class="special">}</span>
-</pre>
-<p>
- All programs that use asio need to have at least one <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
- object.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-</pre>
-<p>
- We need to turn the server name that was specified as a parameter to the
- application, into a TCP endpoint. To do this we use an <a class="link" href="reference.html#boost_asio.reference.ip__tcp.resolver" title="ip::tcp::resolver">ip::tcp::resolver</a>
- object.
- </p>
-<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- A resolver takes a query object and turns it into a list of endpoints. We
- construct a query using the name of the server, specified in <code class="computeroutput"><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">]</span></code>, and the name of the service, in this case
- <code class="computeroutput"><span class="string">"daytime"</span></code>.
- </p>
-<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
-</pre>
-<p>
- The list of endpoints is returned using an iterator of type <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator">ip::tcp::resolver::iterator</a>.
- (Note that a default constructed <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.iterator" title="ip::basic_resolver::iterator">ip::tcp::resolver::iterator</a>
- object can be used as an end iterator.)
- </p>
-<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">endpoint_iterator</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
-</pre>
-<p>
- Now we create and connect the socket. The list of endpoints obtained above
- may contain both IPv4 and IPv6 endpoints, so we need to try each of them
- until we find one that works. This keeps the client program independent of
- a specific IP version. The boost::asio::connect() function does this for
- us automatically.
- </p>
-<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint_iterator</span><span class="special">);</span>
-</pre>
-<p>
- The connection is open. All we need to do now is read the response from the
- daytime service.
- </p>
-<p>
- We use a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> to hold the received data. The boost::asio::buffer()
- function automatically determines the size of the array to help prevent buffer
- overruns. Instead of a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>,
- we could have used a <code class="computeroutput"><span class="keyword">char</span> <span class="special">[]</span></code>
- or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>.
- </p>
-<pre class="programlisting"> <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
-
- <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span> <span class="identifier">error</span><span class="special">);</span>
-</pre>
-<p>
- When the server closes the connection, the <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.read_some" title="basic_stream_socket::read_some">ip::tcp::socket::read_some()</a>
- function will exit with the boost::asio::error::eof error, which is how we
- know to exit the loop.
- </p>
-<pre class="programlisting"> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span><span class="special">)</span>
- <span class="keyword">break</span><span class="special">;</span> <span class="comment">// Connection closed cleanly by peer.</span>
- <span class="keyword">else</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span><span class="special">)</span>
- <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span> <span class="comment">// Some other error.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
- <span class="special">}</span>
-</pre>
-<p>
- Finally, handle any exceptions that may have been thrown.
- </p>
-<pre class="programlisting"> <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime1.src" title="Source listing for Daytime.1">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
- TCP daytime server</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime1.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime1.src" title="Source listing for Daytime.1">Source listing
- for Daytime.1</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// client.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">endpoint_iterator</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint_iterator</span><span class="special">);</span>
-
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
-
- <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span> <span class="identifier">error</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span><span class="special">)</span>
- <span class="keyword">break</span><span class="special">;</span> <span class="comment">// Connection closed cleanly by peer.</span>
- <span class="keyword">else</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span><span class="special">)</span>
- <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span> <span class="comment">// Some other error.</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime1" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A
- synchronous TCP daytime client</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime2"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
- TCP daytime server</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime2.src">Source listing
- for Daytime.2</a></span></dt></dl></div>
-<p>
- This tutorial program shows how to use asio to implement a server application
- with TCP.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-</pre>
-<p>
- We define the function <code class="computeroutput"><span class="identifier">make_daytime_string</span><span class="special">()</span></code> to create the string to be sent back to
- the client. This function will be reused in all of our daytime server applications.
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
- <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-</pre>
-<p>
- A <a class="link" href="reference.html#boost_asio.reference.ip__tcp.acceptor" title="ip::tcp::acceptor">ip::tcp::acceptor</a>
- object needs to be created to listen for new connections. It is initialised
- to listen on TCP port 13, for IP version 4.
- </p>
-<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
-</pre>
-<p>
- This is an iterative server, which means that it will handle one connection
- at a time. Create a socket that will represent the connection to the client,
- and then wait for a connection.
- </p>
-<pre class="programlisting"> <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
-</pre>
-<p>
- A client is accessing our service. Determine the current time and transfer
- this information to the client.
- </p>
-<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">ignored_error</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
-</pre>
-<p>
- Finally, handle any exceptions.
- </p>
-<pre class="programlisting"> <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2.src" title="Source listing for Daytime.2">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime1" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A synchronous
- TCP daytime client</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An asynchronous
- TCP daytime server</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime2.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2.src" title="Source listing for Daytime.2">Source listing
- for Daytime.2</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// server.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
- <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
-
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">ignored_error</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A
- synchronous TCP daytime server</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime3"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An asynchronous
- TCP daytime server</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime3.src">Source listing
- for Daytime.3</a></span></dt></dl></div>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime3.h0"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.the_main___function"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3.the_main___function">The
- main() function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
-</pre>
-<p>
- We need to create a server object to accept incoming client connections.
- The <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a> object
- provides I/O services, such as sockets, that the server object will use.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
- <span class="identifier">tcp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- Run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
- object so that it will perform asynchronous operations on your behalf.
- </p>
-<pre class="programlisting"> <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime3.h1"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.the_tcp_server_class"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3.the_tcp_server_class">The tcp_server
- class</a>
- </h5>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-</pre>
-<p>
- The constructor initialises an acceptor to listen on TCP port 13.
- </p>
-<pre class="programlisting"> <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
-</pre>
-<p>
- The function <code class="computeroutput"><span class="identifier">start_accept</span><span class="special">()</span></code> creates a socket and initiates an asynchronous
- accept operation to wait for a new connection.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
-
- <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
- <span class="special">}</span>
-</pre>
-<p>
- The function <code class="computeroutput"><span class="identifier">handle_accept</span><span class="special">()</span></code> is called when the asynchronous accept
- operation initiated by <code class="computeroutput"><span class="identifier">start_accept</span><span class="special">()</span></code> finishes. It services the client request,
- and then calls <code class="computeroutput"><span class="identifier">start_accept</span><span class="special">()</span></code> to initiate the next accept operation.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime3.h2"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.the_tcp_connection_class"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3.the_tcp_connection_class">The tcp_connection
- class</a>
- </h5>
-<p>
- We will use <code class="computeroutput"><span class="identifier">shared_ptr</span></code> and
- <code class="computeroutput"><span class="identifier">enable_shared_from_this</span></code> because
- we want to keep the <code class="computeroutput"><span class="identifier">tcp_connection</span></code>
- object alive as long as there is an operation that refers to it.
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp_connection</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
-
- <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="special">}</span>
-</pre>
-<p>
- In the function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code>,
- we call boost::asio::async_write() to serve the data to the client. Note
- that we are using boost::asio::async_write(), rather than <a class="link" href="reference.html#boost_asio.reference.basic_stream_socket.async_write_some" title="basic_stream_socket::async_write_some">ip::tcp::socket::async_write_some()</a>,
- to ensure that the entire block of data is sent.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
- <span class="special">{</span>
-</pre>
-<p>
- The data to be sent is stored in the class member <code class="computeroutput"><span class="identifier">message_</span></code>
- as we need to keep the data valid until the asynchronous operation is complete.
- </p>
-<pre class="programlisting"> <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-</pre>
-<p>
- When initiating the asynchronous operation, and if using boost::bind(), you
- must specify only the arguments that match the handler's parameter list.
- In this program, both of the argument placeholders (boost::asio::placeholders::error
- and boost::asio::placeholders::bytes_transferred) could potentially have
- been removed, since they are not being used in <code class="computeroutput"><span class="identifier">handle_write</span><span class="special">()</span></code>.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">(),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
-</pre>
-<p>
- Any further actions for this client connection are now the responsibility
- of <code class="computeroutput"><span class="identifier">handle_write</span><span class="special">()</span></code>.
- </p>
-<pre class="programlisting"> <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
- <span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime3.h3"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.removing_unused_handler_parameters"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3.removing_unused_handler_parameters">Removing
- unused handler parameters</a>
- </h5>
-<p>
- You may have noticed that the <code class="computeroutput"><span class="identifier">error</span></code>,
- and <code class="computeroutput"><span class="identifier">bytes_transferred</span></code> parameters
- are not used in the body of the <code class="computeroutput"><span class="identifier">handle_write</span><span class="special">()</span></code> function. If parameters are not needed,
- it is possible to remove them from the function so that it looks like:
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="special">}</span>
-</pre>
-<p>
- The boost::asio::async_write() call used to initiate the call can then be
- changed to just:
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">()));</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3.src" title="Source listing for Daytime.3">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime2" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
- TCP daytime server</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
- UDP daytime client</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime3.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3.src" title="Source listing for Daytime.3">Source listing
- for Daytime.3</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// server.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">shared_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">enable_shared_from_this</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
- <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">tcp_connection</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
-
- <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">(),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
- <span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">class</span> <span class="identifier">tcp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
-
- <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
- <span class="identifier">tcp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An
- asynchronous TCP daytime server</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime4"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
- UDP daytime client</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime4.src">Source listing
- for Daytime.4</a></span></dt></dl></div>
-<p>
- This tutorial program shows how to use asio to implement a client application
- with UDP.
- </p>
-<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
-</pre>
-<p>
- The start of the application is essentially the same as for the TCP daytime
- client.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-</pre>
-<p>
- We use an <a class="link" href="reference.html#boost_asio.reference.ip__udp.resolver" title="ip::udp::resolver">ip::udp::resolver</a>
- object to find the correct remote endpoint to use based on the host and service
- names. The query is restricted to return only IPv4 endpoints by the <a class="link" href="reference.html#boost_asio.reference.ip__udp.v4" title="ip::udp::v4">ip::udp::v4()</a> argument.
- </p>
-<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
-</pre>
-<p>
- The <a class="link" href="reference.html#boost_asio.reference.ip__basic_resolver.resolve" title="ip::basic_resolver::resolve">ip::udp::resolver::resolve()</a>
- function is guaranteed to return at least one endpoint in the list if it
- does not fail. This means it is safe to dereference the return value directly.
- </p>
-<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">receiver_endpoint</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
-</pre>
-<p>
- Since UDP is datagram-oriented, we will not be using a stream socket. Create
- an <a class="link" href="reference.html#boost_asio.reference.ip__udp.socket" title="ip::udp::socket">ip::udp::socket</a>
- and initiate contact with the remote endpoint.
- </p>
-<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">send_buf</span> <span class="special">=</span> <span class="special">{{</span> <span class="number">0</span> <span class="special">}};</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">send_buf</span><span class="special">),</span> <span class="identifier">receiver_endpoint</span><span class="special">);</span>
-</pre>
-<p>
- Now we need to be ready to accept whatever the server sends back to us. The
- endpoint on our side that receives the server's response will be initialised
- by <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from">ip::udp::socket::receive_from()</a>.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
- <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
- <span class="special">}</span>
-</pre>
-<p>
- Finally, handle any exceptions that may have been thrown.
- </p>
-<pre class="programlisting"> <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4.src" title="Source listing for Daytime.4">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An
- asynchronous TCP daytime server</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
- UDP daytime server</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime4.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4.src" title="Source listing for Daytime.4">Source listing
- for Daytime.4</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// client.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">receiver_endpoint</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">send_buf</span> <span class="special">=</span> <span class="special">{{</span> <span class="number">0</span> <span class="special">}};</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">send_buf</span><span class="special">),</span> <span class="identifier">receiver_endpoint</span><span class="special">);</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
- <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A
- synchronous UDP daytime client</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime5"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
- UDP daytime server</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime5.src">Source listing
- for Daytime.5</a></span></dt></dl></div>
-<p>
- This tutorial program shows how to use asio to implement a server application
- with UDP.
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-</pre>
-<p>
- Create an <a class="link" href="reference.html#boost_asio.reference.ip__udp.socket" title="ip::udp::socket">ip::udp::socket</a>
- object to receive requests on UDP port 13.
- </p>
-<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
-</pre>
-<p>
- Wait for a client to initiate contact with us. The remote_endpoint object
- will be populated by <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.receive_from" title="basic_datagram_socket::receive_from">ip::udp::socket::receive_from()</a>.
- </p>
-<pre class="programlisting"> <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span>
- <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">error</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">&amp;&amp;</span> <span class="identifier">error</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
- <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span>
-</pre>
-<p>
- Determine what we are going to send back to the client.
- </p>
-<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-</pre>
-<p>
- Send the response to the remote_endpoint.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span>
- <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ignored_error</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
-</pre>
-<p>
- Finally, handle any exceptions.
- </p>
-<pre class="programlisting"> <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5.src" title="Source listing for Daytime.5">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime4" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
- UDP daytime client</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An asynchronous
- UDP daytime server</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime5.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5.src" title="Source listing for Daytime.5">Source listing
- for Daytime.5</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// server.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
- <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
-
- <span class="keyword">for</span> <span class="special">(;;)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span>
- <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">error</span><span class="special">);</span>
-
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">&amp;&amp;</span> <span class="identifier">error</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
- <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
- <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span>
- <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ignored_error</span><span class="special">);</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A
- synchronous UDP daytime server</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime6"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An asynchronous
- UDP daytime server</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime6.src">Source listing
- for Daytime.6</a></span></dt></dl></div>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime6.h0"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime6.the_main___function"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6.the_main___function">The
- main() function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
-</pre>
-<p>
- Create a server object to accept incoming client requests, and run the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a> object.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
- <span class="identifier">udp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime6.h1"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime6.the_udp_server_class"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6.the_udp_server_class">The udp_server
- class</a>
- </h5>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">udp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-</pre>
-<p>
- The constructor initialises a socket to listen on UDP port 13.
- </p>
-<pre class="programlisting"> <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
- <span class="special">{</span>
-</pre>
-<p>
- The function <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_receive_from" title="basic_datagram_socket::async_receive_from">ip::udp::socket::async_receive_from()</a>
- will cause the application to listen in the background for a new request.
- When such a request is received, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
- object will invoke the <code class="computeroutput"><span class="identifier">handle_receive</span><span class="special">()</span></code> function with two arguments: a value of
- type boost::system::error_code indicating whether the operation succeeded
- or failed, and a <code class="computeroutput"><span class="identifier">size_t</span></code> value
- <code class="computeroutput"><span class="identifier">bytes_transferred</span></code> specifying
- the number of bytes received.
- </p>
-<pre class="programlisting"> <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
- <span class="special">}</span>
-</pre>
-<p>
- The function <code class="computeroutput"><span class="identifier">handle_receive</span><span class="special">()</span></code> will service the client request.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
- <span class="special">{</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">error</span></code> parameter contains
- the result of the asynchronous operation. Since we only provide the 1-byte
- <code class="computeroutput"><span class="identifier">recv_buffer_</span></code> to contain the
- client's request, the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
- object would return an error if the client sent anything larger. We can ignore
- such an error if it comes up.
- </p>
-<pre class="programlisting"> <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
- <span class="special">{</span>
-</pre>
-<p>
- Determine what we are going to send.
- </p>
-<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
- <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
-</pre>
-<p>
- We now call <a class="link" href="reference.html#boost_asio.reference.basic_datagram_socket.async_send_to" title="basic_datagram_socket::async_send_to">ip::udp::socket::async_send_to()</a>
- to serve the data to the client.
- </p>
-<pre class="programlisting"> <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
-</pre>
-<p>
- When initiating the asynchronous operation, and if using boost::bind(), you
- must specify only the arguments that match the handler's parameter list.
- In this program, both of the argument placeholders (boost::asio::placeholders::error
- and boost::asio::placeholders::bytes_transferred) could potentially have
- been removed.
- </p>
-<p>
- Start listening for the next client request.
- </p>
-<pre class="programlisting"> <span class="identifier">start_receive</span><span class="special">();</span>
-</pre>
-<p>
- Any further actions for this client request are now the responsibility of
- <code class="computeroutput"><span class="identifier">handle_send</span><span class="special">()</span></code>.
- </p>
-<pre class="programlisting"> <span class="special">}</span>
- <span class="special">}</span>
-</pre>
-<p>
- The function <code class="computeroutput"><span class="identifier">handle_send</span><span class="special">()</span></code> is invoked after the service request has
- been completed.
- </p>
-<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6.src" title="Source listing for Daytime.6">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime5" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
- UDP daytime server</a>
- </p>
-<p>
- Next: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A combined
- TCP/UDP asynchronous server</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime6.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6.src" title="Source listing for Daytime.6">Source listing
- for Daytime.6</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// server.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">shared_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
- <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">udp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
- <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
-
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
-
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
- <span class="identifier">udp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An
- asynchronous UDP daytime server</a>
- </p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_asio.tutorial.tutdaytime7"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A combined
- TCP/UDP asynchronous server</a>
-</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="tutorial.html#boost_asio.tutorial.tutdaytime7.src">Source listing
- for Daytime.7</a></span></dt></dl></div>
-<p>
- This tutorial program shows how to combine the two asynchronous servers that
- we have just written, into a single server application.
- </p>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime7.h0"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime7.the_main___function"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7.the_main___function">The
- main() function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
-</pre>
-<p>
- We will begin by creating a server object to accept a TCP client connection.
- </p>
-<pre class="programlisting"> <span class="identifier">tcp_server</span> <span class="identifier">server1</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- We also need a server object to accept a UDP client request.
- </p>
-<pre class="programlisting"> <span class="identifier">udp_server</span> <span class="identifier">server2</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
-</pre>
-<p>
- We have created two lots of work for the <a class="link" href="reference.html#boost_asio.reference.io_service" title="io_service">io_service</a>
- object to do.
- </p>
-<pre class="programlisting"> <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime7.h1"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime7.the_tcp_connection_and_tcp_server_classes"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7.the_tcp_connection_and_tcp_server_classes">The
- tcp_connection and tcp_server classes</a>
- </h5>
-<p>
- The following two classes are taken from <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime3" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3</a>
- .
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp_connection</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
-
- <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">()));</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">class</span> <span class="identifier">tcp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
-
- <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<h5>
-<a name="boost_asio.tutorial.tutdaytime7.h2"></a>
- <span class="phrase"><a name="boost_asio.tutorial.tutdaytime7.the_udp_server_class"></a></span><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7.the_udp_server_class">The udp_server
- class</a>
- </h5>
-<p>
- Similarly, this next class is taken from the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6" title="Daytime.6 - An asynchronous UDP daytime server">previous
- tutorial step</a> .
- </p>
-<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">udp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
- <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
-
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">));</span>
-
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- See the <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7.src" title="Source listing for Daytime.7">full source listing</a>
- </p>
-<p>
- Return to the <a class="link" href="tutorial.html" title="Tutorial">tutorial index</a>
- </p>
-<p>
- Previous: <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime6" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An
- asynchronous UDP daytime server</a>
- </p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="boost_asio.tutorial.tutdaytime7.src"></a><a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7.src" title="Source listing for Daytime.7">Source listing
- for Daytime.7</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="comment">//</span>
-<span class="comment">// server.cpp</span>
-<span class="comment">// ~~~~~~~~~~</span>
-<span class="comment">//</span>
-<span class="comment">// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
-<span class="comment">//</span>
-<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
-<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
-<span class="comment">//</span>
-
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">shared_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">enable_shared_from_this</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
- <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">class</span> <span class="identifier">tcp_connection</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
-
- <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
-
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">()));</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">class</span> <span class="identifier">tcp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
- <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
-
- <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">start_accept</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">class</span> <span class="identifier">udp_server</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
- <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
-
- <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">));</span>
-
- <span class="identifier">start_receive</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="special">}</span>
-
- <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
- <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
- <span class="identifier">tcp_server</span> <span class="identifier">server1</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">udp_server</span> <span class="identifier">server2</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
- <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Return to <a class="link" href="tutorial.html#boost_asio.tutorial.tutdaytime7" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A
- combined TCP/UDP asynchronous server</a>
- </p>
-</div>
-</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 &#169; 2003-2016 Christopher
- M. Kohlhoff<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2017 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>
@@ -2593,7 +120,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="using.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="using.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/tuttimer1.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime1.html b/doc/html/boost_asio/tutorial/tutdaytime1.html
new file mode 100644
index 0000000000..18ba72a37c
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime1.html
@@ -0,0 +1,158 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.1 - A synchronous TCP daytime client</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tuttimer5/src.html" title="Source listing for Timer.5">
+<link rel="next" href="tutdaytime1/src.html" title="Source listing for Daytime.1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuttimer5/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime1/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime1"></a><a class="link" href="tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A synchronous
+ TCP daytime client</a>
+</h3></div></div></div>
+<p>
+ This tutorial program shows how to use asio to implement a client application
+ with TCP.
+ </p>
+<p>
+ We start by including the necessary header files.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The purpose of this application is to access a daytime service, so we need
+ the user to specify the server.
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ All programs that use asio need to have at least one <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>
+ object.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+</pre>
+<p>
+ We need to turn the server name that was specified as a parameter to the
+ application, into a TCP endpoint. To do this we use an <a class="link" href="../reference/ip__tcp/resolver.html" title="ip::tcp::resolver">ip::tcp::resolver</a>
+ object.
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ A resolver takes a query object and turns it into a list of endpoints. We
+ construct a query using the name of the server, specified in <code class="computeroutput"><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">]</span></code>, and the name of the service, in this case
+ <code class="computeroutput"><span class="string">"daytime"</span></code>.
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
+</pre>
+<p>
+ The list of endpoints is returned using an iterator of type <a class="link" href="../reference/ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator">ip::tcp::resolver::iterator</a>.
+ (Note that a default constructed <a class="link" href="../reference/ip__basic_resolver/iterator.html" title="ip::basic_resolver::iterator">ip::tcp::resolver::iterator</a>
+ object can be used as an end iterator.)
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">endpoint_iterator</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+</pre>
+<p>
+ Now we create and connect the socket. The list of endpoints obtained above
+ may contain both IPv4 and IPv6 endpoints, so we need to try each of them
+ until we find one that works. This keeps the client program independent of
+ a specific IP version. The boost::asio::connect() function does this for
+ us automatically.
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint_iterator</span><span class="special">);</span>
+</pre>
+<p>
+ The connection is open. All we need to do now is read the response from the
+ daytime service.
+ </p>
+<p>
+ We use a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> to hold the received data. The boost::asio::buffer()
+ function automatically determines the size of the array to help prevent buffer
+ overruns. Instead of a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>,
+ we could have used a <code class="computeroutput"><span class="keyword">char</span> <span class="special">[]</span></code>
+ or <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>.
+ </p>
+<pre class="programlisting"> <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
+
+ <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span> <span class="identifier">error</span><span class="special">);</span>
+</pre>
+<p>
+ When the server closes the connection, the <a class="link" href="../reference/basic_stream_socket/read_some.html" title="basic_stream_socket::read_some">ip::tcp::socket::read_some()</a>
+ function will exit with the boost::asio::error::eof error, which is how we
+ know to exit the loop.
+ </p>
+<pre class="programlisting"> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span><span class="special">)</span>
+ <span class="keyword">break</span><span class="special">;</span> <span class="comment">// Connection closed cleanly by peer.</span>
+ <span class="keyword">else</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span> <span class="comment">// Some other error.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ Finally, handle any exceptions that may have been thrown.
+ </p>
+<pre class="programlisting"> <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime1/src.html" title="Source listing for Daytime.1">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Next: <a class="link" href="tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
+ TCP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="tuttimer5/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime1/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime1/src.html b/doc/html/boost_asio/tutorial/tutdaytime1/src.html
new file mode 100644
index 0000000000..49e0ca146e
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime1/src.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">
+<link rel="prev" href="../tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">
+<link rel="next" href="../tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime1.src"></a><a class="link" href="src.html" title="Source listing for Daytime.1">Source listing
+ for Daytime.1</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// client.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">endpoint_iterator</span> <span class="special">=</span> <span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">endpoint_iterator</span><span class="special">);</span>
+
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">buf</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
+
+ <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">buf</span><span class="special">),</span> <span class="identifier">error</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span><span class="special">)</span>
+ <span class="keyword">break</span><span class="special">;</span> <span class="comment">// Connection closed cleanly by peer.</span>
+ <span class="keyword">else</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span> <span class="comment">// Some other error.</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A
+ synchronous TCP daytime client</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime2.html b/doc/html/boost_asio/tutorial/tutdaytime2.html
new file mode 100644
index 0000000000..a5c1046bf5
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime2.html
@@ -0,0 +1,125 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.2 - A synchronous TCP daytime server</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tutdaytime1/src.html" title="Source listing for Daytime.1">
+<link rel="next" href="tutdaytime2/src.html" title="Source listing for Daytime.2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutdaytime1/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime2/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime2"></a><a class="link" href="tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
+ TCP daytime server</a>
+</h3></div></div></div>
+<p>
+ This tutorial program shows how to use asio to implement a server application
+ with TCP.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+</pre>
+<p>
+ We define the function <code class="computeroutput"><span class="identifier">make_daytime_string</span><span class="special">()</span></code> to create the string to be sent back to
+ the client. This function will be reused in all of our daytime server applications.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
+ <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+</pre>
+<p>
+ A <a class="link" href="../reference/ip__tcp/acceptor.html" title="ip::tcp::acceptor">ip::tcp::acceptor</a>
+ object needs to be created to listen for new connections. It is initialised
+ to listen on TCP port 13, for IP version 4.
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
+</pre>
+<p>
+ This is an iterative server, which means that it will handle one connection
+ at a time. Create a socket that will represent the connection to the client,
+ and then wait for a connection.
+ </p>
+<pre class="programlisting"> <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
+</pre>
+<p>
+ A client is accessing our service. Determine the current time and transfer
+ this information to the client.
+ </p>
+<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">ignored_error</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ Finally, handle any exceptions.
+ </p>
+<pre class="programlisting"> <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime2/src.html" title="Source listing for Daytime.2">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">Daytime.1 - A synchronous
+ TCP daytime client</a>
+ </p>
+<p>
+ Next: <a class="link" href="tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An asynchronous
+ TCP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="tutdaytime1/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime2/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime2/src.html b/doc/html/boost_asio/tutorial/tutdaytime2/src.html
new file mode 100644
index 0000000000..2b2bcc9c00
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime2/src.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.2</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">
+<link rel="prev" href="../tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">
+<link rel="next" href="../tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime2.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime2.src"></a><a class="link" href="src.html" title="Source listing for Daytime.2">Source listing
+ for Daytime.2</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// server.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
+ <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
+
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">acceptor</span><span class="special">.</span><span class="identifier">accept</span><span class="special">(</span><span class="identifier">socket</span><span class="special">);</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">socket</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">ignored_error</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A
+ synchronous TCP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime2.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime3.html b/doc/html/boost_asio/tutorial/tutdaytime3.html
new file mode 100644
index 0000000000..7a65175fa2
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime3.html
@@ -0,0 +1,237 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.3 - An asynchronous TCP daytime server</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tutdaytime2/src.html" title="Source listing for Daytime.2">
+<link rel="next" href="tutdaytime3/src.html" title="Source listing for Daytime.3">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutdaytime2/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime3/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime3"></a><a class="link" href="tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An asynchronous
+ TCP daytime server</a>
+</h3></div></div></div>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime3.h0"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.the_main___function"></a></span><a class="link" href="tutdaytime3.html#boost_asio.tutorial.tutdaytime3.the_main___function">The
+ main() function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ We need to create a server object to accept incoming client connections.
+ The <a class="link" href="../reference/io_service.html" title="io_service">io_service</a> object
+ provides I/O services, such as sockets, that the server object will use.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+ <span class="identifier">tcp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ Run the <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>
+ object so that it will perform asynchronous operations on your behalf.
+ </p>
+<pre class="programlisting"> <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime3.h1"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.the_tcp_server_class"></a></span><a class="link" href="tutdaytime3.html#boost_asio.tutorial.tutdaytime3.the_tcp_server_class">The tcp_server
+ class</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+</pre>
+<p>
+ The constructor initialises an acceptor to listen on TCP port 13.
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+</pre>
+<p>
+ The function <code class="computeroutput"><span class="identifier">start_accept</span><span class="special">()</span></code> creates a socket and initiates an asynchronous
+ accept operation to wait for a new connection.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
+
+ <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ The function <code class="computeroutput"><span class="identifier">handle_accept</span><span class="special">()</span></code> is called when the asynchronous accept
+ operation initiated by <code class="computeroutput"><span class="identifier">start_accept</span><span class="special">()</span></code> finishes. It services the client request,
+ and then calls <code class="computeroutput"><span class="identifier">start_accept</span><span class="special">()</span></code> to initiate the next accept operation.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime3.h2"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.the_tcp_connection_class"></a></span><a class="link" href="tutdaytime3.html#boost_asio.tutorial.tutdaytime3.the_tcp_connection_class">The tcp_connection
+ class</a>
+ </h5>
+<p>
+ We will use <code class="computeroutput"><span class="identifier">shared_ptr</span></code> and
+ <code class="computeroutput"><span class="identifier">enable_shared_from_this</span></code> because
+ we want to keep the <code class="computeroutput"><span class="identifier">tcp_connection</span></code>
+ object alive as long as there is an operation that refers to it.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp_connection</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ In the function <code class="computeroutput"><span class="identifier">start</span><span class="special">()</span></code>,
+ we call boost::asio::async_write() to serve the data to the client. Note
+ that we are using boost::asio::async_write(), rather than <a class="link" href="../reference/basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some">ip::tcp::socket::async_write_some()</a>,
+ to ensure that the entire block of data is sent.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ The data to be sent is stored in the class member <code class="computeroutput"><span class="identifier">message_</span></code>
+ as we need to keep the data valid until the asynchronous operation is complete.
+ </p>
+<pre class="programlisting"> <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+</pre>
+<p>
+ When initiating the asynchronous operation, and if using boost::bind(), you
+ must specify only the arguments that match the handler's parameter list.
+ In this program, both of the argument placeholders (boost::asio::placeholders::error
+ and boost::asio::placeholders::bytes_transferred) could potentially have
+ been removed, since they are not being used in <code class="computeroutput"><span class="identifier">handle_write</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">(),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+</pre>
+<p>
+ Any further actions for this client connection are now the responsibility
+ of <code class="computeroutput"><span class="identifier">handle_write</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"> <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
+ <span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime3.h3"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime3.removing_unused_handler_parameters"></a></span><a class="link" href="tutdaytime3.html#boost_asio.tutorial.tutdaytime3.removing_unused_handler_parameters">Removing
+ unused handler parameters</a>
+ </h5>
+<p>
+ You may have noticed that the <code class="computeroutput"><span class="identifier">error</span></code>,
+ and <code class="computeroutput"><span class="identifier">bytes_transferred</span></code> parameters
+ are not used in the body of the <code class="computeroutput"><span class="identifier">handle_write</span><span class="special">()</span></code> function. If parameters are not needed,
+ it is possible to remove them from the function so that it looks like:
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ The boost::asio::async_write() call used to initiate the call can then be
+ changed to just:
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">()));</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime3/src.html" title="Source listing for Daytime.3">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tutdaytime2.html" title="Daytime.2 - A synchronous TCP daytime server">Daytime.2 - A synchronous
+ TCP daytime server</a>
+ </p>
+<p>
+ Next: <a class="link" href="tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
+ UDP daytime client</a>
+ </p>
+</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 &#169; 2003-2017 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="tutdaytime2/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime3/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime3/src.html b/doc/html/boost_asio/tutorial/tutdaytime3/src.html
new file mode 100644
index 0000000000..ee708ac4d8
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime3/src.html
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.3</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">
+<link rel="prev" href="../tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">
+<link rel="next" href="../tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime3.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime3.src"></a><a class="link" href="src.html" title="Source listing for Daytime.3">Source listing
+ for Daytime.3</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// server.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">shared_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">enable_shared_from_this</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
+ <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">class</span> <span class="identifier">tcp_connection</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">(),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
+ <span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">tcp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
+
+ <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+ <span class="identifier">tcp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An
+ asynchronous TCP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime3.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime4.html b/doc/html/boost_asio/tutorial/tutdaytime4.html
new file mode 100644
index 0000000000..d0d330cee6
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime4.html
@@ -0,0 +1,134 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.4 - A synchronous UDP daytime client</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tutdaytime3/src.html" title="Source listing for Daytime.3">
+<link rel="next" href="tutdaytime4/src.html" title="Source listing for Daytime.4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutdaytime3/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime4/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime4"></a><a class="link" href="tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
+ UDP daytime client</a>
+</h3></div></div></div>
+<p>
+ This tutorial program shows how to use asio to implement a client application
+ with UDP.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
+</pre>
+<p>
+ The start of the application is essentially the same as for the TCP daytime
+ client.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+</pre>
+<p>
+ We use an <a class="link" href="../reference/ip__udp/resolver.html" title="ip::udp::resolver">ip::udp::resolver</a>
+ object to find the correct remote endpoint to use based on the host and service
+ names. The query is restricted to return only IPv4 endpoints by the <a class="link" href="../reference/ip__udp/v4.html" title="ip::udp::v4">ip::udp::v4()</a> argument.
+ </p>
+<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
+</pre>
+<p>
+ The <a class="link" href="../reference/ip__basic_resolver/resolve.html" title="ip::basic_resolver::resolve">ip::udp::resolver::resolve()</a>
+ function is guaranteed to return at least one endpoint in the list if it
+ does not fail. This means it is safe to dereference the return value directly.
+ </p>
+<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">receiver_endpoint</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+</pre>
+<p>
+ Since UDP is datagram-oriented, we will not be using a stream socket. Create
+ an <a class="link" href="../reference/ip__udp/socket.html" title="ip::udp::socket">ip::udp::socket</a>
+ and initiate contact with the remote endpoint.
+ </p>
+<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">send_buf</span> <span class="special">=</span> <span class="special">{{</span> <span class="number">0</span> <span class="special">}};</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">send_buf</span><span class="special">),</span> <span class="identifier">receiver_endpoint</span><span class="special">);</span>
+</pre>
+<p>
+ Now we need to be ready to accept whatever the server sends back to us. The
+ endpoint on our side that receives the server's response will be initialised
+ by <a class="link" href="../reference/basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from">ip::udp::socket::receive_from()</a>.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
+ <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ Finally, handle any exceptions that may have been thrown.
+ </p>
+<pre class="programlisting"> <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime4/src.html" title="Source listing for Daytime.4">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3 - An
+ asynchronous TCP daytime server</a>
+ </p>
+<p>
+ Next: <a class="link" href="tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
+ UDP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="tutdaytime3/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime4/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime4/src.html b/doc/html/boost_asio/tutorial/tutdaytime4/src.html
new file mode 100644
index 0000000000..99608c72dc
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime4/src.html
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">
+<link rel="prev" href="../tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">
+<link rel="next" href="../tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime4.src"></a><a class="link" href="src.html" title="Source listing for Daytime.4">Source listing
+ for Daytime.4</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// client.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">argv</span><span class="special">[])</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">argc</span> <span class="special">!=</span> <span class="number">2</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Usage: client &lt;host&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span> <span class="identifier">resolver</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">resolver</span><span class="special">::</span><span class="identifier">query</span> <span class="identifier">query</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="identifier">argv</span><span class="special">[</span><span class="number">1</span><span class="special">],</span> <span class="string">"daytime"</span><span class="special">);</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">receiver_endpoint</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">resolver</span><span class="special">.</span><span class="identifier">resolve</span><span class="special">(</span><span class="identifier">query</span><span class="special">);</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">open</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">());</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">send_buf</span> <span class="special">=</span> <span class="special">{{</span> <span class="number">0</span> <span class="special">}};</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">send_buf</span><span class="special">),</span> <span class="identifier">receiver_endpoint</span><span class="special">);</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">128</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">sender_endpoint</span><span class="special">;</span>
+ <span class="identifier">size_t</span> <span class="identifier">len</span> <span class="special">=</span> <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span> <span class="identifier">sender_endpoint</span><span class="special">);</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">write</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">len</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A
+ synchronous UDP daytime client</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime5.html b/doc/html/boost_asio/tutorial/tutdaytime5.html
new file mode 100644
index 0000000000..b7a00db058
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime5.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.5 - A synchronous UDP daytime server</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tutdaytime4/src.html" title="Source listing for Daytime.4">
+<link rel="next" href="tutdaytime5/src.html" title="Source listing for Daytime.5">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutdaytime4/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime5/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime5"></a><a class="link" href="tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
+ UDP daytime server</a>
+</h3></div></div></div>
+<p>
+ This tutorial program shows how to use asio to implement a server application
+ with UDP.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+</pre>
+<p>
+ Create an <a class="link" href="../reference/ip__udp/socket.html" title="ip::udp::socket">ip::udp::socket</a>
+ object to receive requests on UDP port 13.
+ </p>
+<pre class="programlisting"> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
+</pre>
+<p>
+ Wait for a client to initiate contact with us. The remote_endpoint object
+ will be populated by <a class="link" href="../reference/basic_datagram_socket/receive_from.html" title="basic_datagram_socket::receive_from">ip::udp::socket::receive_from()</a>.
+ </p>
+<pre class="programlisting"> <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span>
+ <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">error</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">&amp;&amp;</span> <span class="identifier">error</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span>
+</pre>
+<p>
+ Determine what we are going to send back to the client.
+ </p>
+<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+</pre>
+<p>
+ Send the response to the remote_endpoint.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span>
+ <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ignored_error</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ Finally, handle any exceptions.
+ </p>
+<pre class="programlisting"> <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime5/src.html" title="Source listing for Daytime.5">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tutdaytime4.html" title="Daytime.4 - A synchronous UDP daytime client">Daytime.4 - A synchronous
+ UDP daytime client</a>
+ </p>
+<p>
+ Next: <a class="link" href="tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An asynchronous
+ UDP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="tutdaytime4/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime5/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime5/src.html b/doc/html/boost_asio/tutorial/tutdaytime5/src.html
new file mode 100644
index 0000000000..82c9e89088
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime5/src.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.5</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">
+<link rel="prev" href="../tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">
+<link rel="next" href="../tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime5.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime5.src"></a><a class="link" href="src.html" title="Source listing for Daytime.5">Source listing
+ for Daytime.5</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// server.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
+ <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">));</span>
+
+ <span class="keyword">for</span> <span class="special">(;;)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buf</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">error</span><span class="special">;</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">receive_from</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buf</span><span class="special">),</span>
+ <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">error</span><span class="special">);</span>
+
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">error</span> <span class="special">&amp;&amp;</span> <span class="identifier">error</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span><span class="special">(</span><span class="identifier">error</span><span class="special">);</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span> <span class="identifier">ignored_error</span><span class="special">;</span>
+ <span class="identifier">socket</span><span class="special">.</span><span class="identifier">send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message</span><span class="special">),</span>
+ <span class="identifier">remote_endpoint</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ignored_error</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A
+ synchronous UDP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime5.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime6.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime6.html b/doc/html/boost_asio/tutorial/tutdaytime6.html
new file mode 100644
index 0000000000..4cd571e21f
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime6.html
@@ -0,0 +1,189 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.6 - An asynchronous UDP daytime server</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tutdaytime5/src.html" title="Source listing for Daytime.5">
+<link rel="next" href="tutdaytime6/src.html" title="Source listing for Daytime.6">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutdaytime5/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime6/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime6"></a><a class="link" href="tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An asynchronous
+ UDP daytime server</a>
+</h3></div></div></div>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime6.h0"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime6.the_main___function"></a></span><a class="link" href="tutdaytime6.html#boost_asio.tutorial.tutdaytime6.the_main___function">The
+ main() function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ Create a server object to accept incoming client requests, and run the <a class="link" href="../reference/io_service.html" title="io_service">io_service</a> object.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+ <span class="identifier">udp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime6.h1"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime6.the_udp_server_class"></a></span><a class="link" href="tutdaytime6.html#boost_asio.tutorial.tutdaytime6.the_udp_server_class">The udp_server
+ class</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">udp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+</pre>
+<p>
+ The constructor initialises a socket to listen on UDP port 13.
+ </p>
+<pre class="programlisting"> <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ The function <a class="link" href="../reference/basic_datagram_socket/async_receive_from.html" title="basic_datagram_socket::async_receive_from">ip::udp::socket::async_receive_from()</a>
+ will cause the application to listen in the background for a new request.
+ When such a request is received, the <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>
+ object will invoke the <code class="computeroutput"><span class="identifier">handle_receive</span><span class="special">()</span></code> function with two arguments: a value of
+ type boost::system::error_code indicating whether the operation succeeded
+ or failed, and a <code class="computeroutput"><span class="identifier">size_t</span></code> value
+ <code class="computeroutput"><span class="identifier">bytes_transferred</span></code> specifying
+ the number of bytes received.
+ </p>
+<pre class="programlisting"> <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ The function <code class="computeroutput"><span class="identifier">handle_receive</span><span class="special">()</span></code> will service the client request.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">error</span></code> parameter contains
+ the result of the asynchronous operation. Since we only provide the 1-byte
+ <code class="computeroutput"><span class="identifier">recv_buffer_</span></code> to contain the
+ client's request, the <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>
+ object would return an error if the client sent anything larger. We can ignore
+ such an error if it comes up.
+ </p>
+<pre class="programlisting"> <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ Determine what we are going to send.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
+</pre>
+<p>
+ We now call <a class="link" href="../reference/basic_datagram_socket/async_send_to.html" title="basic_datagram_socket::async_send_to">ip::udp::socket::async_send_to()</a>
+ to serve the data to the client.
+ </p>
+<pre class="programlisting"> <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+</pre>
+<p>
+ When initiating the asynchronous operation, and if using boost::bind(), you
+ must specify only the arguments that match the handler's parameter list.
+ In this program, both of the argument placeholders (boost::asio::placeholders::error
+ and boost::asio::placeholders::bytes_transferred) could potentially have
+ been removed.
+ </p>
+<p>
+ Start listening for the next client request.
+ </p>
+<pre class="programlisting"> <span class="identifier">start_receive</span><span class="special">();</span>
+</pre>
+<p>
+ Any further actions for this client request are now the responsibility of
+ <code class="computeroutput"><span class="identifier">handle_send</span><span class="special">()</span></code>.
+ </p>
+<pre class="programlisting"> <span class="special">}</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ The function <code class="computeroutput"><span class="identifier">handle_send</span><span class="special">()</span></code> is invoked after the service request has
+ been completed.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime6/src.html" title="Source listing for Daytime.6">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tutdaytime5.html" title="Daytime.5 - A synchronous UDP daytime server">Daytime.5 - A synchronous
+ UDP daytime server</a>
+ </p>
+<p>
+ Next: <a class="link" href="tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A combined
+ TCP/UDP asynchronous server</a>
+ </p>
+</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 &#169; 2003-2017 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="tutdaytime5/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime6/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime6/src.html b/doc/html/boost_asio/tutorial/tutdaytime6/src.html
new file mode 100644
index 0000000000..9487548177
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime6/src.html
@@ -0,0 +1,138 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.6</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">
+<link rel="prev" href="../tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">
+<link rel="next" href="../tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime6.src"></a><a class="link" href="src.html" title="Source listing for Daytime.6">Source listing
+ for Daytime.6</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// server.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">shared_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
+ <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">class</span> <span class="identifier">udp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
+
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">bytes_transferred</span><span class="special">));</span>
+
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*error*/</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="comment">/*bytes_transferred*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+ <span class="identifier">udp_server</span> <span class="identifier">server</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An
+ asynchronous UDP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime6.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime6.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime7.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime7.html b/doc/html/boost_asio/tutorial/tutdaytime7.html
new file mode 100644
index 0000000000..dd5280eb5c
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime7.html
@@ -0,0 +1,224 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Daytime.7 - A combined TCP/UDP asynchronous server</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tutdaytime6/src.html" title="Source listing for Daytime.6">
+<link rel="next" href="tutdaytime7/src.html" title="Source listing for Daytime.7">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutdaytime6/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime7/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tutdaytime7"></a><a class="link" href="tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A combined
+ TCP/UDP asynchronous server</a>
+</h3></div></div></div>
+<p>
+ This tutorial program shows how to combine the two asynchronous servers that
+ we have just written, into a single server application.
+ </p>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime7.h0"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime7.the_main___function"></a></span><a class="link" href="tutdaytime7.html#boost_asio.tutorial.tutdaytime7.the_main___function">The
+ main() function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+</pre>
+<p>
+ We will begin by creating a server object to accept a TCP client connection.
+ </p>
+<pre class="programlisting"> <span class="identifier">tcp_server</span> <span class="identifier">server1</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ We also need a server object to accept a UDP client request.
+ </p>
+<pre class="programlisting"> <span class="identifier">udp_server</span> <span class="identifier">server2</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+</pre>
+<p>
+ We have created two lots of work for the <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>
+ object to do.
+ </p>
+<pre class="programlisting"> <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime7.h1"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime7.the_tcp_connection_and_tcp_server_classes"></a></span><a class="link" href="tutdaytime7.html#boost_asio.tutorial.tutdaytime7.the_tcp_connection_and_tcp_server_classes">The
+ tcp_connection and tcp_server classes</a>
+ </h5>
+<p>
+ The following two classes are taken from <a class="link" href="tutdaytime3.html" title="Daytime.3 - An asynchronous TCP daytime server">Daytime.3</a>
+ .
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">tcp_connection</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">()));</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">tcp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
+
+ <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<h5>
+<a name="boost_asio.tutorial.tutdaytime7.h2"></a>
+ <span class="phrase"><a name="boost_asio.tutorial.tutdaytime7.the_udp_server_class"></a></span><a class="link" href="tutdaytime7.html#boost_asio.tutorial.tutdaytime7.the_udp_server_class">The udp_server
+ class</a>
+ </h5>
+<p>
+ Similarly, this next class is taken from the <a class="link" href="tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">previous
+ tutorial step</a> .
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">udp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
+
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">));</span>
+
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ See the <a class="link" href="tutdaytime7/src.html" title="Source listing for Daytime.7">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tutdaytime6.html" title="Daytime.6 - An asynchronous UDP daytime server">Daytime.6 - An
+ asynchronous UDP daytime server</a>
+ </p>
+</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 &#169; 2003-2017 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="tutdaytime6/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutdaytime7/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tutdaytime7/src.html b/doc/html/boost_asio/tutorial/tutdaytime7/src.html
new file mode 100644
index 0000000000..4b241f75f0
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tutdaytime7/src.html
@@ -0,0 +1,207 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Daytime.7</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">
+<link rel="prev" href="../tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">
+<link rel="next" href="../../examples.html" title="Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutdaytime7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime7.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tutdaytime7.src"></a><a class="link" href="src.html" title="Source listing for Daytime.7">Source listing
+ for Daytime.7</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// server.cpp</span>
+<span class="comment">// ~~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">ctime</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">shared_ptr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">enable_shared_from_this</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">make_daytime_string</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// For time_t, time and ctime;</span>
+ <span class="identifier">time_t</span> <span class="identifier">now</span> <span class="special">=</span> <span class="identifier">time</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">ctime</span><span class="special">(&amp;</span><span class="identifier">now</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="keyword">class</span> <span class="identifier">tcp_connection</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_shared_from_this</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">tcp_connection</span><span class="special">&gt;</span> <span class="identifier">pointer</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">pointer</span> <span class="identifier">create</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">pointer</span><span class="special">(</span><span class="keyword">new</span> <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span><span class="special">&amp;</span> <span class="identifier">socket</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">start</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">message_</span> <span class="special">=</span> <span class="identifier">make_daytime_string</span><span class="special">();</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_write</span><span class="special">(</span><span class="identifier">socket_</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">message_</span><span class="special">),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">handle_write</span><span class="special">,</span> <span class="identifier">shared_from_this</span><span class="special">()));</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">tcp_connection</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_write</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">message_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">tcp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">tcp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">acceptor_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_accept</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span> <span class="special">=</span>
+ <span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">create</span><span class="special">(</span><span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">());</span>
+
+ <span class="identifier">acceptor_</span><span class="special">.</span><span class="identifier">async_accept</span><span class="special">(</span><span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">socket</span><span class="special">(),</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">tcp_server</span><span class="special">::</span><span class="identifier">handle_accept</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_accept</span><span class="special">(</span><span class="identifier">tcp_connection</span><span class="special">::</span><span class="identifier">pointer</span> <span class="identifier">new_connection</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">new_connection</span><span class="special">-&gt;</span><span class="identifier">start</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">start_accept</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="identifier">tcp</span><span class="special">::</span><span class="identifier">acceptor</span> <span class="identifier">acceptor_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">class</span> <span class="identifier">udp_server</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">udp_server</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io_service</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">socket_</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">,</span> <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span><span class="special">(</span><span class="identifier">udp</span><span class="special">::</span><span class="identifier">v4</span><span class="special">(),</span> <span class="number">13</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">void</span> <span class="identifier">start_receive</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_receive_from</span><span class="special">(</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">recv_buffer_</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_receive</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_receive</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">error</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">error</span> <span class="special">||</span> <span class="identifier">error</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">(</span>
+ <span class="keyword">new</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="identifier">make_daytime_string</span><span class="special">()));</span>
+
+ <span class="identifier">socket_</span><span class="special">.</span><span class="identifier">async_send_to</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(*</span><span class="identifier">message</span><span class="special">),</span> <span class="identifier">remote_endpoint_</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">udp_server</span><span class="special">::</span><span class="identifier">handle_send</span><span class="special">,</span> <span class="keyword">this</span><span class="special">,</span> <span class="identifier">message</span><span class="special">));</span>
+
+ <span class="identifier">start_receive</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">handle_send</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="comment">/*message*/</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">socket</span> <span class="identifier">socket_</span><span class="special">;</span>
+ <span class="identifier">udp</span><span class="special">::</span><span class="identifier">endpoint</span> <span class="identifier">remote_endpoint_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">recv_buffer_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io_service</span><span class="special">;</span>
+ <span class="identifier">tcp_server</span> <span class="identifier">server1</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">udp_server</span> <span class="identifier">server2</span><span class="special">(</span><span class="identifier">io_service</span><span class="special">);</span>
+ <span class="identifier">io_service</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tutdaytime7.html" title="Daytime.7 - A combined TCP/UDP asynchronous server">Daytime.7 - A
+ combined TCP/UDP asynchronous server</a>
+ </p>
+</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 &#169; 2003-2017 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="../tutdaytime7.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutdaytime7.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer1.html b/doc/html/boost_asio/tutorial/tuttimer1.html
new file mode 100644
index 0000000000..01a687df12
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer1.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timer.1 - Using a timer synchronously</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="../tutorial.html" title="Tutorial">
+<link rel="next" href="tuttimer1/src.html" title="Source listing for Timer.1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer1/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tuttimer1"></a><a class="link" href="tuttimer1.html" title="Timer.1 - Using a timer synchronously">Timer.1 - Using a timer
+ synchronously</a>
+</h3></div></div></div>
+<p>
+ This tutorial program introduces asio by showing how to perform a blocking
+ wait on a timer.
+ </p>
+<p>
+ We start by including the necessary header files.
+ </p>
+<p>
+ All of the asio classes can be used by simply including the <code class="computeroutput"><span class="string">"asio.hpp"</span></code> header file.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Since this example uses timers, we need to include the appropriate Boost.Date_Time
+ header file for manipulating times.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ All programs that use asio need to have at least one <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>
+ object. This class provides access to I/O functionality. We declare an object
+ of this type first thing in the main function.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+</pre>
+<p>
+ Next we declare an object of type boost::asio::deadline_timer. The core asio
+ classes that provide I/O functionality (or as in this case timer functionality)
+ always take a reference to an io_service as their first constructor argument.
+ The second argument to the constructor sets the timer to expire 5 seconds
+ from now.
+ </p>
+<pre class="programlisting"> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+</pre>
+<p>
+ In this simple example we perform a blocking wait on the timer. That is,
+ the call to <a class="link" href="../reference/basic_deadline_timer/wait.html" title="basic_deadline_timer::wait">deadline_timer::wait()</a>
+ will not return until the timer has expired, 5 seconds after it was created
+ (i.e. not from when the wait starts).
+ </p>
+<p>
+ A deadline timer is always in one of two states: "expired" or "not
+ expired". If the <a class="link" href="../reference/basic_deadline_timer/wait.html" title="basic_deadline_timer::wait">deadline_timer::wait()</a>
+ function is called on an expired timer, it will return immediately.
+ </p>
+<pre class="programlisting"> <span class="identifier">t</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+</pre>
+<p>
+ Finally we print the obligatory <code class="computeroutput"><span class="string">"Hello,
+ world!"</span></code> message to show when the timer has expired.
+ </p>
+<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tuttimer1/src.html" title="Source listing for Timer.1">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Next: <a class="link" href="tuttimer2.html" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a timer
+ asynchronously</a>
+ </p>
+</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 &#169; 2003-2017 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.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer1/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer1/src.html b/doc/html/boost_asio/tutorial/tuttimer1/src.html
new file mode 100644
index 0000000000..bdd9294493
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer1/src.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Timer.1</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tuttimer1.html" title="Timer.1 - Using a timer synchronously">
+<link rel="prev" href="../tuttimer1.html" title="Timer.1 - Using a timer synchronously">
+<link rel="next" href="../tuttimer2.html" title="Timer.2 - Using a timer asynchronously">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tuttimer1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tuttimer1.src"></a><a class="link" href="src.html" title="Source listing for Timer.1">Source listing for
+ Timer.1</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// timer.cpp</span>
+<span class="comment">// ~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+ <span class="identifier">t</span><span class="special">.</span><span class="identifier">wait</span><span class="special">();</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tuttimer1.html" title="Timer.1 - Using a timer synchronously">Timer.1 - Using
+ a timer synchronously</a>
+ </p>
+</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 &#169; 2003-2017 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="../tuttimer1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer1.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer2.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer2.html b/doc/html/boost_asio/tutorial/tuttimer2.html
new file mode 100644
index 0000000000..f67eba5cf5
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer2.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timer.2 - Using a timer asynchronously</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tuttimer1/src.html" title="Source listing for Timer.1">
+<link rel="next" href="tuttimer2/src.html" title="Source listing for Timer.2">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuttimer1/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer2/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tuttimer2"></a><a class="link" href="tuttimer2.html" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a timer
+ asynchronously</a>
+</h3></div></div></div>
+<p>
+ This tutorial program demonstrates how to use asio's asynchronous callback
+ functionality by modifying the program from tutorial Timer.1 to perform an
+ asynchronous wait on the timer.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Using asio's asynchronous functionality means having a callback function
+ that will be called when an asynchronous operation completes. In this program
+ we define a function called <code class="computeroutput"><span class="identifier">print</span></code>
+ to be called when the asynchronous wait finishes.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+</pre>
+<p>
+ Next, instead of doing a blocking wait as in tutorial Timer.1, we call the
+ <a class="link" href="../reference/basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>
+ function to perform an asynchronous wait. When calling this function we pass
+ the <code class="computeroutput"><span class="identifier">print</span></code> callback handler
+ that was defined above.
+ </p>
+<pre class="programlisting"> <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(&amp;</span><span class="identifier">print</span><span class="special">);</span>
+</pre>
+<p>
+ Finally, we must call the <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ member function on the io_service object.
+ </p>
+<p>
+ The asio library provides a guarantee that callback handlers will only be
+ called from threads that are currently calling <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>.
+ Therefore unless the <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ function is called the callback for the asynchronous wait completion will
+ never be invoked.
+ </p>
+<p>
+ The <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ function will also continue to run while there is still "work"
+ to do. In this example, the work is the asynchronous wait on the timer, so
+ the call will not return until the timer has expired and the callback has
+ completed.
+ </p>
+<p>
+ It is important to remember to give the io_service some work to do before
+ calling <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>.
+ For example, if we had omitted the above call to <a class="link" href="../reference/basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>,
+ the io_service would not have had any work to do, and consequently <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a> would
+ have returned immediately.
+ </p>
+<pre class="programlisting"> <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tuttimer2/src.html" title="Source listing for Timer.2">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tuttimer1.html" title="Timer.1 - Using a timer synchronously">Timer.1 - Using a
+ timer synchronously</a>
+ </p>
+<p>
+ Next: <a class="link" href="tuttimer3.html" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding arguments
+ to a handler</a>
+ </p>
+</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 &#169; 2003-2017 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="tuttimer1/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer2/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer2/src.html b/doc/html/boost_asio/tutorial/tuttimer2/src.html
new file mode 100644
index 0000000000..4a61da9947
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer2/src.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Timer.2</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tuttimer2.html" title="Timer.2 - Using a timer asynchronously">
+<link rel="prev" href="../tuttimer2.html" title="Timer.2 - Using a timer asynchronously">
+<link rel="next" href="../tuttimer3.html" title="Timer.3 - Binding arguments to a handler">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tuttimer2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer2.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tuttimer2.src"></a><a class="link" href="src.html" title="Source listing for Timer.2">Source listing for
+ Timer.2</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// timer.cpp</span>
+<span class="comment">// ~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Hello, world!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">5</span><span class="special">));</span>
+ <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(&amp;</span><span class="identifier">print</span><span class="special">);</span>
+
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tuttimer2.html" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using
+ a timer asynchronously</a>
+ </p>
+</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 &#169; 2003-2017 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="../tuttimer2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer2.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer3.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer3.html b/doc/html/boost_asio/tutorial/tuttimer3.html
new file mode 100644
index 0000000000..fd61056c9e
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer3.html
@@ -0,0 +1,168 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timer.3 - Binding arguments to a handler</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tuttimer2/src.html" title="Source listing for Timer.2">
+<link rel="next" href="tuttimer3/src.html" title="Source listing for Timer.3">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuttimer2/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer3/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tuttimer3"></a><a class="link" href="tuttimer3.html" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding arguments
+ to a handler</a>
+</h3></div></div></div>
+<p>
+ In this tutorial we will modify the program from tutorial Timer.2 so that
+ the timer fires once a second. This will show how to pass additional parameters
+ to your handler function.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ To implement a repeating timer using asio you need to change the timer's
+ expiry time in your callback function, and to then start a new asynchronous
+ wait. Obviously this means that the callback function will need to be able
+ to access the timer object. To this end we add two new parameters to the
+ <code class="computeroutput"><span class="identifier">print</span></code> function:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A pointer to a timer object.
+ </li>
+<li class="listitem">
+ A counter so that we can stop the program when the timer fires for the
+ sixth time.
+ </li>
+</ul></div>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span><span class="special">*</span> <span class="identifier">t</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">count</span><span class="special">)</span>
+<span class="special">{</span>
+</pre>
+<p>
+ As mentioned above, this tutorial program uses a counter to stop running
+ when the timer fires for the sixth time. However you will observe that there
+ is no explicit call to ask the io_service to stop. Recall that in tutorial
+ Timer.2 we learnt that the <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ function completes when there is no more "work" to do. By not starting
+ a new asynchronous wait on the timer when <code class="computeroutput"><span class="identifier">count</span></code>
+ reaches 5, the io_service will run out of work and stop running.
+ </p>
+<pre class="programlisting"> <span class="keyword">if</span> <span class="special">(*</span><span class="identifier">count</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++(*</span><span class="identifier">count</span><span class="special">);</span>
+</pre>
+<p>
+ Next we move the expiry time for the timer along by one second from the previous
+ expiry time. By calculating the new expiry time relative to the old, we can
+ ensure that the timer does not drift away from the whole-second mark due
+ to any delays in processing the handler.
+ </p>
+<pre class="programlisting"> <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+</pre>
+<p>
+ Then we start a new asynchronous wait on the timer. As you can see, the boost::bind()
+ function is used to associate the extra parameters with your callback handler.
+ The <a class="link" href="../reference/basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>
+ function expects a handler function (or function object) with the signature
+ <code class="computeroutput"><span class="keyword">void</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;)</span></code>. Binding the additional parameters
+ converts your <code class="computeroutput"><span class="identifier">print</span></code> function
+ into a function object that matches the signature correctly.
+ </p>
+<p>
+ See the <a href="http://www.boost.org/libs/bind/bind.html" target="_top">Boost.Bind
+ documentation</a> for more information on how to use boost::bind().
+ </p>
+<p>
+ In this example, the boost::asio::placeholders::error argument to boost::bind()
+ is a named placeholder for the error object passed to the handler. When initiating
+ the asynchronous operation, and if using boost::bind(), you must specify
+ only the arguments that match the handler's parameter list. In tutorial Timer.4
+ you will see that this placeholder may be elided if the parameter is not
+ needed by the callback handler.
+ </p>
+<pre class="programlisting"> <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">count</span><span class="special">));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+</pre>
+<p>
+ A new <code class="computeroutput"><span class="identifier">count</span></code> variable is added
+ so that we can stop the program when the timer fires for the sixth time.
+ </p>
+<pre class="programlisting"> <span class="keyword">int</span> <span class="identifier">count</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+</pre>
+<p>
+ As in Step 4, when making the call to <a class="link" href="../reference/basic_deadline_timer/async_wait.html" title="basic_deadline_timer::async_wait">deadline_timer::async_wait()</a>
+ from <code class="computeroutput"><span class="identifier">main</span></code> we bind the additional
+ parameters needed for the <code class="computeroutput"><span class="identifier">print</span></code>
+ function.
+ </p>
+<pre class="programlisting"> <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">t</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">count</span><span class="special">));</span>
+
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+</pre>
+<p>
+ Finally, just to prove that the <code class="computeroutput"><span class="identifier">count</span></code>
+ variable was being used in the <code class="computeroutput"><span class="identifier">print</span></code>
+ handler function, we will print out its new value.
+ </p>
+<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tuttimer3/src.html" title="Source listing for Timer.3">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tuttimer2.html" title="Timer.2 - Using a timer asynchronously">Timer.2 - Using a
+ timer asynchronously</a>
+ </p>
+<p>
+ Next: <a class="link" href="tuttimer4.html" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a member
+ function as a handler</a>
+ </p>
+</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 &#169; 2003-2017 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="tuttimer2/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer3/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer3/src.html b/doc/html/boost_asio/tutorial/tuttimer3/src.html
new file mode 100644
index 0000000000..f46feef204
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer3/src.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Timer.3</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tuttimer3.html" title="Timer.3 - Binding arguments to a handler">
+<link rel="prev" href="../tuttimer3.html" title="Timer.3 - Binding arguments to a handler">
+<link rel="next" href="../tuttimer4.html" title="Timer.4 - Using a member function as a handler">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tuttimer3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer3.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tuttimer3.src"></a><a class="link" href="src.html" title="Source listing for Timer.3">Source listing for
+ Timer.3</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// timer.cpp</span>
+<span class="comment">// ~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span><span class="special">*</span> <span class="identifier">t</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">count</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(*</span><span class="identifier">count</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++(*</span><span class="identifier">count</span><span class="special">);</span>
+
+ <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">t</span><span class="special">-&gt;</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">count</span><span class="special">));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">count</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">t</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span><span class="identifier">print</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">error</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">t</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">count</span><span class="special">));</span>
+
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tuttimer3.html" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding
+ arguments to a handler</a>
+ </p>
+</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 &#169; 2003-2017 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="../tuttimer3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer3.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer4.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer4.html b/doc/html/boost_asio/tutorial/tuttimer4.html
new file mode 100644
index 0000000000..afbbbb0938
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer4.html
@@ -0,0 +1,150 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timer.4 - Using a member function as a handler</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tuttimer3/src.html" title="Source listing for Timer.3">
+<link rel="next" href="tuttimer4/src.html" title="Source listing for Timer.4">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuttimer3/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer4/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tuttimer4"></a><a class="link" href="tuttimer4.html" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a member
+ function as a handler</a>
+</h3></div></div></div>
+<p>
+ In this tutorial we will see how to use a class member function as a callback
+ handler. The program should execute identically to the tutorial program from
+ tutorial Timer.3.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Instead of defining a free function <code class="computeroutput"><span class="identifier">print</span></code>
+ as the callback handler, as we did in the earlier tutorial programs, we now
+ define a class called <code class="computeroutput"><span class="identifier">printer</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">printer</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+</pre>
+<p>
+ The constructor of this class will take a reference to the io_service object
+ and use it when initialising the <code class="computeroutput"><span class="identifier">timer_</span></code>
+ member. The counter used to shut down the program is now also a member of
+ the class.
+ </p>
+<pre class="programlisting"> <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">timer_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
+ <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ The boost::bind() function works just as well with class member functions
+ as with free functions. Since all non-static class member functions have
+ an implicit <code class="computeroutput"><span class="keyword">this</span></code> parameter,
+ we need to bind <code class="computeroutput"><span class="keyword">this</span></code> to the
+ function. As in tutorial Timer.3, boost::bind() converts our callback handler
+ (now a member function) into a function object that can be invoked as though
+ it has the signature <code class="computeroutput"><span class="keyword">void</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&amp;)</span></code>.
+ </p>
+<p>
+ You will note that the boost::asio::placeholders::error placeholder is not
+ specified here, as the <code class="computeroutput"><span class="identifier">print</span></code>
+ member function does not accept an error object as a parameter.
+ </p>
+<pre class="programlisting"> <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ In the class destructor we will print out the final value of the counter.
+ </p>
+<pre class="programlisting"> <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">print</span></code> member function
+ is very similar to the <code class="computeroutput"><span class="identifier">print</span></code>
+ function from tutorial Timer.3, except that it now operates on the class
+ data members instead of having the timer and counter passed in as parameters.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">print</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
+
+ <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">main</span></code> function is much
+ simpler than before, as it now declares a local <code class="computeroutput"><span class="identifier">printer</span></code>
+ object before running the io_service as normal.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+ <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tuttimer4/src.html" title="Source listing for Timer.4">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tuttimer3.html" title="Timer.3 - Binding arguments to a handler">Timer.3 - Binding
+ arguments to a handler</a>
+ </p>
+<p>
+ Next: <a class="link" href="tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising
+ handlers in multithreaded programs</a>
+ </p>
+</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 &#169; 2003-2017 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="tuttimer3/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer4/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer4/src.html b/doc/html/boost_asio/tutorial/tuttimer4/src.html
new file mode 100644
index 0000000000..7d2a7a6626
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer4/src.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Timer.4</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tuttimer4.html" title="Timer.4 - Using a member function as a handler">
+<link rel="prev" href="../tuttimer4.html" title="Timer.4 - Using a member function as a handler">
+<link rel="next" href="../tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tuttimer4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tuttimer4.src"></a><a class="link" href="src.html" title="Source listing for Timer.4">Source listing for
+ Timer.4</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// timer.cpp</span>
+<span class="comment">// ~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">class</span> <span class="identifier">printer</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">timer_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
+ <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">print</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
+
+ <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">timer_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print</span><span class="special">,</span> <span class="keyword">this</span><span class="special">));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+ <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tuttimer4.html" title="Timer.4 - Using a member function as a handler">Timer.4 - Using
+ a member function as a handler</a>
+ </p>
+</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 &#169; 2003-2017 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="../tuttimer4.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer4.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tuttimer5.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer5.html b/doc/html/boost_asio/tutorial/tuttimer5.html
new file mode 100644
index 0000000000..e91a793aa6
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer5.html
@@ -0,0 +1,200 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Timer.5 - Synchronising handlers in multithreaded programs</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="tuttimer4/src.html" title="Source listing for Timer.4">
+<link rel="next" href="tuttimer5/src.html" title="Source listing for Timer.5">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuttimer4/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer5/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_asio.tutorial.tuttimer5"></a><a class="link" href="tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising
+ handlers in multithreaded programs</a>
+</h3></div></div></div>
+<p>
+ This tutorial demonstrates the use of the boost::asio::strand class to synchronise
+ callback handlers in a multithreaded program.
+ </p>
+<p>
+ The previous four tutorials avoided the issue of handler synchronisation
+ by calling the <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ function from one thread only. As you already know, the asio library provides
+ a guarantee that callback handlers will only be called from threads that
+ are currently calling <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>.
+ Consequently, calling <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ from only one thread ensures that callback handlers cannot run concurrently.
+ </p>
+<p>
+ The single threaded approach is usually the best place to start when developing
+ applications using asio. The downside is the limitations it places on programs,
+ particularly servers, including:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Poor responsiveness when handlers can take a long time to complete.
+ </li>
+<li class="listitem">
+ An inability to scale on multiprocessor systems.
+ </li>
+</ul></div>
+<p>
+ If you find yourself running into these limitations, an alternative approach
+ is to have a pool of threads calling <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>.
+ However, as this allows handlers to execute concurrently, we need a method
+ of synchronisation when handlers might be accessing a shared, thread-unsafe
+ resource.
+ </p>
+<pre class="programlisting"><span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">/</span><span class="identifier">thread</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We start by defining a class called <code class="computeroutput"><span class="identifier">printer</span></code>,
+ similar to the class in the previous tutorial. This class will extend the
+ previous tutorial by running two timers in parallel.
+ </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">printer</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+</pre>
+<p>
+ In addition to initialising a pair of boost::asio::deadline_timer members,
+ the constructor initialises the <code class="computeroutput"><span class="identifier">strand_</span></code>
+ member, an object of type boost::asio::strand.
+ </p>
+<p>
+ An boost::asio::strand guarantees that, for those handlers that are dispatched
+ through it, an executing handler will be allowed to complete before the next
+ one is started. This is guaranteed irrespective of the number of threads
+ that are calling <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>.
+ Of course, the handlers may still execute concurrently with other handlers
+ that were not dispatched through an boost::asio::strand, or were dispatched
+ through a different boost::asio::strand object.
+ </p>
+<pre class="programlisting"> <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">strand_</span><span class="special">(</span><span class="identifier">io</span><span class="special">),</span>
+ <span class="identifier">timer1_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
+ <span class="identifier">timer2_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
+ <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ When initiating the asynchronous operations, each callback handler is "wrapped"
+ using the boost::asio::strand object. The <a class="link" href="../reference/io_service__strand/wrap.html" title="io_service::strand::wrap">strand::wrap()</a>
+ function returns a new handler that automatically dispatches its contained
+ handler through the boost::asio::strand object. By wrapping the handlers
+ using the same boost::asio::strand, we are ensuring that they cannot execute
+ concurrently.
+ </p>
+<pre class="programlisting"> <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="special">}</span>
+
+ <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ In a multithreaded program, the handlers for asynchronous operations should
+ be synchronised if they access shared resources. In this tutorial, the shared
+ resources used by the handlers (<code class="computeroutput"><span class="identifier">print1</span></code>
+ and <code class="computeroutput"><span class="identifier">print2</span></code>) are <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span></code>
+ and the <code class="computeroutput"><span class="identifier">count_</span></code> data member.
+ </p>
+<pre class="programlisting"> <span class="keyword">void</span> <span class="identifier">print1</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 1: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
+
+ <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">print2</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 2: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
+
+ <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer1_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer2_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">main</span></code> function now causes
+ <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a>
+ to be called from two threads: the main thread and one additional thread.
+ This is accomplished using an boost::thread object.
+ </p>
+<p>
+ Just as it would with a call from a single thread, concurrent calls to <a class="link" href="../reference/io_service/run.html" title="io_service::run">io_service::run()</a> will
+ continue to execute while there is "work" left to do. The background
+ thread will not exit until all asynchronous operations have completed.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+ <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">io</span><span class="special">));</span>
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="identifier">t</span><span class="special">.</span><span class="identifier">join</span><span class="special">();</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See the <a class="link" href="tuttimer5/src.html" title="Source listing for Timer.5">full source listing</a>
+ </p>
+<p>
+ Return to the <a class="link" href="../tutorial.html" title="Tutorial">tutorial index</a>
+ </p>
+<p>
+ Previous: <a class="link" href="tuttimer4.html" title="Timer.4 - Using a member function as a handler">Timer.4 - Using a
+ member function as a handler</a>
+ </p>
+</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 &#169; 2003-2017 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="tuttimer4/src.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuttimer5/src.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/tutorial/tuttimer5/src.html b/doc/html/boost_asio/tutorial/tuttimer5/src.html
new file mode 100644
index 0000000000..076b2e105b
--- /dev/null
+++ b/doc/html/boost_asio/tutorial/tuttimer5/src.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Source listing for Timer.5</title>
+<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">
+<link rel="prev" href="../tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">
+<link rel="next" href="../tutdaytime1.html" title="Daytime.1 - A synchronous TCP daytime client">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tuttimer5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer5.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_asio.tutorial.tuttimer5.src"></a><a class="link" href="src.html" title="Source listing for Timer.5">Source listing for
+ Timer.5</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="comment">//</span>
+<span class="comment">// timer.cpp</span>
+<span class="comment">// ~~~~~~~~~</span>
+<span class="comment">//</span>
+<span class="comment">// Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)</span>
+<span class="comment">//</span>
+<span class="comment">// Distributed under the Boost Software License, Version 1.0. (See accompanying</span>
+<span class="comment">// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)</span>
+<span class="comment">//</span>
+
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">/</span><span class="identifier">thread</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="special">#</span><span class="identifier">include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">date_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">/</span><span class="identifier">posix_time</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">class</span> <span class="identifier">printer</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">printer</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">&amp;</span> <span class="identifier">io</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">strand_</span><span class="special">(</span><span class="identifier">io</span><span class="special">),</span>
+ <span class="identifier">timer1_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
+ <span class="identifier">timer2_</span><span class="special">(</span><span class="identifier">io</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">)),</span>
+ <span class="identifier">count_</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="special">}</span>
+
+ <span class="special">~</span><span class="identifier">printer</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Final count is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">print1</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 1: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
+
+ <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">timer1_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print1</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">print2</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">count_</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Timer 2: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">count_</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">++</span><span class="identifier">count_</span><span class="special">;</span>
+
+ <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">(</span><span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">expires_at</span><span class="special">()</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">posix_time</span><span class="special">::</span><span class="identifier">seconds</span><span class="special">(</span><span class="number">1</span><span class="special">));</span>
+ <span class="identifier">timer2_</span><span class="special">.</span><span class="identifier">async_wait</span><span class="special">(</span><span class="identifier">strand_</span><span class="special">.</span><span class="identifier">wrap</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">printer</span><span class="special">::</span><span class="identifier">print2</span><span class="special">,</span> <span class="keyword">this</span><span class="special">)));</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">strand</span> <span class="identifier">strand_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer1_</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span> <span class="identifier">timer2_</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">count_</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span> <span class="identifier">io</span><span class="special">;</span>
+ <span class="identifier">printer</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">io</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">thread</span> <span class="identifier">t</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">io</span><span class="special">));</span>
+ <span class="identifier">io</span><span class="special">.</span><span class="identifier">run</span><span class="special">();</span>
+ <span class="identifier">t</span><span class="special">.</span><span class="identifier">join</span><span class="special">();</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Return to <a class="link" href="../tuttimer5.html" title="Timer.5 - Synchronising handlers in multithreaded programs">Timer.5 - Synchronising
+ handlers in multithreaded programs</a>
+ </p>
+</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 &#169; 2003-2017 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="../tuttimer5.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tuttimer5.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../boost_asio.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../tutdaytime1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/doc/html/boost_asio/using.html b/doc/html/boost_asio/using.html
index 04f2402ff0..efdbe12f14 100644
--- a/doc/html/boost_asio/using.html
+++ b/doc/html/boost_asio/using.html
@@ -1,13 +1,12 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Using Boost.Asio</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
-<link rel="prev" href="../boost_asio.html" title="Chapter&#160;7.&#160;Boost.Asio">
+<link rel="home" href="../boost_asio.html" title="Boost.Asio">
+<link rel="up" href="../boost_asio.html" title="Boost.Asio">
+<link rel="prev" href="overview/implementation.html" title="Platform-Specific Implementation Notes">
<link rel="next" href="tutorial.html" title="Tutorial">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../boost_asio.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="overview/implementation.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -93,8 +92,8 @@
and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span></code> classes.
</li>
<li class="listitem">
- Boost.Regex (optional) if you use any of the <a class="link" href="reference.html#boost_asio.reference.read_until" title="read_until"><code class="computeroutput"><span class="identifier">read_until</span><span class="special">()</span></code></a>
- or <a class="link" href="reference.html#boost_asio.reference.async_read_until" title="async_read_until"><code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code></a>
+ Boost.Regex (optional) if you use any of the <a class="link" href="reference/read_until.html" title="read_until"><code class="computeroutput"><span class="identifier">read_until</span><span class="special">()</span></code></a>
+ or <a class="link" href="reference/async_read_until.html" title="async_read_until"><code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code></a>
overloads that take a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">regex</span></code>
parameter.
</li>
@@ -491,8 +490,7 @@
</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 &#169; 2003-2016 Christopher
- M. Kohlhoff<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003-2017 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>
@@ -500,7 +498,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../boost_asio.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="overview/implementation.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>